Changeset 6225 for branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90
- Timestamp:
- 2016-01-08T10:35:19+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/TOP_SRC/PISCES/P2Z/p2zbio.F90
- Property svn:keywords set to Id
r4624 r6225 21 21 USE lbclnk ! 22 22 USE prtctl_trc ! Print control for debbuging 23 USE trd mod_oce24 USE trd mod_trc23 USE trd_oce 24 USE trdtrc 25 25 USE iom 26 26 … … 59 59 REAL(wp) :: fdbod ! zooplankton mortality fraction that goes to detritus 60 60 61 !! * Substitution62 # include " top_substitute.h90"61 !! * Substitutions 62 # include "vectopt_loop_substitute.h90" 63 63 !!---------------------------------------------------------------------- 64 64 !! NEMO/TOP 3.3 , NEMO Consortium (2010) 65 !! $Id : p2zbio.F90 3294 2012-01-28 16:44:18Z rblod$65 !! $Id$ 66 66 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 67 67 !!---------------------------------------------------------------------- 68 69 68 CONTAINS 70 69 … … 110 109 IF( nn_timing == 1 ) CALL timing_start('p2z_bio') 111 110 ! 112 IF( ln_diatrc ) THEN111 IF( ln_diatrc .OR. lk_iomput ) THEN 113 112 CALL wrk_alloc( jpi, jpj, 17, zw2d ) 114 113 CALL wrk_alloc( jpi, jpj, jpk, 3, zw3d ) … … 122 121 123 122 xksi(:,:) = 0.e0 ! zooplakton closure ( fbod) 124 IF( ln_diatrc ) THEN123 IF( ln_diatrc .OR. lk_iomput ) THEN 125 124 zw2d (:,:,:) = 0.e0 126 125 zw3d(:,:,:,:) = 0.e0 … … 186 185 ! closure : flux grazing is redistributed below level jpkbio 187 186 zzoobod = tmminz * zzoo * zzoo 188 xksi(ji,jj) = xksi(ji,jj) + (1-fdbod) * zzoobod * fse3t(ji,jj,jk)187 xksi(ji,jj) = xksi(ji,jj) + (1-fdbod) * zzoobod * e3t_n(ji,jj,jk) 189 188 zboddet = fdbod * zzoobod 190 189 … … 239 238 ! trend number 17 in p2zexp 240 239 ENDIF 241 IF( ln_diatrc ) THEN240 IF( ln_diatrc .OR. lk_iomput ) THEN 242 241 ! convert fluxes in per day 243 ze3t = fse3t(ji,jj,jk) * 86400.242 ze3t = e3t_n(ji,jj,jk) * 86400._wp 244 243 zw2d(ji,jj,1) = zw2d(ji,jj,1) + zno3phy * ze3t 245 244 zw2d(ji,jj,2) = zw2d(ji,jj,2) + znh4phy * ze3t … … 360 359 ! trend number 17 in p2zexp 361 360 ENDIF 362 IF( ln_diatrc ) THEN361 IF( ln_diatrc .OR. lk_iomput ) THEN 363 362 ! convert fluxes in per day 364 ze3t = fse3t(ji,jj,jk) * 86400.363 ze3t = e3t_n(ji,jj,jk) * 86400._wp 365 364 zw2d(ji,jj,1) = zw2d(ji,jj,1) + zno3phy * ze3t 366 365 zw2d(ji,jj,2) = zw2d(ji,jj,2) + znh4phy * ze3t … … 381 380 zw2d(ji,jj,17) = zw2d(ji,jj,17) + zdetdom * ze3t 382 381 ! 383 zw3d(ji,jj,jk,1) = zno3phy * 86400 384 zw3d(ji,jj,jk,2) = znh4phy * 86400 385 zw3d(ji,jj,jk,3) = znh4no3 * 86400 382 zw3d(ji,jj,jk,1) = zno3phy * 86400._wp 383 zw3d(ji,jj,jk,2) = znh4phy * 86400._wp 384 zw3d(ji,jj,jk,3) = znh4no3 * 86400._wp 386 385 ! 387 386 ENDIF … … 390 389 END DO 391 390 392 IF( ln_diatrc ) THEN 393 ! 391 IF( ln_diatrc .OR. lk_iomput ) THEN 394 392 DO jl = 1, 17 395 393 CALL lbc_lnk( zw2d(:,:,jl),'T', 1. ) … … 398 396 CALL lbc_lnk( zw3d(:,:,:,jl),'T', 1. ) 399 397 END DO 400 IF( lk_iomput ) THEN 398 ENDIF 399 IF( lk_iomput ) THEN 401 400 ! Save diagnostics 402 CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 403 CALL iom_put( "TNH4PHY", zw2d(:,:,2) ) 404 CALL iom_put( "TPHYDOM", zw2d(:,:,3) ) 405 CALL iom_put( "TPHYNH4", zw2d(:,:,4) ) 406 CALL iom_put( "TPHYZOO", zw2d(:,:,5) ) 407 CALL iom_put( "TPHYDET", zw2d(:,:,6) ) 408 CALL iom_put( "TDETZOO", zw2d(:,:,7) ) 409 CALL iom_put( "TZOODET", zw2d(:,:,8) ) 410 CALL iom_put( "TZOOBOD", zw2d(:,:,9) ) 411 CALL iom_put( "TZOONH4", zw2d(:,:,10) ) 412 CALL iom_put( "TZOODOM", zw2d(:,:,11) ) 413 CALL iom_put( "TNH4NO3", zw2d(:,:,12) ) 414 CALL iom_put( "TDOMNH4", zw2d(:,:,13) ) 415 CALL iom_put( "TDETNH4", zw2d(:,:,14) ) 416 CALL iom_put( "TPHYTOT", zw2d(:,:,15) ) 417 CALL iom_put( "TZOOTOT", zw2d(:,:,16) ) 418 ! 419 CALL iom_put( "FNO3PHY", zw3d(:,:,:,1) ) 420 CALL iom_put( "FNH4PHY", zw3d(:,:,:,2) ) 421 CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 422 ! 423 ELSE 401 CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 402 CALL iom_put( "TNH4PHY", zw2d(:,:,2) ) 403 CALL iom_put( "TPHYDOM", zw2d(:,:,3) ) 404 CALL iom_put( "TPHYNH4", zw2d(:,:,4) ) 405 CALL iom_put( "TPHYZOO", zw2d(:,:,5) ) 406 CALL iom_put( "TPHYDET", zw2d(:,:,6) ) 407 CALL iom_put( "TDETZOO", zw2d(:,:,7) ) 408 CALL iom_put( "TZOODET", zw2d(:,:,8) ) 409 CALL iom_put( "TZOOBOD", zw2d(:,:,9) ) 410 CALL iom_put( "TZOONH4", zw2d(:,:,10) ) 411 CALL iom_put( "TZOODOM", zw2d(:,:,11) ) 412 CALL iom_put( "TNH4NO3", zw2d(:,:,12) ) 413 CALL iom_put( "TDOMNH4", zw2d(:,:,13) ) 414 CALL iom_put( "TDETNH4", zw2d(:,:,14) ) 415 CALL iom_put( "TPHYTOT", zw2d(:,:,15) ) 416 CALL iom_put( "TZOOTOT", zw2d(:,:,16) ) 417 ! 418 CALL iom_put( "FNO3PHY", zw3d(:,:,:,1) ) 419 CALL iom_put( "FNH4PHY", zw3d(:,:,:,2) ) 420 CALL iom_put( "FNH4NO3", zw3d(:,:,:,3) ) 421 ! 422 ELSE 423 IF( ln_diatrc ) THEN 424 424 ! 425 425 trc2d(:,:,jp_pcs0_2d ) = zw2d(:,:,1) … … 457 457 IF( l_trdtrc ) THEN 458 458 DO jl = jp_pcs0_trd, jp_pcs1_trd 459 CALL trd_ mod_trc( trbio(:,:,:,jl), jl, kt ) ! handle the trend459 CALL trd_trc( trbio(:,:,:,jl), jl, kt ) ! handle the trend 460 460 END DO 461 461 ENDIF … … 467 467 ENDIF 468 468 ! 469 IF( ln_diatrc ) THEN469 IF( ln_diatrc .OR. lk_iomput ) THEN 470 470 CALL wrk_dealloc( jpi, jpj, 17, zw2d ) 471 471 CALL wrk_dealloc( jpi, jpj, jpk, 3, zw3d ) … … 598 598 599 599 !!====================================================================== 600 END MODULE 600 END MODULE p2zbio
Note: See TracChangeset
for help on using the changeset viewer.