@@ -685,7 +685,6 @@ module generic_WOMBATmid
685
685
p_wcaco3, &
686
686
p_wafe, &
687
687
p_wbafe
688
-
689
688
690
689
real , dimension (:,:), pointer :: &
691
690
p_no3_stf, &
@@ -3326,7 +3325,6 @@ subroutine user_add_tracers(tracer_list)
3326
3325
3327
3326
! Silicic acid (H4SiO4)
3328
3327
!- ----------------------------------------------------------------------
3329
- ! dts: There is currently no sea-ice coupling of Ammonium
3330
3328
call g_tracer_add(tracer_list, package_name, &
3331
3329
name = ' sil' , &
3332
3330
longname = ' Silicic acid' , &
@@ -3543,13 +3541,11 @@ subroutine user_add_tracers(tracer_list)
3543
3541
units = ' mol/kg' , &
3544
3542
prog = .true. , &
3545
3543
flux_gas = .true. , &
3546
- flux_bottom = .false. , &
3547
3544
flux_gas_name = ' n2o_flux' , &
3548
3545
flux_gas_type = ' air_sea_gas_flux_generic' , &
3549
3546
flux_gas_molwt = WTMCO2, & ! pjb: N2O molar mass is 44.01 g/mol, same as CO2
3550
3547
flux_gas_param = (/ as_coeff_wombatmid, 9.7561e-06 / ), & ! dts: param(2) converts Pa -> atm
3551
- flux_gas_restart_file = ' ocean_wombatmid_airsea_flux.res.nc' , &
3552
- flux_virtual = .false. )
3548
+ flux_gas_restart_file = ' ocean_wombatmid_airsea_flux.res.nc' )
3553
3549
3554
3550
! CaCO3
3555
3551
!- ----------------------------------------------------------------------
@@ -3814,7 +3810,6 @@ subroutine generic_WOMBATmid_update_from_bottom(tracer_list, dt, tau, model_time
3814
3810
call g_tracer_get_values(tracer_list, ' caco3' , ' btm_reservoir' , wombat% caco3_btm, isd, jsd)
3815
3811
call g_tracer_get_values(tracer_list, ' afe' , ' btm_reservoir' , wombat% afe_btm, isd, jsd)
3816
3812
call g_tracer_get_values(tracer_list, ' bafe' , ' btm_reservoir' , wombat% bafe_btm, isd, jsd)
3817
-
3818
3813
3819
3814
! Calculate burial of deposited detritus (Dunne et al., 2007)
3820
3815
wombat% fbury(:,:) = 0.0
@@ -3859,7 +3854,6 @@ subroutine generic_WOMBATmid_update_from_bottom(tracer_list, dt, tau, model_time
3859
3854
call g_tracer_set_values(tracer_list, ' afe' , ' btm_reservoir' , 0.0 )
3860
3855
call g_tracer_set_values(tracer_list, ' bafe' , ' btm_reservoir' , 0.0 )
3861
3856
3862
-
3863
3857
! Send diagnostics
3864
3858
!- ----------------------------------------------------------------------
3865
3859
if (wombat% id_det_sed_depst .gt. 0 ) &
@@ -3974,11 +3968,11 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
3974
3968
real :: rdtts ! 1 / dt
3975
3969
real , dimension (nbands) :: sw_pen
3976
3970
real :: swpar
3977
- real :: u_npz, g_npz, m_npz, Xzoo, Xmes
3971
+ real :: u_npz, g_npz, m_npz, Xzoo, I_Xzoo, Xmes, I_Xmes
3978
3972
real :: biono3, bion2o, bionh4, biooxy, biofer, biosil, biodoc, biodon, biocaco3
3979
3973
real :: biophy, biodia, biozoo, biomes, biodet, biobdet, biobac1, biobac2, bioaoa
3980
3974
real :: biophyfe, biodiafe, biodiasi, biozoofe, biomesfe, zooprey, mesprey
3981
- real :: denom , wzbac1, wzbac2, wzaoa, wzphy, wzdia, wzdet, wzbdet, wzzoo, wzmes, wzsum
3975
+ real :: I_denom , wzbac1, wzbac2, wzaoa, wzphy, wzdia, wzdet, wzbdet, wzzoo, wzmes, I_wzsum
3982
3976
real :: fbc
3983
3977
real :: no3_bgc_change, caco3_bgc_change
3984
3978
real :: epsi = 1.0e-30
@@ -4721,7 +4715,6 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
4721
4715
dia_Si2C = max (epsi, wombat% f_diasi(i,j,k))/ max (epsi, wombat% f_dia(i,j,k))
4722
4716
bdet_Si2C= max (epsi, wombat% f_bdetsi(i,j,k))/ max (epsi, wombat% f_bdet(i,j,k))
4723
4717
4724
-
4725
4718
4726
4719
!- ----------------------------------------------------------------------!
4727
4720
!- ----------------------------------------------------------------------!
@@ -4894,8 +4887,8 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
4894
4887
* biofer / (biofer + wombat% dia_kfe(i,j,k)) &
4895
4888
* wombat% dia_feupreg(i,j,k) &
4896
4889
* wombat% dia_fedoreg(i,j,k))) * mmol_m3_to_mol_kg
4897
-
4898
-
4890
+
4891
+
4899
4892
!- ----------------------------------------------------------------------!
4900
4893
!- ----------------------------------------------------------------------!
4901
4894
!- ----------------------------------------------------------------------!
@@ -5081,22 +5074,22 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
5081
5074
! !!~~~ Zooplankton ~~~!!!
5082
5075
! Grazing function ! [1/s]
5083
5076
! normalize the prey preference kernal to reflect dietary fractions (Gentleman et al., (2003) DSRII)
5084
- denom = (wombat% zprefbac1 + wombat% zprefbac2 + wombat% zprefaoa + wombat% zprefphy + wombat% zprefdia + wombat% zprefdet)
5085
- wombat% zooprefbac1(i,j,k) = wombat% zprefbac1 / denom
5086
- wombat% zooprefbac2(i,j,k) = wombat% zprefbac2 / denom
5087
- wombat% zooprefaoa(i,j,k) = wombat% zprefaoa / denom
5088
- wombat% zooprefphy(i,j,k) = wombat% zprefphy / denom
5089
- wombat% zooprefdia(i,j,k) = wombat% zprefdia / denom
5090
- wombat% zooprefdet(i,j,k) = wombat% zprefdet / denom
5077
+ I_denom = 1.0 / (wombat% zprefbac1 + wombat% zprefbac2 + wombat% zprefaoa + wombat% zprefphy + wombat% zprefdia + wombat% zprefdet)
5078
+ wombat% zooprefbac1(i,j,k) = wombat% zprefbac1 * I_denom
5079
+ wombat% zooprefbac2(i,j,k) = wombat% zprefbac2 * I_denom
5080
+ wombat% zooprefaoa(i,j,k) = wombat% zprefaoa * I_denom
5081
+ wombat% zooprefphy(i,j,k) = wombat% zprefphy * I_denom
5082
+ wombat% zooprefdia(i,j,k) = wombat% zprefdia * I_denom
5083
+ wombat% zooprefdet(i,j,k) = wombat% zprefdet * I_denom
5091
5084
5092
5085
! Gentleman et al. (2003) DSRII
5093
5086
! - add a switching component designed to weight the diet towards abundant prey
5094
5087
! - see their Eq. 19
5095
5088
! Emulates empirical basis of selective feeding on more abundant prey (Kiorboe et al., 2017; L&O)
5096
5089
! ... if denominator is zero, then set all preferences to 1/3 (this is a failsafe, but it should not happen)
5097
- denom = wombat% zooprefbac1(i,j,k) + wombat% zooprefbac2(i,j,k) + wombat% zooprefaoa(i,j,k) &
5090
+ zval = wombat% zooprefbac1(i,j,k) + wombat% zooprefbac2(i,j,k) + wombat% zooprefaoa(i,j,k) &
5098
5091
+ wombat% zooprefphy(i,j,k) + wombat% zooprefdia(i,j,k) + wombat% zooprefdet(i,j,k)
5099
- if (denom .lt. epsi) then
5092
+ if (zval .lt. epsi) then
5100
5093
wombat% zooprefbac1(i,j,k) = 1.0 / 6.0 ; wombat% zooprefbac2(i,j,k) = 1.0 / 6.0 ; wombat% zooprefaoa(i,j,k) = 1.0 / 6.0
5101
5094
wombat% zooprefphy(i,j,k) = 1.0 / 6.0 ; wombat% zooprefdia(i,j,k) = 1.0 / 6.0 ; wombat% zooprefdet(i,j,k) = 1.0 / 6.0
5102
5095
else
@@ -5106,13 +5099,13 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
5106
5099
wzphy = (wombat% zooprefphy(i,j,k) * biophy)** wombat% zoopreyswitch
5107
5100
wzdia = (wombat% zooprefdia(i,j,k) * biodia)** wombat% zoopreyswitch
5108
5101
wzdet = (wombat% zooprefdet(i,j,k) * biodet)** wombat% zoopreyswitch
5109
- wzsum = wzbac1 + wzbac2 + wzaoa + wzphy + wzdia + wzdet + epsi
5110
- wombat% zooprefbac1(i,j,k) = wzbac1 / wzsum
5111
- wombat% zooprefbac2(i,j,k) = wzbac2 / wzsum
5112
- wombat% zooprefaoa(i,j,k) = wzaoa / wzsum
5113
- wombat% zooprefphy(i,j,k) = wzphy / wzsum
5114
- wombat% zooprefdia(i,j,k) = wzdia / wzsum
5115
- wombat% zooprefdet(i,j,k) = wzdet / wzsum
5102
+ I_wzsum = 1.0 / ( wzbac1 + wzbac2 + wzaoa + wzphy + wzdia + wzdet + epsi)
5103
+ wombat% zooprefbac1(i,j,k) = wzbac1 * I_wzsum
5104
+ wombat% zooprefbac2(i,j,k) = wzbac2 * I_wzsum
5105
+ wombat% zooprefaoa(i,j,k) = wzaoa * I_wzsum
5106
+ wombat% zooprefphy(i,j,k) = wzphy * I_wzsum
5107
+ wombat% zooprefdia(i,j,k) = wzdia * I_wzsum
5108
+ wombat% zooprefdet(i,j,k) = wzdet * I_wzsum
5116
5109
endif
5117
5110
! Compute sum of prey-specific Type-III terms to obtain grazing rate [1/s]
5118
5111
! - this avoids "perfect substitution" of prey types and aligns with reccommendations of Gentleman et al. (2003)
@@ -5135,24 +5128,24 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
5135
5128
! !!~~~ Mesozooplankton ~~~!!!
5136
5129
! Grazing function ! [1/s]
5137
5130
! normalize the prey preference kernal to reflect dietary fractions (Gentleman et al., (2003) DSRII)
5138
- denom = ( wombat% mprefbac1 + wombat% mprefbac2 + wombat% mprefaoa + wombat% mprefphy &
5131
+ I_denom = 1.0 / ( wombat% mprefbac1 + wombat% mprefbac2 + wombat% mprefaoa + wombat% mprefphy &
5139
5132
+ wombat% mprefdia + wombat% mprefdet + wombat% mprefzoo )
5140
- wombat% mesprefbac1(i,j,k) = wombat% mprefbac1 / denom
5141
- wombat% mesprefbac2(i,j,k) = wombat% mprefbac2 / denom
5142
- wombat% mesprefaoa(i,j,k) = wombat% mprefaoa / denom
5143
- wombat% mesprefphy(i,j,k) = wombat% mprefphy / denom
5144
- wombat% mesprefdia(i,j,k) = wombat% mprefdia / denom
5145
- wombat% mesprefdet(i,j,k) = wombat% mprefdet / denom
5146
- wombat% mesprefbdet(i,j,k) = wombat% mprefbdet / denom
5147
- wombat% mesprefzoo(i,j,k) = wombat% mprefzoo / denom
5148
- denom = wombat% mesprefbac1(i,j,k) + wombat% mesprefbac2(i,j,k) + wombat% mesprefaoa(i,j,k) + wombat% mesprefphy(i,j,k) &
5133
+ wombat% mesprefbac1(i,j,k) = wombat% mprefbac1 * I_denom
5134
+ wombat% mesprefbac2(i,j,k) = wombat% mprefbac2 * I_denom
5135
+ wombat% mesprefaoa(i,j,k) = wombat% mprefaoa * I_denom
5136
+ wombat% mesprefphy(i,j,k) = wombat% mprefphy * I_denom
5137
+ wombat% mesprefdia(i,j,k) = wombat% mprefdia * I_denom
5138
+ wombat% mesprefdet(i,j,k) = wombat% mprefdet * I_denom
5139
+ wombat% mesprefbdet(i,j,k) = wombat% mprefbdet * I_denom
5140
+ wombat% mesprefzoo(i,j,k) = wombat% mprefzoo * I_denom
5141
+ zval = wombat% mesprefbac1(i,j,k) + wombat% mesprefbac2(i,j,k) + wombat% mesprefaoa(i,j,k) + wombat% mesprefphy(i,j,k) &
5149
5142
+ wombat% mesprefdia(i,j,k) + wombat% mesprefdet(i,j,k) + wombat% mesprefbdet(i,j,k) + wombat% mesprefzoo(i,j,k)
5150
5143
! Gentleman et al. (2003) DSRII
5151
5144
! - add a switching component designed to weight the diet towards abundant prey
5152
5145
! - see their Eq. 19
5153
5146
! Emulates empirical basis of selective feeding on more abundant prey (Kiorboe et al., 2017; L&O)
5154
5147
! ... if denominator is zero, then set all preferences to 1/3 (this is a failsafe, but it should not happen)
5155
- if (denom .lt. 1e-20 ) then
5148
+ if (zval .lt. 1e-20 ) then
5156
5149
wombat% mesprefbac1(i,j,k) = 1.0 / 8.0 ; wombat% mesprefbac2(i,j,k) = 1.0 / 8.0 ; wombat% mesprefaoa(i,j,k) = 1.0 / 8.0
5157
5150
wombat% mesprefphy(i,j,k) = 1.0 / 8.0 ; wombat% mesprefdia(i,j,k) = 1.0 / 8.0 ; wombat% mesprefdet(i,j,k) = 1.0 / 8.0
5158
5151
wombat% mesprefbdet(i,j,k) = 1.0 / 8.0 ; wombat% mesprefzoo(i,j,k) = 1.0 / 8.0
@@ -5165,15 +5158,15 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
5165
5158
wzdet = (wombat% mesprefdet(i,j,k) * biodet)** wombat% mespreyswitch
5166
5159
wzbdet= (wombat% mesprefbdet(i,j,k) * biobdet)** wombat% mespreyswitch
5167
5160
wzzoo = (wombat% mesprefzoo(i,j,k) * biozoo)** wombat% mespreyswitch
5168
- wzsum = wzbac1 + wzbac2 + wzaoa + wzphy + wzdia + wzdet + wzbdet + wzzoo + epsi
5169
- wombat% mesprefbac1(i,j,k) = wzbac1 / wzsum
5170
- wombat% mesprefbac2(i,j,k) = wzbac2 / wzsum
5171
- wombat% mesprefaoa(i,j,k) = wzaoa / wzsum
5172
- wombat% mesprefphy(i,j,k) = wzphy / wzsum
5173
- wombat% mesprefdia(i,j,k) = wzdia / wzsum
5174
- wombat% mesprefdet(i,j,k) = wzdet / wzsum
5175
- wombat% mesprefbdet(i,j,k) = wzbdet / wzsum
5176
- wombat% mesprefzoo(i,j,k) = wzzoo / wzsum
5161
+ I_wzsum = 1.0 / ( wzbac1 + wzbac2 + wzaoa + wzphy + wzdia + wzdet + wzbdet + wzzoo + epsi)
5162
+ wombat% mesprefbac1(i,j,k) = wzbac1 * I_wzsum
5163
+ wombat% mesprefbac2(i,j,k) = wzbac2 * I_wzsum
5164
+ wombat% mesprefaoa(i,j,k) = wzaoa * I_wzsum
5165
+ wombat% mesprefphy(i,j,k) = wzphy * I_wzsum
5166
+ wombat% mesprefdia(i,j,k) = wzdia * I_wzsum
5167
+ wombat% mesprefdet(i,j,k) = wzdet * I_wzsum
5168
+ wombat% mesprefbdet(i,j,k) = wzbdet * I_wzsum
5169
+ wombat% mesprefzoo(i,j,k) = wzzoo * I_wzsum
5177
5170
endif
5178
5171
! Compute sum of prey-specific Type-III terms to obtain grazing rate [1/s]
5179
5172
! - this avoids "perfect substitution" of prey types and aligns with reccommendations of Gentleman et al. (2003)
@@ -5288,7 +5281,6 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
5288
5281
! Take the maximum growth rate as the realised growth rate
5289
5282
wombat% bac1_mu(i,j,k) = max (bac_muaer, bac_muana)
5290
5283
5291
-
5292
5284
! !!~~~ Bacterial type #2 ~~~!!!
5293
5285
! Uptake of DOC (i.e., DOC-limited growth)
5294
5286
wombat% bac2_kdoc(i,j,k) = wombat% bac2_kdoc_min + 2.0 * (wombat% bac2_kdoc_max - wombat% bac2_kdoc_min) &
@@ -5306,7 +5298,6 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
5306
5298
! Take the maximum growth rate as the realised growth rate
5307
5299
wombat% bac2_mu(i,j,k) = max (bac_muaer, bac_muana)
5308
5300
5309
-
5310
5301
! Determine if bacteria are limited by N or Fe
5311
5302
if (wombat% bac1_mu(i,j,k)* wombat% f_bac1(i,j,k).gt. 0.0 ) then
5312
5303
! Initial estimate of the C biomass growth, DOC and DON assimilation rate by bacteria
@@ -5532,12 +5523,13 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
5532
5523
endif
5533
5524
! Grazing by microzooplankton
5534
5525
if (Xzoo.gt. epsi) then
5535
- wombat% zoograzbac1(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsbac1* (wombat% zooprefbac1(i,j,k)* biobac1)** 2 / Xzoo ! [molC/kg/s]
5536
- wombat% zoograzbac2(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsbac2* (wombat% zooprefbac2(i,j,k)* biobac2)** 2 / Xzoo ! [molC/kg/s]
5537
- wombat% zoograzaoa(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsaoa* (wombat% zooprefaoa(i,j,k)* bioaoa)** 2 / Xzoo ! [molC/kg/s]
5538
- wombat% zoograzphy(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsphy* (wombat% zooprefphy(i,j,k)* biophy)** 2 / Xzoo ! [molC/kg/s]
5539
- wombat% zoograzdia(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsdia* (wombat% zooprefdia(i,j,k)* biodia)** 2 / Xzoo ! [molC/kg/s]
5540
- wombat% zoograzdet(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsdet* (wombat% zooprefdet(i,j,k)* biodet)** 2 / Xzoo ! [molC/kg/s]
5526
+ I_Xzoo = 1.0 / Xzoo
5527
+ wombat% zoograzbac1(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsbac1* (wombat% zooprefbac1(i,j,k)* biobac1)** 2 * I_Xzoo ! [molC/kg/s]
5528
+ wombat% zoograzbac2(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsbac2* (wombat% zooprefbac2(i,j,k)* biobac2)** 2 * I_Xzoo ! [molC/kg/s]
5529
+ wombat% zoograzaoa(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsaoa* (wombat% zooprefaoa(i,j,k)* bioaoa)** 2 * I_Xzoo ! [molC/kg/s]
5530
+ wombat% zoograzphy(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsphy* (wombat% zooprefphy(i,j,k)* biophy)** 2 * I_Xzoo ! [molC/kg/s]
5531
+ wombat% zoograzdia(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsdia* (wombat% zooprefdia(i,j,k)* biodia)** 2 * I_Xzoo ! [molC/kg/s]
5532
+ wombat% zoograzdet(i,j,k) = g_npz * wombat% f_zoo(i,j,k) * wombat% zooepsdet* (wombat% zooprefdet(i,j,k)* biodet)** 2 * I_Xzoo ! [molC/kg/s]
5541
5533
else
5542
5534
wombat% zoograzbac1(i,j,k) = 0.0
5543
5535
wombat% zoograzbac2(i,j,k) = 0.0
@@ -5591,14 +5583,15 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
5591
5583
5592
5584
! Grazing by mesozooplankton
5593
5585
if (Xmes.gt. epsi) then
5594
- wombat% mesgrazbac1(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsbac1* (wombat% mesprefbac1(i,j,k)* biobac1)** 2 / Xmes ! [molC/kg/s]
5595
- wombat% mesgrazbac2(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsbac2* (wombat% mesprefbac2(i,j,k)* biobac2)** 2 / Xmes ! [molC/kg/s]
5596
- wombat% mesgrazaoa(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsaoa* (wombat% mesprefaoa(i,j,k)* bioaoa)** 2 / Xmes ! [molC/kg/s]
5597
- wombat% mesgrazphy(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsphy* (wombat% mesprefphy(i,j,k)* biophy)** 2 / Xmes ! [molC/kg/s]
5598
- wombat% mesgrazdia(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsdia* (wombat% mesprefdia(i,j,k)* biodia)** 2 / Xmes ! [molC/kg/s]
5599
- wombat% mesgrazdet(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsdet* (wombat% mesprefdet(i,j,k)* biodet)** 2 / Xmes ! [molC/kg/s]
5600
- wombat% mesgrazbdet(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsbdet* (wombat% mesprefbdet(i,j,k)* biobdet)** 2 / Xmes ! [molC/kg/s]
5601
- wombat% mesgrazzoo(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepszoo* (wombat% mesprefzoo(i,j,k)* biozoo)** 2 / Xmes ! [molC/kg/s]
5586
+ I_Xmes = 1.0 / Xmes
5587
+ wombat% mesgrazbac1(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsbac1* (wombat% mesprefbac1(i,j,k)* biobac1)** 2 * I_Xmes ! [molC/kg/s]
5588
+ wombat% mesgrazbac2(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsbac2* (wombat% mesprefbac2(i,j,k)* biobac2)** 2 * I_Xmes ! [molC/kg/s]
5589
+ wombat% mesgrazaoa(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsaoa* (wombat% mesprefaoa(i,j,k)* bioaoa)** 2 * I_Xmes ! [molC/kg/s]
5590
+ wombat% mesgrazphy(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsphy* (wombat% mesprefphy(i,j,k)* biophy)** 2 * I_Xmes ! [molC/kg/s]
5591
+ wombat% mesgrazdia(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsdia* (wombat% mesprefdia(i,j,k)* biodia)** 2 * I_Xmes ! [molC/kg/s]
5592
+ wombat% mesgrazdet(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsdet* (wombat% mesprefdet(i,j,k)* biodet)** 2 * I_Xmes ! [molC/kg/s]
5593
+ wombat% mesgrazbdet(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepsbdet* (wombat% mesprefbdet(i,j,k)* biobdet)** 2 * I_Xmes ! [molC/kg/s]
5594
+ wombat% mesgrazzoo(i,j,k) = m_npz * wombat% f_mes(i,j,k) * wombat% mesepszoo* (wombat% mesprefzoo(i,j,k)* biozoo)** 2 * I_Xmes ! [molC/kg/s]
5602
5595
else
5603
5596
wombat% mesgrazbac1(i,j,k) = 0.0
5604
5597
wombat% mesgrazbac2(i,j,k) = 0.0
0 commit comments