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 14786 for NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zlys.F90 – NEMO

Ignore:
Timestamp:
2021-05-05T09:09:10+02:00 (3 years ago)
Author:
aumont
Message:

Various bug fixes in PISCES

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zlys.F90

    r13295 r14786  
    6060      INTEGER  ::   ji, jj, jk, jn 
    6161      REAL(wp) ::   zdispot, zfact, zcalcon 
    62       REAL(wp) ::   zomegaca, zexcess, zexcess0 
     62      REAL(wp) ::   zomegaca, zexcess, zexcess0, zkd 
    6363      CHARACTER (len=25) ::   charout 
    6464      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zco3, zcaldiss, zhinit, zhi, zco3sat 
     
    6868      ! 
    6969      zhinit  (:,:,:) = hi(:,:,:) * 1000. / ( rhop(:,:,:) + rtrn ) 
     70      zco3    (:,:,:) = 0._wp     ;   zco3sat(:,:,:) = 0._wp 
     71      zcaldiss(:,:,:) = 0._wp 
    7072      ! 
    7173      !     ------------------------------------------- 
     
    99101         excess(ji,jj,jk) = 1._wp - zomegaca 
    100102         zexcess0 = MAX( 0., excess(ji,jj,jk) ) 
    101          zexcess  = zexcess0**nca 
    102103 
    103          ! AMOUNT CACO3 (12C) THAT RE-ENTERS SOLUTION 
    104          !       (ACCORDING TO THIS FORMULATION ALSO SOME PARTICULATE 
    105          !       CACO3 GETS DISSOLVED EVEN IN THE CASE OF OVERSATURATION) 
    106          zdispot = kdca * zexcess * tr(ji,jj,jk,jpcal,Kbb) 
     104         IF (zomegaca < 0.8) THEN 
     105            zexcess  = zexcess0**nca 
     106            ! AMOUNT CACO3 THAT RE-ENTERS SOLUTION 
     107            zdispot = kdca * zexcess * tr(ji,jj,jk,jpcal,Kbb) 
     108         ELSE 
     109 
     110            zkd = kdca * 0.1**(nca - 0.4) 
     111            zexcess  = zexcess0**0.4 
     112            zdispot = zkd * zexcess * tr(ji,jj,jk,jpcal,Kbb) 
     113        ENDIF 
     114 
    107115        !  CHANGE OF [CO3--] , [ALK], PARTICULATE [CACO3], 
    108116        !       AND [SUM(CO2)] DUE TO CACO3 DISSOLUTION/PRECIPITATION 
Note: See TracChangeset for help on using the changeset viewer.