Changeset 10302 for branches/UKMO/dev_r5518_GO6_package_FOAMv14/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90
- Timestamp:
- 2018-11-13T18:21:16+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package_FOAMv14/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90
r8442 r10302 6 6 !! History : 7 7 !! - ! 2017-04 (M. Stringer) Code taken from trcbio_medusa.F90 8 !! - ! 2017-08 (A. Yool) Amend slow-detritus bug 9 !! - ! 2017-08 (A. Yool) Reformatting for clarity 8 10 !!---------------------------------------------------------------------- 9 11 #if defined key_medusa … … 60 62 fsil_cons, fsil_prod, fsdiss, & 61 63 ftempca, fthetad, fthetan, & 64 fslowsink, fslowgain, fslowloss, & ! AXY (22/08/17) 65 f_sbenin_n, f_sbenin_c, & 62 66 # if defined key_roam 67 fslowsinkc, fslowgainc, fslowlossc, & ! AXY (22/08/17) 63 68 fcar_cons, fcar_prod, fcomm_resp, & 64 69 fddc, fflx_a, fflx_c, fflx_o2, zoxy, & … … 66 71 # endif 67 72 zpds, zphd, zphn 68 USE dom_oce, ONLY: e3t_0, e3t_n, gphit, mbathy, tmask 73 USE dom_oce, ONLY: e3t_0, gphit, mbathy, tmask 74 # if defined key_vvl 75 USE dom_oce, ONLY: e3t_n 76 # endif 69 77 USE in_out_manager, ONLY: lwp, numout 70 78 USE lib_mpp, ONLY: ctl_stop 71 79 USE par_kind, ONLY: wp 72 USE par_medusa, ONLY: jp_medusa, 80 USE par_medusa, ONLY: jp_medusa, jp_msa0, jp_msa1, & 73 81 jpalk, jpchd, jpchn, jpdet, jpdic, & 74 82 jpdin, jpdtc, jpfer, jpoxy, jppds, & … … 78 86 jpoxy_lc, jppds_lc, jpphd_lc, jpphn_lc, & 79 87 jpsil_lc, jpzme_lc, jpzmi_lc 80 USE par_oce, ONLY: jpi, jpim1, jpj, jpjm1 88 USE par_oce, ONLY: jpi, jpim1, jpj, jpjm1, jpk 81 89 USE par_trc, ONLY: jptra 82 90 USE sms_medusa, ONLY: friver_dep, & … … 181 189 ENDDO 182 190 183 DO jj = 2,jpjm1 184 DO ji = 2,jpim1 185 if (tmask(ji,jj,jk) == 1) then 186 !! 187 !!---------------------------------------------------------- 188 !! detritus 189 btra(ji,jj,jpdet_lc) = b0 * & 190 ! mort. losses 191 (fdpn(ji,jj) + ((1.0 - xfdfrac1) * & 192 fdpd(ji,jj)) + & 193 fdzmi(ji,jj) + & 194 ((1.0 - xfdfrac2) * fdzme(ji,jj)) + & 195 ! assim. inefficiency 196 ((1.0 - xbetan) * (finmi(ji,jj) + & 197 finme(ji,jj))) - & 198 ! grazing and remin. 199 fgmid(ji,jj) - fgmed(ji,jj) - & 200 fdd(ji,jj) + & 201 ! seafloor fast->slow 202 ffast2slown(ji,jj)) 203 !! 191 !!---------------------------------------------------------- 192 !! detritus 193 DO jj = 2,jpjm1 194 DO ji = 2,jpim1 195 if (tmask(ji,jj,jk) == 1) then 196 !! 197 btra(ji,jj,jpdet_lc) = b0 * ( & 198 fdpn(ji,jj) & ! mort. losses 199 + ((1.0 - xfdfrac1) * fdpd(ji,jj)) & ! mort. losses 200 + fdzmi(ji,jj) & ! mort. losses 201 + ((1.0 - xfdfrac2) * fdzme(ji,jj)) & ! mort. losses 202 + ((1.0 - xbetan) * (finmi(ji,jj) + finme(ji,jj))) & ! assim. inefficiency 203 - fgmid(ji,jj) - fgmed(ji,jj) & ! grazing 204 - fdd(ji,jj) & ! remin. 205 + fslowgain(ji,jj) - fslowloss(ji,jj) & ! slow-sinking 206 - (f_sbenin_n(ji,jj) / fse3t(ji,jj,jk)) & ! slow-sinking loss to seafloor 207 + ffast2slown(ji,jj) ) ! seafloor fast->slow 204 208 ENDIF 205 209 ENDDO … … 266 270 ! mort. loss 267 271 ((1.0 - xfdfrac1) * fdpds(ji,jj)) + & 268 &! egestion of grazed Si272 ! egestion of grazed Si 269 273 ((1.0 - xfdfrac3) * fgmepds(ji,jj)) + & 270 274 ! fast diss. and metab. losses … … 305 309 ffetop(ji,jj) + ffebot(ji,jj) - & 306 310 ffescav(ji,jj) ) 311 ENDIF 312 ENDDO 313 ENDDO 314 307 315 # if defined key_roam 308 !! 309 !!---------------------------------------------------------- 310 !! AXY (26/11/08): implicit detrital carbon change 311 btra(ji,jj,jpdtc_lc) = b0 * ( & 312 ! mort. losses 313 (xthetapn * fdpn(ji,jj)) + & 314 ((1.0 - xfdfrac1) * & 315 (xthetapd * fdpd(ji,jj))) + & 316 (xthetazmi * fdzmi(ji,jj)) + & 317 ((1.0 - xfdfrac2) * & 318 (xthetazme * fdzme(ji,jj))) + & 319 ! assim. inefficiency 320 ((1.0 - xbetac) * & 321 (ficmi(ji,jj) + ficme(ji,jj))) - & 322 ! grazing and remin. 323 fgmidc(ji,jj) - fgmedc(ji,jj) - & 324 fddc(ji,jj) + & 325 ! seafloor fast->slow 326 ffast2slowc(ji,jj) ) 316 !!---------------------------------------------------------- 317 !! AXY (26/11/08): implicit detrital carbon change 318 DO jj = 2,jpjm1 319 DO ji = 2,jpim1 320 if (tmask(ji,jj,jk) == 1) then 321 !! 322 btra(ji,jj,jpdtc_lc) = b0 * ( & 323 (xthetapn * fdpn(ji,jj)) & ! mort. losses 324 + ((1.0 - xfdfrac1) * (xthetapd * fdpd(ji,jj))) & ! mort. losses 325 + (xthetazmi * fdzmi(ji,jj)) & ! mort. losses 326 + ((1.0 - xfdfrac2) * (xthetazme * fdzme(ji,jj))) & ! mort. losses 327 + ((1.0 - xbetac) * (ficmi(ji,jj) + ficme(ji,jj))) & ! assim. inefficiency 328 - fgmidc(ji,jj) - fgmedc(ji,jj) & ! grazing 329 - fddc(ji,jj) & ! remin. 330 + fslowgainc(ji,jj) - fslowlossc(ji,jj) & ! slow-sinking 331 - (f_sbenin_c(ji,jj) / fse3t(ji,jj,jk)) & ! slow-sinking loss to seafloor 332 + ffast2slowc(ji,jj) ) ! seafloor fast->slow 327 333 ENDIF 328 334 ENDDO … … 575 581 f_o2flux(ji,jj)) 576 582 endif 583 ENDIF 584 ENDDO 585 ENDDO 577 586 # endif 578 ENDIF579 ENDDO580 ENDDO581 587 582 588 # if defined key_debug_medusa
Note: See TracChangeset
for help on using the changeset viewer.