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 339 for trunk/NEMO/TOP_SRC/SMS/p4zche.F – NEMO

Ignore:
Timestamp:
2005-11-14T13:30:28+01:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_027 : CE + RB + CT : update of SMS routines

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/TOP_SRC/SMS/p4zche.F

    r274 r339  
    1 CCC$Header$ 
    2 CCC  TOP 1.0 , LOCEAN-IPSL (2005) 
    3 C This software is governed by CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
    4 C --------------------------------------------------------------------------- 
    51CDIR$ LIST 
    62      SUBROUTINE p4zche 
     
    2925CC parameters and commons 
    3026CC ====================== 
    31 CDIR$ NOLIST 
     27CDIR$ nolist 
    3228      USE oce_trc 
    3329      USE trp_trc 
    3430      USE sms 
    3531      IMPLICIT NONE 
     32#include "domzgr_substitute.h90" 
    3633CDIR$ list 
    3734CC---------------------------------------------------------------------- 
     
    4037C 
    4138      INTEGER ji, jj, jk 
    42       REAL tkel, sal, rrr, qtt 
    43       REAL pres, tc, cl, cpexp 
    44       REAL akb, temzer, cek0, oxy 
    45       REAL zsqrt, ztr, zlogt 
    46       REAL zqtt, qtt2, sal15 
    47       REAL ckb, ck1, ck2, ckw, ak1, ak2, aksp0 
    48 CC---------------------------------------------------------------------- 
    49 CC statement functions 
    50 CC =================== 
    51 CDIR$ NOLIST 
    52 #include "domzgr_substitute.h90" 
    53 CDIR$ LIST 
     39      REAL tkel, sal,  qtt, zbuf1, zbuf2 
     40      REAL pres, tc, cl, cpexp, cek0, oxy, cpexp2 
     41      REAL zsqrt, ztr, zlogt, cek1 
     42      REAL zqtt, qtt2, sal15, zis, zis2 
     43      REAL ckb, ck1, ck2, ckw, ak1, ak2, akb, aksp0, akw 
    5444C 
    5545C* 1. CHEMICAL CONSTANTS - SURFACE LAYER 
    5646C --------------------------------------- 
    57       temzer = 273.16 
    58 C 
    59 C vertical slab 
    60 C ============= 
    6147C 
    6248      DO jj = 1,jpj 
     
    6652C ------------------------------ 
    6753C 
    68           tkel = tn(ji,jj,1)+temzer 
     54          tkel = tn(ji,jj,1)+273.16 
    6955          qtt = tkel*0.01 
    7056          qtt2=qtt*qtt 
     
    7258          zqtt=log(qtt) 
    7359C 
    74 C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1974) 
     60C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1980) 
     61C      AND FOR THE ATMOSPHERE FOR NON IDEAL GAS 
    7562C ------------------------------------------------------- 
    7663C 
    7764          cek0 = c00+c01/qtt+c02*zqtt+sal*(c03+c04*qtt+c05*qtt2) 
     65          cek1 = ca0+ca1/qtt+ca2*zqtt+ca3*qtt2+sal*(ca4 
     66     &      +ca5*qtt+ca6*qtt2) 
    7867C 
    7968C* 1.3 LN(K0) OF SOLUBILITY OF O2 and N2 (EQ. 4, WEISS, 1970) 
     
    8271          oxy = ox0+ox1/qtt+ox2*zqtt+sal*(ox3+ox4*qtt+ox5*qtt2) 
    8372C 
    84 C* 1.4 SET CHEMICAL CHEMICAL CONSTANTS 
    85 C -------------------------------------- 
    86 C 
    87           chemc(ji,jj,1) = exp(cek0)*1.E-6 
    88 C 
    89 C* 1.5 O2 SOLUBILITY IN SEAWATER (WEISS, 1970, CF. EQ. 4) 
    90 C --------------------------------------------------------- 
    91 C 
    92           chemc(ji,jj,3) = exp(oxy)*oxyco 
     73C* 1.4 SET SOLUBILITIES OF O2 AND CO2 
     74C ----------------------------------- 
     75C 
     76          chemc(ji,jj,1) = exp(cek0)*1.E-6*rhop(ji,jj,1)/1000. 
     77          chemc(ji,jj,2) = exp(oxy)*oxyco 
     78          chemc(ji,jj,3) = exp(cek1)*1.E-6*rhop(ji,jj,1)/1000. 
    9379C 
    9480        ENDDO 
     
    9985C 
    10086      DO jk = 1,jpk 
    101 C 
    102 C* 2.1 APPROX. SEAWATER PRESSURE AT U-POINT DEPTH (BAR) 
    103 C ------------------------------------------------------ 
    104 C 
    105         DO jj=1,jpj 
     87        DO jj = 1,jpj 
    10688          DO ji = 1,jpi 
    10789C 
    108 C* 2.2 SET [H+] (FIRST GUESS) 
    109 C ---------------------------- 
     90C* 2.1 SET PRESSION 
     91C ----------------- 
    11092C 
    11193            pres = 1.025e-1*fsdept(ji,jj,jk) 
    112             hi(ji,jj,jk) = 1.E-7 
    113 C 
    114 C* 2.3 SET ABSOLUTE TEMPERATURE 
     94C 
     95C* 2.2 SET ABSOLUTE TEMPERATURE 
    11596C ------------------------------ 
    11697C 
    117             tkel   = tn(ji,jj,jk)+temzer 
     98            tkel   = tn(ji,jj,jk)+273.16 
    11899            qtt    = tkel*0.01 
    119100            sal    = sn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*35. 
     
    122103            zlogt  = log(tkel) 
    123104            ztr    = 1./tkel 
    124 C 
    125 C* 2.4 CHLORINITY (WOOSTER ET AL., 1969) 
     105            zis    = 19.924*sal/(1000.-1.005*sal) 
     106            zis2   = zis*zis 
     107            tc = tn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*20. 
     108C 
     109C* 2.3 CHLORINITY (WOOSTER ET AL., 1969) 
    126110C --------------------------------------- 
    127111C 
    128112            cl = sal*salchl 
    129113C 
    130 C* 2.5 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1974) 
     114C* 2.4 DISSOCIATION CONSTANT FOR CARBONATE AND BORATE 
    131115C ------------------------------------------------------- 
    132116C 
    133             cek0 = c00+c01/qtt+c02*log(qtt)+ 
    134      &          sal*(c03+c04*qtt+c05*qtt*qtt) 
    135 C 
    136 C  COEFFICIENT OCMIP  
    137 C ------------------ 
    138 C 
    139117            ckb = (cb0+cb1*zsqrt+cb2*sal+cb3*sal15+cb4*sal*sal)*ztr 
    140      $          +(cb5+cb6*zsqrt+cb7*sal)+ 
    141      $          (cb8+cb9*zsqrt+cb10*sal)*zlogt+cb11*zsqrt*tkel 
    142             ck1 = c10*ztr+c11+c12*zlogt+(c13*ztr+c14)*zsqrt+ 
    143      $          c15*sal+c16*sal15+log(1.+c17*sal) 
    144             ck2 = c20*ztr+c21+c22*zlogt+(c23*ztr+c24)*zsqrt+c25*sal 
    145      $          +c26*sal15+log(1.+c27*sal) 
    146 C 
    147 C* 2.6 PKW (H2O) (DICKSON AND RILEY, 1979) 
     118     &          +(cb5+cb6*zsqrt+cb7*sal)+ 
     119     &          (cb8+cb9*zsqrt+cb10*sal)*zlogt+cb11*zsqrt*tkel 
     120            ck1 = c10*ztr+c11+c12*zlogt+c13*sal+c14*sal**2 
     121            ck2 = c20*ztr+c21+c22*sal+c23*sal**2 
     122C 
     123C* 2.5 PKW (H2O) (DICKSON AND RILEY, 1979) 
    148124C ----------------------------------------- 
    149125C 
    150126            ckw = cw0*ztr+cw1+cw2*zlogt+(cw3*ztr+cw4+cw5*zlogt)* 
    151      $          zsqrt+cw6*sal 
    152 C 
    153 C* 2.7 K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?) 
     127     &          zsqrt+cw6*sal 
     128C 
     129C* 2.6 K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?) 
    154130C ----------------------------------------------------------------- 
    155131C 
    156             ak1 = exp(ck1) 
    157             ak2 = exp(ck2) 
     132            ak1 = 10**(ck1) 
     133            ak2 = 10**(ck2) 
    158134            akb = exp(ckb) 
    159             akw3(ji,jj,jk) = exp(ckw) 
    160 C 
    161 C*2.8 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER 
     135            akw = exp(ckw) 
     136C 
     137C*2.7 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER 
    162138C       (S=27-43, T=2-25 DEG C) AT pres =0 (ATMOSPH. PRESSURE) 
    163139C       (INGLE, 1800, EQ. 6) 
    164140C ------------------------------------------------------------- 
    165141C 
    166             aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log(sal) 
     142            aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log10(sal) 
    167143     &          +akcc4*tkel*tkel) 
    168144C 
    169 C* 2.9 FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970) 
     145C* 2.8 FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970) 
    170146C        (REFERENCE TO CULBERSON AND PYTKOQICZ (1968) AS MADE 
    171147C        IN BROECKER ET AL. (1982) IS INCORRECT; HERE RGAS IS 
     
    181157C 
    182158            cpexp = pres /(rgas*tkel) 
    183 C 
    184 C* 2.10 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE 
     159            cpexp2 = pres * pres/(rgas*tkel) 
     160C 
     161C* 2.9 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE 
    185162C        CORRECTION AFTER CULBERSON AND PYTKOWICZ (1968) 
    186163C        (CF. BROECKER ET AL., 1982) 
    187164C -------------------------------------------------------- 
    188165C 
    189             tc = tn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*20. 
    190             akb3(ji,jj,jk) = akb*exp(cpexp*(devkb-devkbt*tc)) 
    191             ak13(ji,jj,jk) = ak1*exp(cpexp*(devk1-devk1t*tc)) 
    192             ak23(ji,jj,jk) = ak2*exp(cpexp*(devk2-devk2t*tc)) 
    193 C 
    194 C  2.11 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE (OR ARAGONITE) 
     166            zbuf1 = -(devk1(3)+devk2(3)*tc+devk3(3)*tc*tc) 
     167            zbuf2 = 0.5*(devk4(3)+devk5(3)*tc) 
     168            akb3(ji,jj,jk) = akb*exp(zbuf1*cpexp+zbuf2*cpexp2) 
     169 
     170            zbuf1 = -(devk1(1)+devk2(1)*tc+devk3(1)*tc*tc) 
     171            zbuf2 = 0.5*(devk4(1)+devk5(1)*tc) 
     172            ak13(ji,jj,jk) = ak1*exp(zbuf1*cpexp+zbuf2*cpexp2) 
     173 
     174            zbuf1 = -(devk1(2)+devk2(2)*tc+devk3(2)*tc*tc) 
     175            zbuf2 = 0.5*(devk4(2)+devk5(2)*tc) 
     176            ak23(ji,jj,jk) = ak2*exp(zbuf1*cpexp+zbuf2*cpexp2) 
     177 
     178            zbuf1 = -(devk1(4)+devk2(4)*tc+devk3(4)*tc*tc) 
     179            zbuf2 = 0.5*(devk4(4)+devk5(4)*tc) 
     180            akw3(ji,jj,jk) = akw*exp(zbuf1*cpexp+zbuf2*cpexp2) 
     181C 
     182C  2.10 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE (OR ARAGONITE) 
    195183C        AS FUNCTION OF PRESSURE FOLLWING EDMOND AND GIESKES (1970) 
    196184C        (P. 1285) AND BERNER (1976) 
     
    199187            aksp(ji,jj,jk) = aksp0*exp(cpexp*(devks-devkst*tc)) 
    200188C 
    201 C* 2.12 DENSITY OF SEAWATER AND TOTAL BORATE CONCENTR. [MOLES/L] 
    202 C --------------------------------------------------------------- 
    203 C 
    204             rrr = rhop(ji,jj,jk)/1000. 
    205             borat(ji,jj,jk) = bor1*rrr*cl*bor2 
    206 C 
    207 C  2.13 Iron and SIO3 saturation concentration from ... 
     189C* 2.11 TOTAL BORATE CONCENTR. [MOLES/L] 
     190C -------------------------------------- 
     191C 
     192            borat(ji,jj,jk) = bor1*cl*bor2 
     193C 
     194C  2.12 Iron and SIO3 saturation concentration from ... 
    208195C  ---------------------------------------------------- 
    209196C 
    210197         sio3eq(ji,jj,jk)=exp(log(10.)*(6.44-968./tkel))*1E-6 
    211          fekeq(ji,jj,jk)=10**(16.27-1565.7/(273.15+tn(ji,jj,jk))) 
     198         fekeq(ji,jj,jk)=10**(17.27-1565.7/(273.15+tc)) 
    212199C 
    213200          ENDDO 
    214201        ENDDO 
    215202      END DO 
    216 C       
     203C 
    217204#endif 
    218205C 
Note: See TracChangeset for help on using the changeset viewer.