Changeset 10975 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/PISCES/P2Z/p2zbio.F90
- Timestamp:
- 2019-05-13T18:34:33+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/TOP/PISCES/P2Z/p2zbio.F90
r10425 r10975 65 65 CONTAINS 66 66 67 SUBROUTINE p2z_bio( kt )67 SUBROUTINE p2z_bio( kt, Kmm, Krhs ) 68 68 !!--------------------------------------------------------------------- 69 69 !! *** ROUTINE p2z_bio *** … … 78 78 !! is added to the general trend. 79 79 !! 80 !! tr a = tra + zf...tra- zftra...80 !! tr(Krhs) = tr(Krhs) + zf...tr(Krhs) - zftra... 81 81 !! | | 82 82 !! | | … … 84 84 !! 85 85 !!--------------------------------------------------------------------- 86 INTEGER, INTENT( in ) :: kt ! ocean time-step index 86 INTEGER, INTENT( in ) :: kt ! ocean time-step index 87 INTEGER, INTENT( in ) :: Kmm, Krhs ! time level indices 87 88 ! 88 89 INTEGER :: ji, jj, jk, jl … … 126 127 127 128 ! negative trophic variables DO not contribute to the fluxes 128 zdet = MAX( 0.e0, tr n(ji,jj,jk,jpdet) )129 zzoo = MAX( 0.e0, tr n(ji,jj,jk,jpzoo) )130 zphy = MAX( 0.e0, tr n(ji,jj,jk,jpphy) )131 zno3 = MAX( 0.e0, tr n(ji,jj,jk,jpno3) )132 znh4 = MAX( 0.e0, tr n(ji,jj,jk,jpnh4) )133 zdom = MAX( 0.e0, tr n(ji,jj,jk,jpdom) )129 zdet = MAX( 0.e0, tr(ji,jj,jk,jpdet,Kmm) ) 130 zzoo = MAX( 0.e0, tr(ji,jj,jk,jpzoo,Kmm) ) 131 zphy = MAX( 0.e0, tr(ji,jj,jk,jpphy,Kmm) ) 132 zno3 = MAX( 0.e0, tr(ji,jj,jk,jpno3,Kmm) ) 133 znh4 = MAX( 0.e0, tr(ji,jj,jk,jpnh4,Kmm) ) 134 zdom = MAX( 0.e0, tr(ji,jj,jk,jpdom,Kmm) ) 134 135 135 136 ! Limitations … … 176 177 ! closure : flux grazing is redistributed below level jpkbio 177 178 zzoobod = tmminz * zzoo * zzoo 178 xksi(ji,jj) = xksi(ji,jj) + (1-fdbod) * zzoobod * e3t _n(ji,jj,jk)179 xksi(ji,jj) = xksi(ji,jj) + (1-fdbod) * zzoobod * e3t(ji,jj,jk,Kmm) 179 180 zboddet = fdbod * zzoobod 180 181 … … 202 203 203 204 ! tracer flux at totox-point added to the general trend 204 tr a(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) + zdeta205 tr a(ji,jj,jk,jpzoo) = tra(ji,jj,jk,jpzoo) + zzooa206 tr a(ji,jj,jk,jpphy) = tra(ji,jj,jk,jpphy) + zphya207 tr a(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) + zno3a208 tr a(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + znh4a209 tr a(ji,jj,jk,jpdom) = tra(ji,jj,jk,jpdom) + zdoma205 tr(ji,jj,jk,jpdet,Krhs) = tr(ji,jj,jk,jpdet,Krhs) + zdeta 206 tr(ji,jj,jk,jpzoo,Krhs) = tr(ji,jj,jk,jpzoo,Krhs) + zzooa 207 tr(ji,jj,jk,jpphy,Krhs) = tr(ji,jj,jk,jpphy,Krhs) + zphya 208 tr(ji,jj,jk,jpno3,Krhs) = tr(ji,jj,jk,jpno3,Krhs) + zno3a 209 tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + znh4a 210 tr(ji,jj,jk,jpdom,Krhs) = tr(ji,jj,jk,jpdom,Krhs) + zdoma 210 211 211 212 IF( lk_iomput ) THEN 212 213 ! convert fluxes in per day 213 ze3t = e3t _n(ji,jj,jk) * 86400._wp214 ze3t = e3t(ji,jj,jk,Kmm) * 86400._wp 214 215 zw2d(ji,jj,1) = zw2d(ji,jj,1) + zno3phy * ze3t 215 216 zw2d(ji,jj,2) = zw2d(ji,jj,2) + znh4phy * ze3t … … 248 249 ! trophic variables( det, zoo, phy, no3, nh4, dom) 249 250 ! negative trophic variables DO not contribute to the fluxes 250 zdet = MAX( 0.e0, tr n(ji,jj,jk,jpdet) )251 zzoo = MAX( 0.e0, tr n(ji,jj,jk,jpzoo) )252 zphy = MAX( 0.e0, tr n(ji,jj,jk,jpphy) )253 zno3 = MAX( 0.e0, tr n(ji,jj,jk,jpno3) )254 znh4 = MAX( 0.e0, tr n(ji,jj,jk,jpnh4) )255 zdom = MAX( 0.e0, tr n(ji,jj,jk,jpdom) )251 zdet = MAX( 0.e0, tr(ji,jj,jk,jpdet,Kmm) ) 252 zzoo = MAX( 0.e0, tr(ji,jj,jk,jpzoo,Kmm) ) 253 zphy = MAX( 0.e0, tr(ji,jj,jk,jpphy,Kmm) ) 254 zno3 = MAX( 0.e0, tr(ji,jj,jk,jpno3,Kmm) ) 255 znh4 = MAX( 0.e0, tr(ji,jj,jk,jpnh4,Kmm) ) 256 zdom = MAX( 0.e0, tr(ji,jj,jk,jpdom,Kmm) ) 256 257 257 258 ! Limitations … … 304 305 305 306 ! tracer flux at totox-point added to the general trend 306 tr a(ji,jj,jk,jpdet) = tra(ji,jj,jk,jpdet) + zdeta307 tr a(ji,jj,jk,jpzoo) = tra(ji,jj,jk,jpzoo) + zzooa308 tr a(ji,jj,jk,jpphy) = tra(ji,jj,jk,jpphy) + zphya309 tr a(ji,jj,jk,jpno3) = tra(ji,jj,jk,jpno3) + zno3a310 tr a(ji,jj,jk,jpnh4) = tra(ji,jj,jk,jpnh4) + znh4a311 tr a(ji,jj,jk,jpdom) = tra(ji,jj,jk,jpdom) + zdoma307 tr(ji,jj,jk,jpdet,Krhs) = tr(ji,jj,jk,jpdet,Krhs) + zdeta 308 tr(ji,jj,jk,jpzoo,Krhs) = tr(ji,jj,jk,jpzoo,Krhs) + zzooa 309 tr(ji,jj,jk,jpphy,Krhs) = tr(ji,jj,jk,jpphy,Krhs) + zphya 310 tr(ji,jj,jk,jpno3,Krhs) = tr(ji,jj,jk,jpno3,Krhs) + zno3a 311 tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + znh4a 312 tr(ji,jj,jk,jpdom,Krhs) = tr(ji,jj,jk,jpdom,Krhs) + zdoma 312 313 ! 313 314 IF( lk_iomput ) THEN ! convert fluxes in per day 314 ze3t = e3t _n(ji,jj,jk) * 86400._wp315 ze3t = e3t(ji,jj,jk,Kmm) * 86400._wp 315 316 zw2d(ji,jj,1) = zw2d(ji,jj,1) + zno3phy * ze3t 316 317 zw2d(ji,jj,2) = zw2d(ji,jj,2) + znh4phy * ze3t … … 370 371 WRITE(charout, FMT="('bio')") 371 372 CALL prt_ctl_trc_info(charout) 372 CALL prt_ctl_trc(tab4d=tr a, mask=tmask, clinfo=ctrcnm)373 CALL prt_ctl_trc(tab4d=tr(:,:,:,:,Krhs), mask=tmask, clinfo=ctrcnm) 373 374 ENDIF 374 375 !
Note: See TracChangeset
for help on using the changeset viewer.