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 1678 – NEMO

Changeset 1678


Ignore:
Timestamp:
2009-10-26T12:38:26+01:00 (14 years ago)
Author:
cetlod
Message:

Improve PISCES diagnostics for IPCC AR5 exercise, see ticket:567

Location:
trunk/NEMO/TOP_SRC/PISCES
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/TOP_SRC/PISCES/p4zbio.F90

    r1457 r1678  
    6464      REAL(wp) ::  zcoef1, zcoef2 
    6565#endif 
    66 #if defined key_trc_dia3d && defined key_kriest && defined key_iomput 
    67       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    68 #endif 
    6966      CHARACTER (len=25) :: charout 
    7067 
     
    130127#endif 
    131128 
    132  
    133 # if defined key_trc_dia3d && defined key_kriest 
    134 #if ! defined key_iomput 
    135       trc3d(:,:,:,jp_pcs0_3d + 10) = tra(:,:,:,jpcal) * xnegtr(:,:,:) * 1.e3 * rfact2r  * tmask(:,:,:) 
    136 #else 
    137       zw3d(:,:,:) = tra(:,:,:,jpcal) * xnegtr(:,:,:) * 1.e3 * rfact2r  * tmask(:,:,:) 
    138       IF( jnt == nrdttrc ) CALL iom_put( "PBSi", zw3d ) 
    139 # endif 
    140 #endif 
    141129      ! 
    142130      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
  • trunk/NEMO/TOP_SRC/PISCES/p4zflx.F90

    r1534 r1678  
    7474      REAL(wp), DIMENSION(jpi,jpj) ::   zkgco2, zkgo2, zh2co3 
    7575#if defined key_trc_diaadd && defined key_iomput 
    76       REAL(wp), DIMENSION(jpi,jpj) ::  zcflx, zoflx, zkg, zdelc 
     76      REAL(wp), DIMENSION(jpi,jpj) ::  zcflx, zoflx, zkg, zdpco2, zdpo2 
    7777#endif 
    7878      CHARACTER (len=25) :: charout 
     
    171171 
    172172            ! Compute O2 flux  
    173             zfld16 = atcox * chemc(ji,jj,2) *tmask(ji,jj,1) * zkgo2(ji,jj) 
     173            zfld16 = atcox * chemc(ji,jj,2) * tmask(ji,jj,1) * zkgo2(ji,jj) 
    174174            zflu16 = trn(ji,jj,1,jpoxy) * tmask(ji,jj,1) * zkgo2(ji,jj) 
    175175            tra(ji,jj,1,jpoxy) = tra(ji,jj,1,jpoxy) + ( zfld16 - zflu16 ) / fse3t(ji,jj,1) 
     
    181181            trc2d(ji,jj,jp_pcs0_2d + 1) = ( zfld16 - zflu16 ) * 1000. * tmask(ji,jj,1) 
    182182            trc2d(ji,jj,jp_pcs0_2d + 2) = zkgco2(ji,jj) * tmask(ji,jj,1) 
    183             trc2d(ji,jj,jp_pcs0_2d + 3) = atcco2 - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) * tmask(ji,jj,1) 
     183            trc2d(ji,jj,jp_pcs0_2d + 3) = ( atcco2 - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) ) & 
     184               &                            * tmask(ji,jj,1) 
    184185#  else 
    185186            zcflx(ji,jj) = ( zfld - zflu ) * 1000.  * tmask(ji,jj,1) 
    186187            zoflx(ji,jj) = ( zfld16 - zflu16 ) * 1000. * tmask(ji,jj,1) 
    187188            zkg  (ji,jj) = zkgco2(ji,jj) * tmask(ji,jj,1) 
    188             zdelc(ji,jj) = atcco2 - zh2co3(ji,jj) / ( chemc(ji,jj,1) + rtrn ) * tmask(ji,jj,1) 
     189            zdpco2(ji,jj) = ( atcco2 - zh2co3(ji,jj)      / ( chemc(ji,jj,1) + rtrn ) ) & 
     190              &             * tmask(ji,jj,1) 
     191            zdpo2 (ji,jj) = ( atcox  - trn(ji,jj,1,jpoxy) / ( chemc(ji,jj,2) + rtrn ) ) & 
     192              &             * tmask(ji,jj,1) 
    189193#  endif 
    190194#endif 
     
    224228 
    225229# if defined key_trc_diaadd && defined key_iomput 
    226       CALL iom_put( "Cflx", zcflx ) 
    227       CALL iom_put( "Oflx", zoflx ) 
    228       CALL iom_put( "Kg"  , zkg   ) 
    229       CALL iom_put( "DelC", zdelc ) 
     230      CALL iom_put( "Cflx" , zcflx  ) 
     231      CALL iom_put( "Oflx" , zoflx  ) 
     232      CALL iom_put( "Kg"   , zkg    ) 
     233      CALL iom_put( "Dpco2", zdpco2 ) 
     234      CALL iom_put( "Dpo2" , zdpo2  ) 
    230235#endif 
    231236 
  • trunk/NEMO/TOP_SRC/PISCES/p4zlys.F90

    r1457 r1678  
    6363      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zco3 
    6464#if defined key_trc_dia3d && defined key_iomput 
    65       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
     65      REAL(wp) ::   zrfact2 
     66      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zcaldiss, zw3d 
    6667#endif 
    6768      CHARACTER (len=25) :: charout 
     
    7273      zco3(:,:,:) = 0. 
    7374 
     75# if defined key_trc_dia3d && defined key_iomput 
     76      zcaldiss(:,:,:) = 0. 
     77# endif 
    7478      !     ------------------------------------------- 
    7579      !     COMPUTE [CO3--] and [H+] CONCENTRATIONS 
     
    146150              zremco3 = zdispot / rmoss 
    147151              zco3(ji,jj,jk) = zco3(ji,jj,jk) + zremco3 * rfact 
    148               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + 2.*zremco3 
    149               tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) -    zremco3 
    150               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) +    zremco3 
    151  
     152              tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + 2. * zremco3 
     153              tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) -      zremco3 
     154              tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) +      zremco3 
     155 
     156# if defined key_trc_dia3d && defined key_iomput 
     157              zcaldiss(ji,jj,jk) = zremco3  ! calcite dissolution 
     158# endif 
    152159            END DO 
    153160         END DO 
     
    160167      trc3d(:,:,:,jp_pcs0_3d + 2) = aksp(:,:,:) / calcon * tmask(:,:,:) 
    161168#  else 
    162       zw3d(:,:,:) = hi  (:,:,:)          * tmask(:,:,:) 
     169      zrfact2 = 1.e3 * rfact2r 
     170      zw3d(:,:,:) = hi  (:,:,:)                    * tmask(:,:,:) 
    163171      CALL iom_put( "PH", zw3d ) 
    164       zw3d(:,:,:) = zco3(:,:,:)          * tmask(:,:,:) 
     172      zw3d(:,:,:) = zco3(:,:,:)                    * tmask(:,:,:) 
    165173      CALL iom_put( "CO3", zw3d ) 
    166       zw3d(:,:,:) = aksp(:,:,:) / calcon * tmask(:,:,:) 
     174      zw3d(:,:,:) = aksp(:,:,:) / calcon           * tmask(:,:,:) 
    167175      CALL iom_put( "CO3sat", zw3d ) 
     176      zw3d(:,:,:) = zcaldiss(:,:,:) * zrfact2 * tmask(:,:,:) 
     177      CALL iom_put( "Dcal", zw3d ) 
    168178#  endif 
    169179# endif 
  • trunk/NEMO/TOP_SRC/PISCES/p4zmeso.F90

    r1152 r1678  
    2121   USE p4zint 
    2222   USE p4zsink 
     23   USE iom 
    2324 
    2425   IMPLICIT NONE 
     
    7374      REAL(wp),DIMENSION(jpi,jpj,jpk) :: zgrazfff,zgrazffe 
    7475      CHARACTER (len=25) :: charout 
     76#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
     77      REAL(wp) :: zrfact2 
     78      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
     79#endif 
     80 
    7581      !!--------------------------------------------------------------------- 
    7682 
    7783 
    7884      IF( ( kt * jnt ) == nittrc000  )   CALL p4z_meso_init      ! Initialization (first time-step only) 
     85 
     86      zrespz2 (:,:,:) = 0. 
     87      ztortz2 (:,:,:) = 0. 
     88      zgrazd  (:,:,:) = 0. 
     89      zgrazz  (:,:,:) = 0. 
     90      zgrazpof(:,:,:) = 0. 
     91      zgrazn  (:,:,:) = 0. 
     92      zgrazpoc(:,:,:) = 0. 
     93      zgraznf (:,:,:) = 0. 
     94      zgrazf  (:,:,:) = 0. 
     95      zgrazfff(:,:,:) = 0. 
     96      zgrazffe(:,:,:) = 0. 
    7997 
    8098      zstep = rfact2 / rjjss      ! Time step duration for biology 
     
    151169!    ---------------------------------- 
    152170# if ! defined key_kriest 
     171#   if ! defined key_off_degrad 
    153172               zgrazffe(ji,jj,jk) = grazflux * zstep * wsbio4(ji,jj,jk)          & 
    154 #  if defined key_off_degrad 
    155                   &     * facvol(ji,jj,jk)          & 
     173                  &                 * tgfunc2(ji,jj,jk) * trn(ji,jj,jk,jpgoc) * trn(ji,jj,jk,jpmes) 
     174#   else 
     175               zgrazffe(ji,jj,jk) = grazflux * zstep * wsbio4(ji,jj,jk) * facvol(ji,jj,jk)         & 
     176                  &                 * tgfunc2(ji,jj,jk) * trn(ji,jj,jk,jpgoc) * trn(ji,jj,jk,jpmes) 
    156177#  endif 
    157                   &     * tgfunc2(ji,jj,jk) * trn(ji,jj,jk,jpgoc) * trn(ji,jj,jk,jpmes) 
    158  
    159178               zgrazfff(ji,jj,jk) = zgrazffe(ji,jj,jk)       & 
    160                   &     * trn(ji,jj,jk,jpbfe) / (trn(ji,jj,jk,jpgoc) + rtrn) 
     179                  &                 * trn(ji,jj,jk,jpbfe) / (trn(ji,jj,jk,jpgoc) + rtrn) 
    161180# else 
    162 ! KRIEST3 
     181!!--------------------------- KRIEST3 ------------------------------------------- 
    163182!!               zgrazffe(ji,jj,jk) = 0.5 * 1.3e-2 / 5.5e-7 * 0.3 * zstep * wsbio3(ji,jj,jk)     & 
    164183!!                  &     * tgfunc(ji,jj,jk) * trn(ji,jj,jk,jppoc) * trn(ji,jj,jk,jpmes)    & 
     
    167186#  endif 
    168187!!                  &     /  (trn(ji,jj,jk,jppoc) * 1.e7 + 0.1) 
    169  
     188!!--------------------------- KRIEST3 ------------------------------------------- 
     189 
     190#  if ! defined key_off_degrad 
    170191              zgrazffe(ji,jj,jk) = grazflux * zstep * wsbio3(ji,jj,jk)     & 
    171 #  if defined key_off_degrad 
    172                   &     * facvol(ji,jj,jk)          & 
     192                  &                * tgfunc2(ji,jj,jk) * trn(ji,jj,jk,jppoc) * trn(ji,jj,jk,jpmes) 
     193#  else 
     194              zgrazffe(ji,jj,jk) = grazflux * zstep * wsbio3(ji,jj,jk) * facvol(ji,jj,jk)    & 
     195                  &               * tgfunc2(ji,jj,jk) * trn(ji,jj,jk,jppoc) * trn(ji,jj,jk,jpmes) 
    173196#  endif 
    174                   &     * tgfunc2(ji,jj,jk) * trn(ji,jj,jk,jppoc) * trn(ji,jj,jk,jpmes) 
    175197 
    176198               zgrazfff(ji,jj,jk) = zgrazffe(ji,jj,jk)      & 
    177                   &     * trn(ji,jj,jk,jpsfe) / (trn(ji,jj,jk,jppoc) + rtrn) 
     199                  &                * trn(ji,jj,jk,jpsfe) / (trn(ji,jj,jk,jppoc) + rtrn) 
    178200# endif 
    179201            END DO 
     
    253275               tra(ji,jj,jk,jpdfe) = tra(ji,jj,jk,jpdfe) -  zgrazf(ji,jj,jk) 
    254276 
    255                zprcaca = xfracal(ji,jj,jk) * part * unass2 * zgrazn(ji,jj,jk) 
    256  
     277               zprcaca = xfracal(ji,jj,jk) * unass2 * zgrazn(ji,jj,jk) 
     278#if defined key_trc_dia3d 
     279               prodcal(ji,jj,jk) = prodcal(ji,jj,jk) + zprcaca  ! prodcal=prodcal(nanophy)+prodcal(microzoo)+prodcal(mesozoo) 
     280#endif 
     281               zprcaca = part * zprcaca 
    257282               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) - zprcaca 
    258283               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * zprcaca 
     
    284309      END DO 
    285310      ! 
     311#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
     312      zrfact2 = 1.e3 * rfact2r 
     313      zw3d(:,:,:) = (     zgrazd(:,:,:) +   zgrazz(:,:,:) + zgrazn(:,:,:) & 
     314                    & + zgrazpoc(:,:,:) + zgrazffe(:,:,:)                 ) * zrfact2 * tmask(:,:,:) 
     315      IF( jnt == nrdttrc ) CALL iom_put( "Graz2" , zw3d ) 
     316 
     317      zw3d(:,:,:) = prodcal(:,:,:) * zrfact2 * tmask(:,:,:) 
     318      IF( jnt == nrdttrc ) CALL iom_put( "Pcal"  , zw3d ) 
     319#endif 
     320 
    286321       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    287322         WRITE(charout, FMT="('meso')") 
  • trunk/NEMO/TOP_SRC/PISCES/p4zmicro.F90

    r1152 r1678  
    2121   USE p4zint 
    2222   USE p4zsink 
     23   USE iom 
    2324 
    2425   IMPLICIT NONE 
     
    6970      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgrazmf, zgrazsf, zgrazpf 
    7071      CHARACTER (len=25) :: charout 
     72#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
     73      REAL(wp) :: zrfact2 
     74      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
     75#endif 
    7176 
    7277      !!--------------------------------------------------------------------- 
     
    7479      IF( ( kt * jnt ) == nittrc000  )   CALL p4z_micro_init      ! Initialization (first time-step only) 
    7580 
    76  
    77         zstep = rfact2 / rjjss      ! Time step duration for biology 
     81      zrespz (:,:,:) = 0. 
     82      ztortz (:,:,:) = 0. 
     83      zgrazp (:,:,:) = 0. 
     84      zgrazm (:,:,:) = 0. 
     85      zgrazsd(:,:,:) = 0. 
     86      zgrazmf(:,:,:) = 0. 
     87      zgrazsf(:,:,:) = 0. 
     88      zgrazpf(:,:,:) = 0. 
     89 
     90 
     91      zstep = rfact2 / rjjss      ! Time step duration for biology 
    7892 
    7993      DO jk = 1, jpkm1 
     
    202216                 &     + unass * ( zgrazpf(ji,jj,jk) + zgrazsf (ji,jj,jk)) & 
    203217                 &     - (1.-unass) * zgrazmf(ji,jj,jk) 
    204                zprcaca = xfracal(ji,jj,jk) * part * unass * zgrazp(ji,jj,jk) 
     218               zprcaca = xfracal(ji,jj,jk) * unass * zgrazp(ji,jj,jk) 
     219#if defined key_trc_dia3d 
     220               prodcal(ji,jj,jk) = prodcal(ji,jj,jk) + zprcaca  ! prodcal=prodcal(nanophy)+prodcal(microzoo)+prodcal(mesozoo) 
     221#endif 
     222               zprcaca = part * zprcaca 
    205223               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) - zprcaca 
    206                tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal)- 2. * zprcaca 
     224               tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) - 2. * zprcaca 
    207225               tra(ji,jj,jk,jpcal) = tra(ji,jj,jk,jpcal) + zprcaca 
    208226#if defined key_kriest 
     
    213231      END DO 
    214232      ! 
     233#if defined key_trc_diaadd && defined key_trc_dia3d && defined key_iomput 
     234      zrfact2 = 1.e3 * rfact2r 
     235      zw3d(:,:,:) = ( zgrazp(:,:,:) + zgrazm(:,:,:) + zgrazsd(:,:,:) ) * zrfact2 * tmask(:,:,:) 
     236      IF( jnt == nrdttrc ) CALL iom_put( "Graz" , zw3d ) 
     237#endif 
     238 
    215239       IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    216240         WRITE(charout, FMT="('micro')") 
  • trunk/NEMO/TOP_SRC/PISCES/p4zmort.F90

    r1152 r1678  
    8989 
    9090 
     91#if defined key_trc_dia3d 
     92     prodcal(:,:,:) = 0.  !: Initialisation of calcite production variable 
     93#endif 
     94 
    9195      DO jk = 1, jpkm1 
    9296         DO jj = 1, jpj 
     
    126130               tra(ji,jj,jk,jpnfe) = tra(ji,jj,jk,jpnfe) - zmortp * zfactfe 
    127131               zprcaca = xfracal(ji,jj,jk) * zmortp 
     132#if defined key_trc_dia3d 
     133               prodcal(ji,jj,jk) = prodcal(ji,jj,jk) + zprcaca  ! prodcal=prodcal(nanophy)+prodcal(microzoo)+prodcal(mesozoo) 
     134#endif 
    128135               zfracal = 0.5 * xfracal(ji,jj,jk) 
    129136               tra(ji,jj,jk,jpdic) = tra(ji,jj,jk,jpdic) - zprcaca 
  • trunk/NEMO/TOP_SRC/PISCES/p4zopt.F90

    r1457 r1678  
    240240      zw2d(:,:  ) =  heup(:,:  ) * tmask(:,:,1) 
    241241      zw3d(:,:,:) =  etot(:,:,:) * tmask(:,:,:) 
    242       IF( jnt == nrdttrc ) CALL iom_put( "heup", zw2d )                
     242      IF( jnt == nrdttrc ) CALL iom_put( "Heup", zw2d )                
    243243      IF( jnt == nrdttrc ) CALL iom_put( "PAR" , zw3d ) 
    244244# endif 
  • trunk/NEMO/TOP_SRC/PISCES/p4zsed.F90

    r1511 r1678  
    8989      REAL(wp), DIMENSION(jpi,jpj)     ::   zsidep 
    9090      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   znitrpot, zirondep 
    91 #if defined key_trc_diaadd && defined key_iomput 
    92      REAL(wp), DIMENSION(jpi,jpj)     ::   zw2d 
     91#if defined key_diaadd || defined key_trc_dia3d  
     92      REAL(wp) :: zrfact2 
     93# if defined key_iomput 
     94     REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d  
     95     REAL(wp), DIMENSION(jpi,jpj)    ::    zw2d  
     96# endif 
    9397#endif 
    9498      CHARACTER (len=25) :: charout 
     
    267271      IF( lk_mpp )   CALL mpp_sum( zdenitot )      ! sum over the global domain 
    268272 
    269       ! Potential nitrogen fication dependant on temperature and iron 
     273      ! Potential nitrogen fixation dependant on temperature and iron 
    270274      ! ------------------------------------------------------------- 
    271275 
     
    318322      END DO 
    319323 
    320 #if defined key_trc_diaadd 
     324#if defined key_trc_diaadd || defined key_trc_dia3d 
     325      zrfact2 = 1.e+3 * rfact2r 
    321326#  if  ! defined key_iomput 
    322       trc2d(:,:,jp_pcs0_2d + 11) = zirondep(:,:,1)         * 1.e+3 * rfact2r * fse3t(:,:,1) * tmask(:,:,1) 
    323       trc2d(:,:,jp_pcs0_2d + 12) = znitrpot(:,:,1) * 1.e-7 * 1.e+3 / rfact2 * fse3t(:,:,1) * tmask(:,:,1) 
     327      trc2d(:,:,jp_pcs0_2d + 11) = zirondep(:,:,1)         * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 
     328      trc2d(:,:,jp_pcs0_2d + 12) = znitrpot(:,:,1) * 1.e-7 * zrfact2 * fse3t(:,:,1) * tmask(:,:,1) 
    324329# else 
    325330      ! write diagnostics 
    326       zw2d(:,:) = zirondep(:,:,1)         * 1.e+3 * rfact2r * fse3t(:,:,1) * tmask(:,:,1) 
    327       IF( jnt == nrdttrc ) CALL iom_put( "Fedep", zw2d ) 
    328       zw2d(:,:) = znitrpot(:,:,1) * 1.e-7 * 1.e+3 / rfact2  * fse3t(:,:,1) * tmask(:,:,1) 
    329       IF( jnt == nrdttrc ) CALL iom_put( "Nfix", zw2d  )  
     331      zw2d(:,:)   =  ( zirondep(:,:,1) + ironsed(:,:,1) * rfact2 ) & 
     332      &            * zrfact2 * fse3t(:,:,1) * tmask(:,:,1)      
     333      IF( jnt == nrdttrc ) CALL iom_put( "Irondep", zw2d ) 
     334      zw3d(:,:,:) = znitrpot(:,:,:) * 1.e-7 * zrfact2  * fse3t(:,:,:) * tmask(:,:,:) 
     335      IF( jnt == nrdttrc ) CALL iom_put( "Nfix", zw3d  )  
    330336# endif 
    331337 
  • trunk/NEMO/TOP_SRC/PISCES/p4zsink.F90

    r1457 r1678  
    101101      INTEGER  :: iksed1 
    102102#if defined key_iomput 
    103       REAL(wp), DIMENSION(jpi,jpj)     ::   zw2d 
    104103      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    105104#endif 
     
    302301      trc3d(:,:,:,jp_pcs0_3d + 17) = wsbio4  (:,:,:)                * tmask(:,:,:) 
    303302#else 
    304       zw2d(:,:  )  = sinking (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    305       IF( jnt == nrdttrc ) CALL iom_put( "PMO", zw2d ) 
    306       zw2d(:,:  )  = sinking2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    307       IF( jnt == nrdttrc ) CALL iom_put( "PMO2", zw2d ) 
    308       zw2d(:,:  )  = sinkfer (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    309       IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw2d ) 
    310       zw2d(:,:  )  = sinksil (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    311       IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw2d ) 
    312       zw2d(:,:  )  = sinkcal (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    313       IF( jnt == nrdttrc ) CALL iom_put( "ExpCaCO3", zw2d ) 
    314       zw3d(:,:,:)  = sinking (:,:,:)      * zrfact2 * tmask(:,:,:) 
     303      zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
     304      IF( jnt == nrdttrc ) CALL iom_put( "PMO" , zw3d ) 
     305      zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
     306      IF( jnt == nrdttrc ) CALL iom_put( "PMO2", zw3d ) 
     307      zw3d(:,:,:)  = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 
     308      IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 
     309      zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
     310      IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 
     311      zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
     312      IF( jnt == nrdttrc ) CALL iom_put( "ExpCaCO3", zw3d ) 
     313      zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
    315314      IF( jnt == nrdttrc ) CALL iom_put( "POCFlx", zw3d ) 
    316       zw3d(:,:,:)  = sinking2(:,:,:)      * zrfact2 * tmask(:,:,:) 
     315      zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
    317316      IF( jnt == nrdttrc ) CALL iom_put( "GOCFlx", zw3d ) 
    318       zw3d(:,:,:)  = sinksil (:,:,:)      * zrfact2 * tmask(:,:,:) 
     317      zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
    319318      IF( jnt == nrdttrc ) CALL iom_put( "SiFlx", zw3d ) 
    320       zw3d(:,:,:)  = sinkcal (:,:,:)      * zrfact2 * tmask(:,:,:) 
     319      zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
    321320      IF( jnt == nrdttrc ) CALL iom_put( "CaCO3Flx", zw3d ) 
    322       zw3d(:,:,:)  = znum3d  (:,:,:)                * tmask(:,:,:) 
     321      zw3d(:,:,:)  = znum3d  (:,:,:)           * tmask(:,:,:) 
    323322      IF( jnt == nrdttrc ) CALL iom_put( "xnum", zw3d ) 
    324       zw3d(:,:,:)  = wsbio3  (:,:,:)                * tmask(:,:,:) 
     323      zw3d(:,:,:)  = wsbio3  (:,:,:)           * tmask(:,:,:) 
    325324      IF( jnt == nrdttrc ) CALL iom_put( "W1", zw3d ) 
    326       zw3d(:,:,:)  = wsbio4  (:,:,:)                * tmask(:,:,:) 
     325      zw3d(:,:,:)  = wsbio4  (:,:,:)           * tmask(:,:,:) 
    327326      IF( jnt == nrdttrc ) CALL iom_put( "W2", zw3d ) 
    328327#  endif 
     
    493492#endif 
    494493#if defined key_iomput 
    495       REAL(wp), DIMENSION(jpi,jpj) ::   zw2d 
     494      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zw3d 
    496495#endif 
    497496      CHARACTER (len=25) :: charout 
     
    623622      trc2d(:,:,jp_pcs0_2d + 9) = sinkcal (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    624623#  else 
    625       ! write diagnostics  
    626       zw2d(:,:) = sinking (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    627       IF( jnt == nrdttrc ) CALL iom_put( "PMO", zw2d ) 
    628       zw2d(:,:) = sinking2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    629       IF( jnt == nrdttrc ) CALL iom_put( "PMO2", zw2d ) 
    630       zw2d(:,:) = sinkfer (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    631       IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw2d ) 
    632       zw2d(:,:) = sinkfer2(:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    633       IF( jnt == nrdttrc ) CALL iom_put( "ExpFe2", zw2d ) 
    634       zw2d(:,:) = sinksil (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    635       IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw2d ) 
    636       zw2d(:,:) = sinkcal (:,:,iksed1) * zrfact2 * tmask(:,:,1) 
    637       IF( jnt == nrdttrc ) CALL iom_put( "ExpCaCO3", zw2d ) 
     624      zw3d(:,:,:)  = sinking (:,:,:) * zrfact2 * tmask(:,:,:) 
     625      IF( jnt == nrdttrc ) CALL iom_put( "ExpPOC" , zw3d ) 
     626      zw3d(:,:,:)  = sinking2(:,:,:) * zrfact2 * tmask(:,:,:) 
     627      IF( jnt == nrdttrc ) CALL iom_put( "ExpGOC", zw3d ) 
     628      zw3d(:,:,:)  = sinkfer (:,:,:) * zrfact2 * tmask(:,:,:) 
     629      IF( jnt == nrdttrc ) CALL iom_put( "ExpFe1", zw3d ) 
     630      zw3d(:,:,:)  = sinkfer2(:,:,:) * zrfact2 * tmask(:,:,:) 
     631      IF( jnt == nrdttrc ) CALL iom_put( "ExpFe2", zw3d ) 
     632      zw3d(:,:,:)  = sinksil (:,:,:) * zrfact2 * tmask(:,:,:) 
     633      IF( jnt == nrdttrc ) CALL iom_put( "ExpSi", zw3d ) 
     634      zw3d(:,:,:)  = sinkcal (:,:,:) * zrfact2 * tmask(:,:,:) 
     635      IF( jnt == nrdttrc ) CALL iom_put( "Expcal", zw3d ) 
    638636#  endif 
    639637#endif 
  • trunk/NEMO/TOP_SRC/PISCES/sms_pisces.F90

    r1445 r1678  
    6060   REAL(wp), DIMENSION(jpi,jpj,jpk) ::   xlimbac    !: ?? 
    6161   REAL(wp), DIMENSION(jpi,jpj,jpk) ::   xdiss      !: ?? 
     62#if defined key_trc_dia3d 
     63   REAL(wp), DIMENSION(jpi,jpj,jpk) ::   prodcal    !: Calcite production 
     64#endif 
    6265 
    6366   !!* Variable for chemistry of the CO2 cycle 
Note: See TracChangeset for help on using the changeset viewer.