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

source: trunk/NEMO/TOP_SRC/SMS/p4zche.F @ 357

Last change on this file since 357 was 341, checked in by opalod, 19 years ago

nemo_v1_update_028 : CT : add missing headers

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 6.8 KB
RevLine 
[341]1
2CCC $Header$ 
3CCC  TOP 1.0 , LOCEAN-IPSL (2005) 
4C This software is governed by CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
5C ---------------------------------------------------------------------------
[186]6CDIR$ LIST
7      SUBROUTINE p4zche
8#if defined key_passivetrc && defined key_trc_pisces
9CCC---------------------------------------------------------------------
10CCC
11CCC          ROUTINE p4zche : PISCES MODEL
12CCC          *****************************
13CCC
14CCC     PURPOSE.
15CCC     --------
16CCC          *P4ZCHE* SETS CHEMICAL CONSTANTS 
17CCC
18CCC
19CC     EXTERNALS.
20CC     ----------
21CC          rhop
22CC
23CC   MODIFICATIONS:
24CC   --------------
25CC      original :      1988 E. Maier-Reimer
26CC      additions :     1998 O. Aumont
27CC      modifications : 1999 C. Le Quere
28CC      modifications : 2004 O. Aumont
29CC----------------------------------------------------------------------
30CC parameters and commons
31CC ======================
[339]32CDIR$ nolist
[186]33      USE oce_trc
34      USE trp_trc
35      USE sms
36      IMPLICIT NONE
[339]37#include "domzgr_substitute.h90"
[186]38CDIR$ list
39CC----------------------------------------------------------------------
40CC local declarations
41CC ==================
42C
43      INTEGER ji, jj, jk
[339]44      REAL tkel, sal,  qtt, zbuf1, zbuf2
45      REAL pres, tc, cl, cpexp, cek0, oxy, cpexp2
46      REAL zsqrt, ztr, zlogt, cek1
47      REAL zqtt, qtt2, sal15, zis, zis2
48      REAL ckb, ck1, ck2, ckw, ak1, ak2, akb, aksp0, akw
[186]49C
50C* 1. CHEMICAL CONSTANTS - SURFACE LAYER
51C ---------------------------------------
52C
53      DO jj = 1,jpj
54        DO ji = 1,jpi
55C
56C* 1.1 SET ABSOLUTE TEMPERATURE
57C ------------------------------
58C
[339]59          tkel = tn(ji,jj,1)+273.16
[186]60          qtt = tkel*0.01
61          qtt2=qtt*qtt
62          sal = sn(ji,jj,1) + (1.-tmask(ji,jj,1))*35.
63          zqtt=log(qtt)
64C
[339]65C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1980)
66C      AND FOR THE ATMOSPHERE FOR NON IDEAL GAS
[186]67C -------------------------------------------------------
68C
69          cek0 = c00+c01/qtt+c02*zqtt+sal*(c03+c04*qtt+c05*qtt2)
[339]70          cek1 = ca0+ca1/qtt+ca2*zqtt+ca3*qtt2+sal*(ca4
71     &      +ca5*qtt+ca6*qtt2)
[186]72C
73C* 1.3 LN(K0) OF SOLUBILITY OF O2 and N2 (EQ. 4, WEISS, 1970)
74C ------------------------------------------------------------
75C
76          oxy = ox0+ox1/qtt+ox2*zqtt+sal*(ox3+ox4*qtt+ox5*qtt2)
77C
[339]78C* 1.4 SET SOLUBILITIES OF O2 AND CO2
79C -----------------------------------
[186]80C
[339]81          chemc(ji,jj,1) = exp(cek0)*1.E-6*rhop(ji,jj,1)/1000.
82          chemc(ji,jj,2) = exp(oxy)*oxyco
83          chemc(ji,jj,3) = exp(cek1)*1.E-6*rhop(ji,jj,1)/1000.
[186]84C
85        ENDDO
86      END DO
87C
88C* 2 CHEMICAL CONSTANTS - DEEP OCEAN
89C -------------------------------------
90C
91      DO jk = 1,jpk
[339]92        DO jj = 1,jpj
[186]93          DO ji = 1,jpi
94C
[339]95C* 2.1 SET PRESSION
96C -----------------
[186]97C
98            pres = 1.025e-1*fsdept(ji,jj,jk)
99C
[339]100C* 2.2 SET ABSOLUTE TEMPERATURE
[186]101C ------------------------------
102C
[339]103            tkel   = tn(ji,jj,jk)+273.16
[186]104            qtt    = tkel*0.01
105            sal    = sn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*35.
106            zsqrt  = sqrt(sal)
107            sal15  = zsqrt*sal
108            zlogt  = log(tkel)
109            ztr    = 1./tkel
[339]110            zis    = 19.924*sal/(1000.-1.005*sal)
111            zis2   = zis*zis
112            tc = tn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*20.
[186]113C
[339]114C* 2.3 CHLORINITY (WOOSTER ET AL., 1969)
[186]115C ---------------------------------------
116C
117            cl = sal*salchl
118C
[339]119C* 2.4 DISSOCIATION CONSTANT FOR CARBONATE AND BORATE
[186]120C -------------------------------------------------------
121C
122            ckb = (cb0+cb1*zsqrt+cb2*sal+cb3*sal15+cb4*sal*sal)*ztr
[339]123     &          +(cb5+cb6*zsqrt+cb7*sal)+
124     &          (cb8+cb9*zsqrt+cb10*sal)*zlogt+cb11*zsqrt*tkel
125            ck1 = c10*ztr+c11+c12*zlogt+c13*sal+c14*sal**2
126            ck2 = c20*ztr+c21+c22*sal+c23*sal**2
[186]127C
[339]128C* 2.5 PKW (H2O) (DICKSON AND RILEY, 1979)
[186]129C -----------------------------------------
130C
131            ckw = cw0*ztr+cw1+cw2*zlogt+(cw3*ztr+cw4+cw5*zlogt)*
[339]132     &          zsqrt+cw6*sal
[186]133C
[339]134C* 2.6 K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?)
[186]135C -----------------------------------------------------------------
136C
[339]137            ak1 = 10**(ck1)
138            ak2 = 10**(ck2)
[186]139            akb = exp(ckb)
[339]140            akw = exp(ckw)
[186]141C
[339]142C*2.7 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER
[186]143C       (S=27-43, T=2-25 DEG C) AT pres =0 (ATMOSPH. PRESSURE)
144C       (INGLE, 1800, EQ. 6)
145C -------------------------------------------------------------
146C
[339]147            aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log10(sal)
[186]148     &          +akcc4*tkel*tkel)
149C
[339]150C* 2.8 FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970)
[186]151C        (REFERENCE TO CULBERSON AND PYTKOQICZ (1968) AS MADE
152C        IN BROECKER ET AL. (1982) IS INCORRECT; HERE RGAS IS
153C        TAKEN TENFOLD TO CORRECT FOR THE NOTATION OF pres  IN
154C        DBAR INSTEAD OF BAR AND THE EXPRESSION FOR CPEXP IS
155C        MULTIPLIED BY LN(10.) TO ALLOW USE OF EXP-FUNCTION
156C        WITH BASIS E IN THE FORMULA FOR AKSPP (CF. EDMOND
157C        AND GIESKES (1970), P. 1285 AND P. 1286 (THE SMALL
158C        FORMULA ON P. 1286 IS RIGHT AND CONSISTENT WITH THE
159C        SIGN IN PARTIAL MOLAR VOLUME CHANGE AS SHOWN ON
160C        P. 1285))
161C -----------------------------------------------------------
162C
163            cpexp = pres /(rgas*tkel)
[339]164            cpexp2 = pres * pres/(rgas*tkel)
[186]165C
[339]166C* 2.9 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE
[186]167C        CORRECTION AFTER CULBERSON AND PYTKOWICZ (1968)
168C        (CF. BROECKER ET AL., 1982)
169C --------------------------------------------------------
170C
[339]171            zbuf1 = -(devk1(3)+devk2(3)*tc+devk3(3)*tc*tc)
172            zbuf2 = 0.5*(devk4(3)+devk5(3)*tc)
173            akb3(ji,jj,jk) = akb*exp(zbuf1*cpexp+zbuf2*cpexp2)
174
175            zbuf1 = -(devk1(1)+devk2(1)*tc+devk3(1)*tc*tc)
176            zbuf2 = 0.5*(devk4(1)+devk5(1)*tc)
177            ak13(ji,jj,jk) = ak1*exp(zbuf1*cpexp+zbuf2*cpexp2)
178
179            zbuf1 = -(devk1(2)+devk2(2)*tc+devk3(2)*tc*tc)
180            zbuf2 = 0.5*(devk4(2)+devk5(2)*tc)
181            ak23(ji,jj,jk) = ak2*exp(zbuf1*cpexp+zbuf2*cpexp2)
182
183            zbuf1 = -(devk1(4)+devk2(4)*tc+devk3(4)*tc*tc)
184            zbuf2 = 0.5*(devk4(4)+devk5(4)*tc)
185            akw3(ji,jj,jk) = akw*exp(zbuf1*cpexp+zbuf2*cpexp2)
[186]186C
[339]187C  2.10 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE (OR ARAGONITE)
[186]188C        AS FUNCTION OF PRESSURE FOLLWING EDMOND AND GIESKES (1970)
189C        (P. 1285) AND BERNER (1976)
190C -----------------------------------------------------------------
191C
192            aksp(ji,jj,jk) = aksp0*exp(cpexp*(devks-devkst*tc))
193C
[339]194C* 2.11 TOTAL BORATE CONCENTR. [MOLES/L]
195C --------------------------------------
[186]196C
[339]197            borat(ji,jj,jk) = bor1*cl*bor2
[186]198C
[339]199C  2.12 Iron and SIO3 saturation concentration from ...
[186]200C  ----------------------------------------------------
201C
202         sio3eq(ji,jj,jk)=exp(log(10.)*(6.44-968./tkel))*1E-6
[339]203         fekeq(ji,jj,jk)=10**(17.27-1565.7/(273.15+tc))
[186]204C
205          ENDDO
206        ENDDO
207      END DO
[339]208C
[186]209#endif
210C
211      RETURN
212      END
Note: See TracBrowser for help on using the repository browser.