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

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

CL : Add CVS Header and CeCILL licence information

  • 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
37CDIR$ list
38CC----------------------------------------------------------------------
39CC local declarations
40CC ==================
41C
42      INTEGER ji, jj, jk
43      REAL tkel, sal, rrr, qtt
44      REAL pres, tc, cl, cpexp
45      REAL akb, temzer, cek0, oxy
46      REAL zsqrt, ztr, zlogt
47      REAL zqtt, qtt2, sal15
48      REAL ckb, ck1, ck2, ckw, ak1, ak2, aksp0
49CC----------------------------------------------------------------------
50CC statement functions
51CC ===================
52CDIR$ NOLIST
53#include "domzgr_substitute.h90"
54CDIR$ LIST
55C
56C* 1. CHEMICAL CONSTANTS - SURFACE LAYER
57C ---------------------------------------
58      temzer = 273.16
59C
60C vertical slab
61C =============
62C
63      DO jj = 1,jpj
64        DO ji = 1,jpi
65C
66C* 1.1 SET ABSOLUTE TEMPERATURE
67C ------------------------------
68C
69          tkel = tn(ji,jj,1)+temzer
70          qtt = tkel*0.01
71          qtt2=qtt*qtt
72          sal = sn(ji,jj,1) + (1.-tmask(ji,jj,1))*35.
73          zqtt=log(qtt)
74C
75C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1974)
76C -------------------------------------------------------
77C
78          cek0 = c00+c01/qtt+c02*zqtt+sal*(c03+c04*qtt+c05*qtt2)
79C
80C* 1.3 LN(K0) OF SOLUBILITY OF O2 and N2 (EQ. 4, WEISS, 1970)
81C ------------------------------------------------------------
82C
83          oxy = ox0+ox1/qtt+ox2*zqtt+sal*(ox3+ox4*qtt+ox5*qtt2)
84C
85C* 1.4 SET CHEMICAL CHEMICAL CONSTANTS
86C --------------------------------------
87C
88          chemc(ji,jj,1) = exp(cek0)*1.E-6
89C
90C* 1.5 O2 SOLUBILITY IN SEAWATER (WEISS, 1970, CF. EQ. 4)
91C ---------------------------------------------------------
92C
93          chemc(ji,jj,3) = exp(oxy)*oxyco
94C
95        ENDDO
96      END DO
97C
98C* 2 CHEMICAL CONSTANTS - DEEP OCEAN
99C -------------------------------------
100C
101      DO jk = 1,jpk
102C
103C* 2.1 APPROX. SEAWATER PRESSURE AT U-POINT DEPTH (BAR)
104C ------------------------------------------------------
105C
106        DO jj=1,jpj
107          DO ji = 1,jpi
108C
109C* 2.2 SET [H+] (FIRST GUESS)
110C ----------------------------
111C
112            pres = 1.025e-1*fsdept(ji,jj,jk)
113            hi(ji,jj,jk) = 1.E-7
114C
115C* 2.3 SET ABSOLUTE TEMPERATURE
116C ------------------------------
117C
118            tkel   = tn(ji,jj,jk)+temzer
119            qtt    = tkel*0.01
120            sal    = sn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*35.
121            zsqrt  = sqrt(sal)
122            sal15  = zsqrt*sal
123            zlogt  = log(tkel)
124            ztr    = 1./tkel
125C
126C* 2.4 CHLORINITY (WOOSTER ET AL., 1969)
127C ---------------------------------------
128C
129            cl = sal*salchl
130C
131C* 2.5 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1974)
132C -------------------------------------------------------
133C
134            cek0 = c00+c01/qtt+c02*log(qtt)+
135     &          sal*(c03+c04*qtt+c05*qtt*qtt)
136C
137C  COEFFICIENT OCMIP 
138C ------------------
139C
140            ckb = (cb0+cb1*zsqrt+cb2*sal+cb3*sal15+cb4*sal*sal)*ztr
141     $          +(cb5+cb6*zsqrt+cb7*sal)+
142     $          (cb8+cb9*zsqrt+cb10*sal)*zlogt+cb11*zsqrt*tkel
143            ck1 = c10*ztr+c11+c12*zlogt+(c13*ztr+c14)*zsqrt+
144     $          c15*sal+c16*sal15+log(1.+c17*sal)
145            ck2 = c20*ztr+c21+c22*zlogt+(c23*ztr+c24)*zsqrt+c25*sal
146     $          +c26*sal15+log(1.+c27*sal)
147C
148C* 2.6 PKW (H2O) (DICKSON AND RILEY, 1979)
149C -----------------------------------------
150C
151            ckw = cw0*ztr+cw1+cw2*zlogt+(cw3*ztr+cw4+cw5*zlogt)*
152     $          zsqrt+cw6*sal
153C
154C* 2.7 K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?)
155C -----------------------------------------------------------------
156C
157            ak1 = exp(ck1)
158            ak2 = exp(ck2)
159            akb = exp(ckb)
160            akw3(ji,jj,jk) = exp(ckw)
161C
162C*2.8 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER
163C       (S=27-43, T=2-25 DEG C) AT pres =0 (ATMOSPH. PRESSURE)
164C       (INGLE, 1800, EQ. 6)
165C -------------------------------------------------------------
166C
167            aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log(sal)
168     &          +akcc4*tkel*tkel)
169C
170C* 2.9 FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970)
171C        (REFERENCE TO CULBERSON AND PYTKOQICZ (1968) AS MADE
172C        IN BROECKER ET AL. (1982) IS INCORRECT; HERE RGAS IS
173C        TAKEN TENFOLD TO CORRECT FOR THE NOTATION OF pres  IN
174C        DBAR INSTEAD OF BAR AND THE EXPRESSION FOR CPEXP IS
175C        MULTIPLIED BY LN(10.) TO ALLOW USE OF EXP-FUNCTION
176C        WITH BASIS E IN THE FORMULA FOR AKSPP (CF. EDMOND
177C        AND GIESKES (1970), P. 1285 AND P. 1286 (THE SMALL
178C        FORMULA ON P. 1286 IS RIGHT AND CONSISTENT WITH THE
179C        SIGN IN PARTIAL MOLAR VOLUME CHANGE AS SHOWN ON
180C        P. 1285))
181C -----------------------------------------------------------
182C
183            cpexp = pres /(rgas*tkel)
184C
185C* 2.10 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE
186C        CORRECTION AFTER CULBERSON AND PYTKOWICZ (1968)
187C        (CF. BROECKER ET AL., 1982)
188C --------------------------------------------------------
189C
190            tc = tn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*20.
191            akb3(ji,jj,jk) = akb*exp(cpexp*(devkb-devkbt*tc))
192            ak13(ji,jj,jk) = ak1*exp(cpexp*(devk1-devk1t*tc))
193            ak23(ji,jj,jk) = ak2*exp(cpexp*(devk2-devk2t*tc))
194C
195C  2.11 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE (OR ARAGONITE)
196C        AS FUNCTION OF PRESSURE FOLLWING EDMOND AND GIESKES (1970)
197C        (P. 1285) AND BERNER (1976)
198C -----------------------------------------------------------------
199C
200            aksp(ji,jj,jk) = aksp0*exp(cpexp*(devks-devkst*tc))
201C
202C* 2.12 DENSITY OF SEAWATER AND TOTAL BORATE CONCENTR. [MOLES/L]
203C ---------------------------------------------------------------
204C
205            rrr = rhop(ji,jj,jk)/1000.
206            borat(ji,jj,jk) = bor1*rrr*cl*bor2
207C
208C  2.13 Iron and SIO3 saturation concentration from ...
209C  ----------------------------------------------------
210C
211         sio3eq(ji,jj,jk)=exp(log(10.)*(6.44-968./tkel))*1E-6
212         fekeq(ji,jj,jk)=10**(16.27-1565.7/(273.15+tn(ji,jj,jk)))
213C
214          ENDDO
215        ENDDO
216      END DO
217C     
218#endif
219C
220      RETURN
221      END
222
Note: See TracBrowser for help on using the repository browser.