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 5385 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90 – NEMO

Ignore:
Timestamp:
2015-06-09T15:50:42+02:00 (9 years ago)
Author:
cetlod
Message:

merge 2015/dev_r5204_CNRS_PISCES_dcy branch into the trunk, see ticket #1532

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90

    r4996 r5385  
    4848CONTAINS 
    4949 
    50    SUBROUTINE p4z_lys( kt ) 
     50   SUBROUTINE p4z_lys( kt, knt ) 
    5151      !!--------------------------------------------------------------------- 
    5252      !!                     ***  ROUTINE p4z_lys  *** 
     
    5959      !!--------------------------------------------------------------------- 
    6060      ! 
    61       INTEGER, INTENT(in) ::   kt ! ocean time step 
     61      INTEGER, INTENT(in) ::   kt, knt ! ocean time step 
    6262      INTEGER  ::   ji, jj, jk, jn 
    6363      REAL(wp) ::   zalk, zdic, zph, zah2 
    6464      REAL(wp) ::   zdispot, zfact, zcalcon, zalka, zaldi 
    6565      REAL(wp) ::   zomegaca, zexcess, zexcess0 
    66       REAL(wp) ::   zrfact2 
    6766      CHARACTER (len=25) :: charout 
    6867      REAL(wp), POINTER, DIMENSION(:,:,:) :: zco3, zcaldiss    
     
    8988                  zfact = rhop(ji,jj,jk) / 1000. + rtrn 
    9089                  zph  = hi(ji,jj,jk) * tmask(ji,jj,jk) / zfact + ( 1.-tmask(ji,jj,jk) ) * 1.e-9 ! [H+] 
    91                   zdic  = trn(ji,jj,jk,jpdic) / zfact 
    92                   zalka = trn(ji,jj,jk,jptal) / zfact 
     90                  zdic  = trb(ji,jj,jk,jpdic) / zfact 
     91                  zalka = trb(ji,jj,jk,jptal) / zfact 
    9392                  ! CALCULATE [ALK]([CO3--], [HCO3-]) 
    9493                  zalk  = zalka - ( akw3(ji,jj,jk) / zph - zph + borat(ji,jj,jk) / ( 1. + zph / akb3(ji,jj,jk) ) ) 
     
    130129               !       (ACCORDING TO THIS FORMULATION ALSO SOME PARTICULATE 
    131130               !       CACO3 GETS DISSOLVED EVEN IN THE CASE OF OVERSATURATION) 
    132                zdispot = kdca * zexcess * trn(ji,jj,jk,jpcal) 
     131               zdispot = kdca * zexcess * trb(ji,jj,jk,jpcal) 
    133132# if defined key_degrad 
    134133               zdispot = zdispot * facvol(ji,jj,jk) 
     
    136135              !  CHANGE OF [CO3--] , [ALK], PARTICULATE [CACO3], 
    137136              !       AND [SUM(CO2)] DUE TO CACO3 DISSOLUTION/PRECIPITATION 
    138               zcaldiss(ji,jj,jk)  = zdispot / rmtss ! calcite dissolution 
    139               zco3(ji,jj,jk)      = zco3(ji,jj,jk) + zcaldiss(ji,jj,jk) * rfact 
     137              zcaldiss(ji,jj,jk)  = zdispot * rfact2 / rmtss ! calcite dissolution 
     138              zco3(ji,jj,jk)      = zco3(ji,jj,jk) + zcaldiss(ji,jj,jk) 
    140139              ! 
    141140              tra(ji,jj,jk,jptal) = tra(ji,jj,jk,jptal) + 2. * zcaldiss(ji,jj,jk) 
     
    147146      ! 
    148147 
    149       IF( lk_iomput ) THEN 
     148      IF( lk_iomput .AND. knt == nrdttrc ) THEN 
    150149         IF( iom_use( "PH"     ) ) CALL iom_put( "PH"    , -1. * LOG10( hi(:,:,:) )          * tmask(:,:,:) ) 
    151150         IF( iom_use( "CO3"    ) ) CALL iom_put( "CO3"   , zco3(:,:,:) * 1.e+3               * tmask(:,:,:) ) 
    152151         IF( iom_use( "CO3sat" ) ) CALL iom_put( "CO3sat", aksp(:,:,:) * 1.e+3 / calcon      * tmask(:,:,:) ) 
    153          IF( iom_use( "DCAL"   ) ) CALL iom_put( "DCAL"  , zcaldiss(:,:,:) * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     152         IF( iom_use( "DCAL"   ) ) CALL iom_put( "DCAL"  , zcaldiss(:,:,:) * 1.e+3 * rfact2r   * tmask(:,:,:) ) 
    154153      ELSE 
    155154         trc3d(:,:,:,jp_pcs0_3d    ) = -1. * LOG10( hi(:,:,:) ) * tmask(:,:,:) 
Note: See TracChangeset for help on using the changeset viewer.