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 15287 for NEMO/trunk/src/TOP – NEMO

Changeset 15287 for NEMO/trunk/src/TOP


Ignore:
Timestamp:
2021-09-24T13:11:02+02:00 (3 years ago)
Author:
cetlod
Message:

trunk : bugfixes in PISCES

Location:
NEMO/trunk/src/TOP/PISCES/P4Z
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zlys.F90

    r15090 r15287  
    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 
     
    9898         excess(ji,jj,jk) = 1._wp - zomegaca 
    9999         zexcess0 = MAX( 0., excess(ji,jj,jk) ) 
    100          zexcess  = zexcess0**nca 
    101100 
    102          ! AMOUNT CACO3 (12C) THAT RE-ENTERS SOLUTION 
    103          !       (ACCORDING TO THIS FORMULATION ALSO SOME PARTICULATE 
    104          !       CACO3 GETS DISSOLVED EVEN IN THE CASE OF OVERSATURATION) 
    105          zdispot = kdca * zexcess * tr(ji,jj,jk,jpcal,Kbb) 
     101         IF( zomegaca < 0.8 ) THEN 
     102            zexcess = zexcess0**nca 
     103            ! AMOUNT CACO3 THAT RE-ENTERS SOLUTION 
     104            zdispot = kdca * zexcess * tr(ji,jj,jk,jpcal,Kbb) 
     105         ELSE 
     106            zkd = kdca * 0.2**(nca - 0.11) 
     107            zexcess = zexcess0**0.11 
     108            zdispot = zkd * zexcess * tr(ji,jj,jk,jpcal,Kbb) 
     109        ENDIF 
     110 
    106111        !  CHANGE OF [CO3--] , [ALK], PARTICULATE [CACO3], 
    107112        !       AND [SUM(CO2)] DUE TO CACO3 DISSOLUTION/PRECIPITATION 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zsed.F90

    r15090 r15287  
    265265            tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 
    266266            tr(ji,jj,jk,jptal,Krhs) = tr(ji,jj,jk,jptal,Krhs) + rno3 * zfact / 3.0 
     267            tr(ji,jj,jk,jpdic,Krhs) = tr(ji,jj,jk,jpdic,Krhs) - zfact * 2.0 / 3.0             
    267268            tr(ji,jj,jk,jppo4,Krhs) = tr(ji,jj,jk,jppo4,Krhs) - zfact * 2.0 / 3.0 
    268269            tr(ji,jj,jk,jpdoc,Krhs) = tr(ji,jj,jk,jpdoc,Krhs) + zfact * 1.0 / 3.0 
     
    282283            tr(ji,jj,jk,jpnh4,Krhs) = tr(ji,jj,jk,jpnh4,Krhs) + zfact / 3.0 
    283284            tr(ji,jj,jk,jptal,Krhs) = tr(ji,jj,jk,jptal,Krhs) + rno3 * zfact / 3.0 
     285            tr(ji,jj,jk,jpdic,Krhs) = tr(ji,jj,jk,jpdic,Krhs) - zfact * 2.0 / 3.0             
    284286            tr(ji,jj,jk,jppo4,Krhs) = tr(ji,jj,jk,jppo4,Krhs) - 16.0 / 46.0 * zfact * ( 1.0 - 1.0 / 3.0 ) & 
    285287            &                     * ztrpo4(ji,jj,jk) / (ztrpo4(ji,jj,jk) + ztrdop(ji,jj,jk) + rtrn) 
Note: See TracChangeset for help on using the changeset viewer.