Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions src/mod_calcost.f90
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,12 @@ subroutine calcost_c14(nx,isoc14,bgcopt,xopt,micparam,miccpool,micinput,zse,totc
! xcost(np) = xcost(np) + ((xmodp(np) - xobsp(np))/xobsp(np))**2 +((xmodm(np) - xobsm(np))/xobsm(np))**2
xcost(np) = xcost(np) + (xfracpmod(np)-xfracpobs(np))** 2 + (xfracmmod(np) - xfracmobs(np))**2
endif
write(91,901) micparam%siteid(np),micparam%pft(np),micparam%top(np),micparam%bot(np),xobs(np),xmod(np),xobsp(np),xmodp(np),xobsm(np),xmodm(np)
write(91,901) micparam%siteid(np),micparam%pft(np),micparam%top(np),micparam%bot(np), &
xobs(np),xmod(np),xobsp(np),xmodp(np),xobsm(np),xmodm(np)

do ns = 1,ms
write(92,*) micparam%siteid(np),micparam%pft(np), ns, (1000.0*miccpool%cpooleq(np,ns,ip)/micinput%bulkd(np,ns),ip=1,mcpool)
write(92,*) micparam%siteid(np),micparam%pft(np), ns, &
(1000.0*miccpool%cpooleq(np,ns,ip)/micinput%bulkd(np,ns),ip=1,mcpool)
enddo

else
Expand All @@ -104,7 +106,8 @@ subroutine calcost_c14(nx,isoc14,bgcopt,xopt,micparam,miccpool,micinput,zse,totc
micparam%c14soilobsm(np),xmodm(np)/miccpool%c12pooleqm(np)

do ns = 1,ms
write(94,*) micparam%siteid(np),micparam%pft(np), ns, (1000.0*miccpool%cpooleq(np,ns,ip)/micinput%bulkd(np,ns),ip=1,mcpool)
write(94,*) micparam%siteid(np),micparam%pft(np), ns, &
(1000.0*miccpool%cpooleq(np,ns,ip)/micinput%bulkd(np,ns),ip=1,mcpool)
enddo
endif

Expand Down Expand Up @@ -284,8 +287,8 @@ subroutine calcost_hwsd2(nx,bgcopt,xopt,micpxdef,micparam,miccpool,micinput,micg

do ns = 1,msobs
if(ns==1) then
xobs7(np,ns) = (micparam%csoilobs(np,2) * zse(2)+ micparam%csoilobs(np,3) * zse(3) + micparam%csoilobs(np,4) * zse(4)) &
/(zse(2)+zse(3)+zse(4))
xobs7(np,ns) = (micparam%csoilobs(np,2) * zse(2)+ micparam%csoilobs(np,3) * zse(3) &
+ micparam%csoilobs(np,4) * zse(4)) /(zse(2)+zse(3)+zse(4))
xmod7(np,ns) = (xmod(np,2) * zse(2) +xmod(np,3) * zse(3) + xmod(np,4) * zse(4)) &
/(zse(2)+zse(3)+zse(4))
else
Expand Down
9 changes: 6 additions & 3 deletions src/mod_constants.f90
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ module mic_constant
! CABLE PFT-dependent parameter values
real(r_2), dimension(17) :: cnleaf1,cnroot1,cnwood1,ligleaf1,ligroot1,ligwood1
data cnLeaf1/99.60,46.20,118.60,62.80,75.20,69.60,88.00,98.40,43.20,50.00,99.60,46.20,62.80,100.00,80.00,80.00,80.00/
data cnwood1/250.63,142.00,256.63,164.42,149.58,157.89,157.89,155.05,157.89,131.58,250.63,142.00,164.42,157.89,157.89,142.11,157.89/
data cnwood1/250.63,142.00,256.63,164.42,149.58,157.89,157.89,155.05,157.89,131.58, &
250.63,142.00,164.42,157.89,157.89,142.11,157.89/
data cnroot1/81.89,68.00,83.33,70.22,74.56,71.67,69.67,76.67,67.44,78.89,81.89,68.00,70.22,78.89,78.89,78.89,78.89/
data ligleaf1/0.25,0.20,0.20,0.20,0.20,0.10,0.10,0.10,0.10,0.10,0.25,0.20,0.20,0.15,0.15,0.25,0.10/
data ligwood1/0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40/
Expand All @@ -39,8 +40,10 @@ module mic_constant
! ORCHIDEE PFT-dependent parameter values
real(r_2), dimension(18) :: cnleaf2,cnroot2,cnwood2,ligleaf2,ligroot2,ligwood2
data cnleaf2/47.12,51.42,94.78,49.99,54.55,94.78,54.55,94.78,75.29,101.21,75.29,93.80,75.29,101.21,75.29,101.21,75.29,101.21/
data cnwood2/115.74,113.64,208.96,125.00,145.45,208.96,145.45,36.36,16.00,22.00,16.00,16.00,16.00,22.00,16.00,22.00,16.00,22.00/
data cnroot2/81.43,82.53,151.87,87.49,100.00,151.87,100.00,65.57,45.64,61.60,45.64,54.90,45.64,61.60,45.64,61.60,45.64,61.60/
data cnwood2/115.74,113.64,208.96,125.00,145.45,208.96,145.45,36.36,16.00,22.00,16.00, &
16.00,16.00,22.00,16.00,22.00,16.00,22.00/
data cnroot2/81.43,82.53,151.87,87.49,100.00,151.87,100.00,65.57,45.64,61.60,45.64, &
54.90,45.64,61.60,45.64,61.60,45.64,61.60/
data ligleaf2/0.20,0.20,0.25,0.20,0.20,0.25,0.20,0.25,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10/
data ligwood2/0.25,0.25,0.30,0.25,0.25,0.30,0.25,0.30,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10/
data ligroot2/0.20,0.20,0.25,0.20,0.20,0.25,0.20,0.25,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10,0.10/
Expand Down
3 changes: 2 additions & 1 deletion src/mod_functions.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ module function_module
use mic_constant
use mic_variable
use mesc_inout_module, only: getdata_c14, getdata_frc_dim, getdata_frc, getdata_hwsd_dim, getdata_hwsd, screenout
use mesc_interface_module, only: vmic_param_xscale, vmic_param_time, vmic_param_time_single, vmicsoil_c14, vmicsoil_frc1_cpu, vmicsoil_hwsd_cpu, vmicsoil_hwsd_gpu
use mesc_interface_module, only: vmic_param_xscale, vmic_param_time, vmic_param_time_single, vmicsoil_c14, &
vmicsoil_frc1_cpu, vmicsoil_hwsd_cpu, vmicsoil_hwsd_gpu
use calcost_module, only: calcost_c14, calcost_frc1, calcost_hwsd2
implicit none

Expand Down
9 changes: 6 additions & 3 deletions src/mod_inout.f90
Original file line number Diff line number Diff line change
Expand Up @@ -886,9 +886,12 @@ subroutine getdata_frc(cfraction,filecluster,jglobal,bgcopt,micinput,micparam,mi
msite=msite + 1
endif
if(jglobal==1) then
write(100,901) micparam%siteid(np),micparam%dataid(np),micparam%pft(np),micparam%bgctype(nP),micparam%top(np),micparam%bot(np) , &
fnpp(np),fanpp(np),fbnpp(np),fcna(np),fcnb(np),flignin(np),ftemp(np),fmoist(np),fclay(np),fsilt(np),fph(np), &
fporosity(np),fmatpot(np),fbulkd(np),fald(np),falo(np),ffed(np),ffeo(np),fsoc(np),fpoc(np),fmaoc(np)
write(100,901) micparam%siteid(np),micparam%dataid(np),micparam%pft(np), &
micparam%bgctype(nP),micparam%top(np),micparam%bot(np), &
fnpp(np),fanpp(np),fbnpp(np),fcna(np),fcnb(np),flignin(np), &
ftemp(np),fmoist(np),fclay(np),fsilt(np),fph(np), &
fporosity(np),fmatpot(np),fbulkd(np),fald(np),falo(np), &
ffed(np),ffeo(np),fsoc(np),fpoc(np),fmaoc(np)
endif

enddo ! "np=1,mp"
Expand Down
9 changes: 6 additions & 3 deletions src/mod_interface.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ module mesc_interface_module
use mic_constant
use mic_variable
use mesc_inout_module, only: vmic_restart_read, vmic_restart_write, vmic_output_write
use mesc_model_module, only: rk4modelx, tridag, bioturb, bgc_fractions, mget, turnovert, desorpt, vmaxt, kmt, bgc_fractions_single, mget_single, turnovert_single, desorpt_single, vmaxt_single, kmt_single
use mesc_model_module, only: rk4modelx, tridag, bioturb, bgc_fractions, mget, turnovert, desorpt, vmaxt, kmt, &
bgc_fractions_single, mget_single, turnovert_single, desorpt_single, vmaxt_single, kmt_single
implicit none

contains
Expand Down Expand Up @@ -533,7 +534,8 @@ subroutine vmicsoil_c14(jrestart,frestart_in,frestart_out,foutput,kinetics,isoc1
enddo ! "ip=1,mcpool"

! computing daily leaching loss from bottom-layer LWMC
cleachloss = micparam%tvac(np,ms) * sqrt(micinput%wavg(np,ms)/micinput%porosity(np,ms)) * miccpool%cpool(np,ms,7) * 24.0
cleachloss = micparam%tvac(np,ms) * sqrt(micinput%wavg(np,ms)/micinput%porosity(np,ms)) &
* miccpool%cpool(np,ms,7) * 24.0
cleachloss = max(0.0,min(cleachloss,miccpool%cpool(np,ms,7)))
micoutput%fluxcleach(np) = micoutput%fluxcleach(np) + cleachloss
miccpool%cpool(np,ms,7) = miccpool%cpool(np,ms,7) - cleachloss
Expand Down Expand Up @@ -1089,7 +1091,8 @@ subroutine vmicsoil_hwsd_gpu(jrestart,frestart_in,frestart_out,foutput,kinetics,
enddo ! "ip=1,mcpool"

! computing daily leaching loss from bottom-layer LWMC
cleachloss = micparam%tvac(np,ms) * sqrt(micinput%wavg(np,ms)/micinput%porosity(np,ms)) * miccpool%cpool(np,ms,7) * 24.0
cleachloss = micparam%tvac(np,ms) * sqrt(micinput%wavg(np,ms)/micinput%porosity(np,ms)) &
* miccpool%cpool(np,ms,7) * 24.0
cleachloss = max(0.0,min(cleachloss,miccpool%cpool(np,ms,7)))
micoutput%fluxcleach(np) = micoutput%fluxcleach(np) + cleachloss
miccpool%cpool(np,ms,7) = miccpool%cpool(np,ms,7) - cleachloss
Expand Down
9 changes: 6 additions & 3 deletions src/mod_model_core.f90
Original file line number Diff line number Diff line change
Expand Up @@ -441,8 +441,10 @@ subroutine turnovert(kinetics,micpxdef,micpdef,micparam,micinput)
! endif

do ns=1,ms
micparam%tvmicR(np,ns) = micpxdef%xtvmic(nopt) * micpdef%tvmicR * tvref(np) * exp(0.3 * micparam%fmetave(np,ns)) * delt
micparam%tvmicK(np,ns) = micpxdef%xtvmic(nopt) * micpdef%tvmicK * tvref(np) * exp(0.1 * micparam%fmetave(np,ns)) * delt
micparam%tvmicR(np,ns) = micpxdef%xtvmic(nopt) * micpdef%tvmicR * tvref(np) &
* exp(0.3 * micparam%fmetave(np,ns)) * delt
micparam%tvmicK(np,ns) = micpxdef%xtvmic(nopt) * micpdef%tvmicK * tvref(np) &
* exp(0.1 * micparam%fmetave(np,ns)) * delt
micparam%betamicR(np,ns) = micpdef%betamic * micpxdef%xbeta(nopt)
micparam%betamicK(np,ns) = micpdef%betamic * micpxdef%xbeta(nopt)
enddo
Expand Down Expand Up @@ -578,7 +580,8 @@ subroutine bgc_fractions(micpxdef,micpdef,micparam,micinput)
+drootx(np,ns)*(1.0-fmetroot(np))/micparam%xcnroot(np) &
+dwoodx(np,ns)*(1.0-fmetwood(np))/micparam%xcnwood(np))

micparam%fmetave(np,ns) = (dleafx(np,ns)*fmetleaf(np) + drootx(np,ns)*fmetroot(np) + dwoodx(np,ns) * fmetwood(np)) &
micparam%fmetave(np,ns) = (dleafx(np,ns)*fmetleaf(np) + drootx(np,ns)*fmetroot(np) &
+ dwoodx(np,ns) * fmetwood(np)) &
/(dleafx(np,ns) + drootx(np,ns) + dwoodx(np,ns) + 1.0e-10)

! else
Expand Down
2 changes: 1 addition & 1 deletion test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ copied into this directory.
You can run it directly here:

```bash
./rum_main.sh
./run_main.sh
```