New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 1830 for branches/CMIP5_IPSL/NEMO/TOP_SRC/PISCES/p4zprod.F90 – NEMO

Ignore:
Timestamp:
2010-04-12T15:03:51+02:00 (14 years ago)
Author:
cetlod
Message:

Computation of additional diagnostics for PISCES model ( under CPP key key_diaar5 )

  • needed for AR5 outputs (vertical inventories, passive tracers at surface,... )
  • new output file with suffix dbio_T
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CMIP5_IPSL/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r1808 r1830  
    8181#if defined key_trc_diaadd && defined key_trc_dia3d 
    8282      REAL(wp) ::   zrfact2 
    83 #if  defined key_iomput 
    84       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
     83#if defined key_iomput && defined key_diaar5 
     84      REAL(wp), DIMENSION(jpi,jpj) ::   zw2d 
    8585#endif 
    8686#endif 
     
    352352        WRITE(numout,*) 'Total PP :' 
    353353        WRITE(numout,*) '-------------------- : ',tpp * 12. / 1.E12 
    354         WRITE(numout,*) '(GtC/an)' 
     354        WRITE(numout,*) '(GtC/yr)' 
    355355        tpp = 0. 
    356356      ENDIF 
    357357 
    358 #if defined key_trc_diaadd && defined key_trc_dia3d 
     358#if defined key_trc_diaadd && defined key_trc_dia3d && ! defined key_iomput 
     359      !   Supplementary diagnostics 
    359360      zrfact2 = 1.e3 * rfact2r 
    360       !   Supplementary diagnostics 
    361 #  if ! defined key_iomput 
    362361      trc3d(:,:,:,jp_pcs0_3d + 4)  = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 
    363362      trc3d(:,:,:,jp_pcs0_3d + 5)  = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) 
     
    366365      trc3d(:,:,:,jp_pcs0_3d + 8)  = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 
    367366      trc3d(:,:,:,jp_pcs0_3d + 9)  = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 
    368 #if ! defined key_kriest 
     367#  if ! defined key_kriest 
    369368      trc3d(:,:,:,jp_pcs0_3d + 10) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 
    370 #endif 
    371  
    372 # else 
    373       zw3d(:,:,:) = zprorca (:,:,:) * zrfact2 * tmask(:,:,:) 
    374       IF( jnt == nrdttrc ) CALL iom_put( "PPPHY" , zw3d ) 
    375       zw3d(:,:,:) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) 
    376       IF( jnt == nrdttrc ) CALL iom_put( "PPPHY2", zw3d ) 
    377       zw3d(:,:,:) = zpronew (:,:,:) * zrfact2 * tmask(:,:,:) 
    378       IF( jnt == nrdttrc ) CALL iom_put( "PPNEWN" , zw3d ) 
    379       zw3d(:,:,:) = zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) 
    380       IF( jnt == nrdttrc ) CALL iom_put( "PPNEWD", zw3d ) 
    381       zw3d(:,:,:) = zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) 
    382       IF( jnt == nrdttrc ) CALL iom_put( "PBSi"  , zw3d ) 
    383       zw3d(:,:,:) = zprofed (:,:,:) * zrfact2 * tmask(:,:,:) 
    384       IF( jnt == nrdttrc ) CALL iom_put( "PFeD"  , zw3d ) 
    385       zw3d(:,:,:) = zprofen (:,:,:) * zrfact2 * tmask(:,:,:) 
    386       IF( jnt == nrdttrc ) CALL iom_put( "PFeN"  , zw3d ) 
    387 # endif 
     369#  endif 
     370#endif 
     371 
     372#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
     373      zrfact2 = 1.e3 * rfact2r 
     374      IF ( jnt == nrdttrc ) then 
     375         CALL iom_put( "PPPHY" , zprorca (:,:,:) * zrfact2 * tmask(:,:,:) )  ! primary production by nanophyto 
     376         CALL iom_put( "PPPHY2", zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) )  ! primary production by diatom 
     377         CALL iom_put( "PPNEWN", zpronew (:,:,:) * zrfact2 * tmask(:,:,:) )  ! new primary production by nanophyto 
     378         CALL iom_put( "PPNEWD", zpronewd(:,:,:) * zrfact2 * tmask(:,:,:) )  ! new primary production by diatom 
     379         CALL iom_put( "PBSi"  , zprorcad(:,:,:) * zrfact2 * tmask(:,:,:) * zysopt(:,:,:) ) ! biogenic silica production 
     380         CALL iom_put( "PFeD"  , zprofed (:,:,:) * zrfact2 * tmask(:,:,:) )  ! biogenic iron production by diatom 
     381         CALL iom_put( "PFeN"  , zprofen (:,:,:) * zrfact2 * tmask(:,:,:) )  ! biogenic iron production by nanophyto 
     382      ENDIF 
     383#if  defined key_diaar5 
     384      IF ( jnt == nrdttrc ) then 
     385         CALL iom_put( "TPP"  , ( zprorca(:,:,:) + zprorcad(:,:,:) ) * zrfact2 * tmask(:,:,:) )  ! total primary production  
     386         CALL iom_put( "TPNEW", ( zpronew(:,:,:) + zpronewd(:,:,:) ) * zrfact2 * tmask(:,:,:) )  ! total new primary production   
     387         CALL iom_put( "TPBFE", ( zprofen(:,:,:) + zprofed (:,:,:) ) * zrfact2 * tmask(:,:,:) )  ! total biogenic iron production  
     388      ENDIF 
     389      ! primary production by nanophyto ( vertically integrated ) 
     390      zw2d(:,:) = 0. 
     391      DO jk = 1, jpkm1 
     392         zw2d(:,:) = zw2d(:,:) + zprorca (:,:,jk) * fse3t(:,:,jk) * zrfact2 * tmask(:,:,jk) 
     393      ENDDO 
     394      IF ( jnt == nrdttrc ) CALL iom_put( "INTPPPHY" , zw2d )  
     395      ! primary production by diatom ( vertically integrated ) 
     396      zw2d(:,:) = 0. 
     397      DO jk = 1, jpkm1 
     398         zw2d(:,:) = zw2d(:,:) + zprorcad(:,:,jk) * fse3t(:,:,jk) * zrfact2 * tmask(:,:,jk) 
     399      ENDDO 
     400      IF ( jnt == nrdttrc ) CALL iom_put( "INTPPPHY2" , zw2d )  
     401      ! total primary production  ( vertically integrated ) 
     402      zw2d(:,:) = 0. 
     403      DO jk = 1, jpkm1 
     404         zw2d(:,:) = zw2d(:,:) + ( zprorca (:,:,jk) + zprorcad(:,:,jk) ) * fse3t(:,:,jk) * zrfact2 * tmask(:,:,jk) 
     405      ENDDO 
     406      IF ( jnt == nrdttrc ) CALL iom_put( "INTPP" , zw2d )  
     407      ! total new primary production  ( vertically integrated ) 
     408      zw2d(:,:) = 0. 
     409      DO jk = 1, jpkm1 
     410         zw2d(:,:) = zw2d(:,:) + ( zpronew (:,:,jk) + zpronewd(:,:,jk) ) * fse3t(:,:,jk) * zrfact2 * tmask(:,:,jk) 
     411      ENDDO 
     412      IF ( jnt == nrdttrc ) CALL iom_put( "INTPNEW" , zw2d )  
     413      ! total biogenic iron production  ( vertically integrated ) 
     414      zw2d(:,:) = 0. 
     415      DO jk = 1, jpkm1 
     416         zw2d(:,:) = zw2d(:,:) + ( zprofen (:,:,jk) + zprofed(:,:,jk) ) * fse3t(:,:,jk) * zrfact2 * tmask(:,:,jk) 
     417      ENDDO 
     418      IF ( jnt == nrdttrc ) CALL iom_put( "INTPBFE" , zw2d )  
     419      ! biogenic silica production  ( vertically integrated ) 
     420      zw2d(:,:) = 0. 
     421      DO jk = 1, jpkm1 
     422         zw2d(:,:) = zw2d(:,:) + zprorcad(:,:,jk) * zysopt(:,:,jk) * fse3t(:,:,jk) * zrfact2 * tmask(:,:,jk) 
     423      ENDDO 
     424      IF ( jnt == nrdttrc ) CALL iom_put( "INTPBSI" , zw2d )  
     425#endif 
    388426#endif 
    389427 
Note: See TracChangeset for help on using the changeset viewer.