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

Last change on this file since 339 was 339, checked in by opalod, 18 years ago

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

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 6.6 KB
Line 
1CDIR$ LIST
2      SUBROUTINE p4zche
3#if defined key_passivetrc && defined key_trc_pisces
4CCC---------------------------------------------------------------------
5CCC
6CCC          ROUTINE p4zche : PISCES MODEL
7CCC          *****************************
8CCC
9CCC     PURPOSE.
10CCC     --------
11CCC          *P4ZCHE* SETS CHEMICAL CONSTANTS 
12CCC
13CCC
14CC     EXTERNALS.
15CC     ----------
16CC          rhop
17CC
18CC   MODIFICATIONS:
19CC   --------------
20CC      original :      1988 E. Maier-Reimer
21CC      additions :     1998 O. Aumont
22CC      modifications : 1999 C. Le Quere
23CC      modifications : 2004 O. Aumont
24CC----------------------------------------------------------------------
25CC parameters and commons
26CC ======================
27CDIR$ nolist
28      USE oce_trc
29      USE trp_trc
30      USE sms
31      IMPLICIT NONE
32#include "domzgr_substitute.h90"
33CDIR$ list
34CC----------------------------------------------------------------------
35CC local declarations
36CC ==================
37C
38      INTEGER ji, jj, jk
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
44C
45C* 1. CHEMICAL CONSTANTS - SURFACE LAYER
46C ---------------------------------------
47C
48      DO jj = 1,jpj
49        DO ji = 1,jpi
50C
51C* 1.1 SET ABSOLUTE TEMPERATURE
52C ------------------------------
53C
54          tkel = tn(ji,jj,1)+273.16
55          qtt = tkel*0.01
56          qtt2=qtt*qtt
57          sal = sn(ji,jj,1) + (1.-tmask(ji,jj,1))*35.
58          zqtt=log(qtt)
59C
60C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1980)
61C      AND FOR THE ATMOSPHERE FOR NON IDEAL GAS
62C -------------------------------------------------------
63C
64          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)
67C
68C* 1.3 LN(K0) OF SOLUBILITY OF O2 and N2 (EQ. 4, WEISS, 1970)
69C ------------------------------------------------------------
70C
71          oxy = ox0+ox1/qtt+ox2*zqtt+sal*(ox3+ox4*qtt+ox5*qtt2)
72C
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.
79C
80        ENDDO
81      END DO
82C
83C* 2 CHEMICAL CONSTANTS - DEEP OCEAN
84C -------------------------------------
85C
86      DO jk = 1,jpk
87        DO jj = 1,jpj
88          DO ji = 1,jpi
89C
90C* 2.1 SET PRESSION
91C -----------------
92C
93            pres = 1.025e-1*fsdept(ji,jj,jk)
94C
95C* 2.2 SET ABSOLUTE TEMPERATURE
96C ------------------------------
97C
98            tkel   = tn(ji,jj,jk)+273.16
99            qtt    = tkel*0.01
100            sal    = sn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*35.
101            zsqrt  = sqrt(sal)
102            sal15  = zsqrt*sal
103            zlogt  = log(tkel)
104            ztr    = 1./tkel
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)
110C ---------------------------------------
111C
112            cl = sal*salchl
113C
114C* 2.4 DISSOCIATION CONSTANT FOR CARBONATE AND BORATE
115C -------------------------------------------------------
116C
117            ckb = (cb0+cb1*zsqrt+cb2*sal+cb3*sal15+cb4*sal*sal)*ztr
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)
124C -----------------------------------------
125C
126            ckw = cw0*ztr+cw1+cw2*zlogt+(cw3*ztr+cw4+cw5*zlogt)*
127     &          zsqrt+cw6*sal
128C
129C* 2.6 K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?)
130C -----------------------------------------------------------------
131C
132            ak1 = 10**(ck1)
133            ak2 = 10**(ck2)
134            akb = exp(ckb)
135            akw = exp(ckw)
136C
137C*2.7 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER
138C       (S=27-43, T=2-25 DEG C) AT pres =0 (ATMOSPH. PRESSURE)
139C       (INGLE, 1800, EQ. 6)
140C -------------------------------------------------------------
141C
142            aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log10(sal)
143     &          +akcc4*tkel*tkel)
144C
145C* 2.8 FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970)
146C        (REFERENCE TO CULBERSON AND PYTKOQICZ (1968) AS MADE
147C        IN BROECKER ET AL. (1982) IS INCORRECT; HERE RGAS IS
148C        TAKEN TENFOLD TO CORRECT FOR THE NOTATION OF pres  IN
149C        DBAR INSTEAD OF BAR AND THE EXPRESSION FOR CPEXP IS
150C        MULTIPLIED BY LN(10.) TO ALLOW USE OF EXP-FUNCTION
151C        WITH BASIS E IN THE FORMULA FOR AKSPP (CF. EDMOND
152C        AND GIESKES (1970), P. 1285 AND P. 1286 (THE SMALL
153C        FORMULA ON P. 1286 IS RIGHT AND CONSISTENT WITH THE
154C        SIGN IN PARTIAL MOLAR VOLUME CHANGE AS SHOWN ON
155C        P. 1285))
156C -----------------------------------------------------------
157C
158            cpexp = pres /(rgas*tkel)
159            cpexp2 = pres * pres/(rgas*tkel)
160C
161C* 2.9 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE
162C        CORRECTION AFTER CULBERSON AND PYTKOWICZ (1968)
163C        (CF. BROECKER ET AL., 1982)
164C --------------------------------------------------------
165C
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)
183C        AS FUNCTION OF PRESSURE FOLLWING EDMOND AND GIESKES (1970)
184C        (P. 1285) AND BERNER (1976)
185C -----------------------------------------------------------------
186C
187            aksp(ji,jj,jk) = aksp0*exp(cpexp*(devks-devkst*tc))
188C
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 ...
195C  ----------------------------------------------------
196C
197         sio3eq(ji,jj,jk)=exp(log(10.)*(6.44-968./tkel))*1E-6
198         fekeq(ji,jj,jk)=10**(17.27-1565.7/(273.15+tc))
199C
200          ENDDO
201        ENDDO
202      END DO
203C
204#endif
205C
206      RETURN
207      END
Note: See TracBrowser for help on using the repository browser.