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 @ 341

Last change on this file since 341 was 341, checked in by opalod, 18 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
Line 
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 ---------------------------------------------------------------------------
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 ======================
32CDIR$ nolist
33      USE oce_trc
34      USE trp_trc
35      USE sms
36      IMPLICIT NONE
37#include "domzgr_substitute.h90"
38CDIR$ list
39CC----------------------------------------------------------------------
40CC local declarations
41CC ==================
42C
43      INTEGER ji, jj, jk
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
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
59          tkel = tn(ji,jj,1)+273.16
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
65C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1980)
66C      AND FOR THE ATMOSPHERE FOR NON IDEAL GAS
67C -------------------------------------------------------
68C
69          cek0 = c00+c01/qtt+c02*zqtt+sal*(c03+c04*qtt+c05*qtt2)
70          cek1 = ca0+ca1/qtt+ca2*zqtt+ca3*qtt2+sal*(ca4
71     &      +ca5*qtt+ca6*qtt2)
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
78C* 1.4 SET SOLUBILITIES OF O2 AND CO2
79C -----------------------------------
80C
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.
84C
85        ENDDO
86      END DO
87C
88C* 2 CHEMICAL CONSTANTS - DEEP OCEAN
89C -------------------------------------
90C
91      DO jk = 1,jpk
92        DO jj = 1,jpj
93          DO ji = 1,jpi
94C
95C* 2.1 SET PRESSION
96C -----------------
97C
98            pres = 1.025e-1*fsdept(ji,jj,jk)
99C
100C* 2.2 SET ABSOLUTE TEMPERATURE
101C ------------------------------
102C
103            tkel   = tn(ji,jj,jk)+273.16
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
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.
113C
114C* 2.3 CHLORINITY (WOOSTER ET AL., 1969)
115C ---------------------------------------
116C
117            cl = sal*salchl
118C
119C* 2.4 DISSOCIATION CONSTANT FOR CARBONATE AND BORATE
120C -------------------------------------------------------
121C
122            ckb = (cb0+cb1*zsqrt+cb2*sal+cb3*sal15+cb4*sal*sal)*ztr
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
127C
128C* 2.5 PKW (H2O) (DICKSON AND RILEY, 1979)
129C -----------------------------------------
130C
131            ckw = cw0*ztr+cw1+cw2*zlogt+(cw3*ztr+cw4+cw5*zlogt)*
132     &          zsqrt+cw6*sal
133C
134C* 2.6 K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?)
135C -----------------------------------------------------------------
136C
137            ak1 = 10**(ck1)
138            ak2 = 10**(ck2)
139            akb = exp(ckb)
140            akw = exp(ckw)
141C
142C*2.7 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER
143C       (S=27-43, T=2-25 DEG C) AT pres =0 (ATMOSPH. PRESSURE)
144C       (INGLE, 1800, EQ. 6)
145C -------------------------------------------------------------
146C
147            aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log10(sal)
148     &          +akcc4*tkel*tkel)
149C
150C* 2.8 FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970)
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)
164            cpexp2 = pres * pres/(rgas*tkel)
165C
166C* 2.9 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE
167C        CORRECTION AFTER CULBERSON AND PYTKOWICZ (1968)
168C        (CF. BROECKER ET AL., 1982)
169C --------------------------------------------------------
170C
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)
186C
187C  2.10 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE (OR ARAGONITE)
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
194C* 2.11 TOTAL BORATE CONCENTR. [MOLES/L]
195C --------------------------------------
196C
197            borat(ji,jj,jk) = bor1*cl*bor2
198C
199C  2.12 Iron and SIO3 saturation concentration from ...
200C  ----------------------------------------------------
201C
202         sio3eq(ji,jj,jk)=exp(log(10.)*(6.44-968./tkel))*1E-6
203         fekeq(ji,jj,jk)=10**(17.27-1565.7/(273.15+tc))
204C
205          ENDDO
206        ENDDO
207      END DO
208C
209#endif
210C
211      RETURN
212      END
Note: See TracBrowser for help on using the repository browser.