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

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

nemo_v1_update_005:RB: update headers for the TOP component.

  • 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 
1CCC$Header$
2CCC  TOP 1.0 , LOCEAN-IPSL (2005)
3C This software is governed by CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
4C ---------------------------------------------------------------------------
5CDIR$ LIST
6      SUBROUTINE p4zche
7#if defined key_passivetrc && defined key_trc_pisces
8CCC---------------------------------------------------------------------
9CCC
10CCC          ROUTINE p4zche : PISCES MODEL
11CCC          *****************************
12CCC
13CCC     PURPOSE.
14CCC     --------
15CCC          *P4ZCHE* SETS CHEMICAL CONSTANTS 
16CCC
17CCC
18CC     EXTERNALS.
19CC     ----------
20CC          rhop
21CC
22CC   MODIFICATIONS:
23CC   --------------
24CC      original :      1988 E. Maier-Reimer
25CC      additions :     1998 O. Aumont
26CC      modifications : 1999 C. Le Quere
27CC      modifications : 2004 O. Aumont
28CC----------------------------------------------------------------------
29CC parameters and commons
30CC ======================
31CDIR$ NOLIST
32      USE oce_trc
33      USE trp_trc
34      USE sms
35      IMPLICIT NONE
36CDIR$ list
37CC----------------------------------------------------------------------
38CC local declarations
39CC ==================
40C
41      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
48CC----------------------------------------------------------------------
49CC statement functions
50CC ===================
51CDIR$ NOLIST
52#include "domzgr_substitute.h90"
53CDIR$ LIST
54C
55C* 1. CHEMICAL CONSTANTS - SURFACE LAYER
56C ---------------------------------------
57      temzer = 273.16
58C
59C vertical slab
60C =============
61C
62      DO jj = 1,jpj
63        DO ji = 1,jpi
64C
65C* 1.1 SET ABSOLUTE TEMPERATURE
66C ------------------------------
67C
68          tkel = tn(ji,jj,1)+temzer
69          qtt = tkel*0.01
70          qtt2=qtt*qtt
71          sal = sn(ji,jj,1) + (1.-tmask(ji,jj,1))*35.
72          zqtt=log(qtt)
73C
74C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1974)
75C -------------------------------------------------------
76C
77          cek0 = c00+c01/qtt+c02*zqtt+sal*(c03+c04*qtt+c05*qtt2)
78C
79C* 1.3 LN(K0) OF SOLUBILITY OF O2 and N2 (EQ. 4, WEISS, 1970)
80C ------------------------------------------------------------
81C
82          oxy = ox0+ox1/qtt+ox2*zqtt+sal*(ox3+ox4*qtt+ox5*qtt2)
83C
84C* 1.4 SET CHEMICAL CHEMICAL CONSTANTS
85C --------------------------------------
86C
87          chemc(ji,jj,1) = exp(cek0)*1.E-6
88C
89C* 1.5 O2 SOLUBILITY IN SEAWATER (WEISS, 1970, CF. EQ. 4)
90C ---------------------------------------------------------
91C
92          chemc(ji,jj,3) = exp(oxy)*oxyco
93C
94        ENDDO
95      END DO
96C
97C* 2 CHEMICAL CONSTANTS - DEEP OCEAN
98C -------------------------------------
99C
100      DO jk = 1,jpk
101C
102C* 2.1 APPROX. SEAWATER PRESSURE AT U-POINT DEPTH (BAR)
103C ------------------------------------------------------
104C
105        DO jj=1,jpj
106          DO ji = 1,jpi
107C
108C* 2.2 SET [H+] (FIRST GUESS)
109C ----------------------------
110C
111            pres = 1.025e-1*fsdept(ji,jj,jk)
112            hi(ji,jj,jk) = 1.E-7
113C
114C* 2.3 SET ABSOLUTE TEMPERATURE
115C ------------------------------
116C
117            tkel   = tn(ji,jj,jk)+temzer
118            qtt    = tkel*0.01
119            sal    = sn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*35.
120            zsqrt  = sqrt(sal)
121            sal15  = zsqrt*sal
122            zlogt  = log(tkel)
123            ztr    = 1./tkel
124C
125C* 2.4 CHLORINITY (WOOSTER ET AL., 1969)
126C ---------------------------------------
127C
128            cl = sal*salchl
129C
130C* 2.5 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1974)
131C -------------------------------------------------------
132C
133            cek0 = c00+c01/qtt+c02*log(qtt)+
134     &          sal*(c03+c04*qtt+c05*qtt*qtt)
135C
136C  COEFFICIENT OCMIP 
137C ------------------
138C
139            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)
146C
147C* 2.6 PKW (H2O) (DICKSON AND RILEY, 1979)
148C -----------------------------------------
149C
150            ckw = cw0*ztr+cw1+cw2*zlogt+(cw3*ztr+cw4+cw5*zlogt)*
151     $          zsqrt+cw6*sal
152C
153C* 2.7 K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?)
154C -----------------------------------------------------------------
155C
156            ak1 = exp(ck1)
157            ak2 = exp(ck2)
158            akb = exp(ckb)
159            akw3(ji,jj,jk) = exp(ckw)
160C
161C*2.8 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER
162C       (S=27-43, T=2-25 DEG C) AT pres =0 (ATMOSPH. PRESSURE)
163C       (INGLE, 1800, EQ. 6)
164C -------------------------------------------------------------
165C
166            aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log(sal)
167     &          +akcc4*tkel*tkel)
168C
169C* 2.9 FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970)
170C        (REFERENCE TO CULBERSON AND PYTKOQICZ (1968) AS MADE
171C        IN BROECKER ET AL. (1982) IS INCORRECT; HERE RGAS IS
172C        TAKEN TENFOLD TO CORRECT FOR THE NOTATION OF pres  IN
173C        DBAR INSTEAD OF BAR AND THE EXPRESSION FOR CPEXP IS
174C        MULTIPLIED BY LN(10.) TO ALLOW USE OF EXP-FUNCTION
175C        WITH BASIS E IN THE FORMULA FOR AKSPP (CF. EDMOND
176C        AND GIESKES (1970), P. 1285 AND P. 1286 (THE SMALL
177C        FORMULA ON P. 1286 IS RIGHT AND CONSISTENT WITH THE
178C        SIGN IN PARTIAL MOLAR VOLUME CHANGE AS SHOWN ON
179C        P. 1285))
180C -----------------------------------------------------------
181C
182            cpexp = pres /(rgas*tkel)
183C
184C* 2.10 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE
185C        CORRECTION AFTER CULBERSON AND PYTKOWICZ (1968)
186C        (CF. BROECKER ET AL., 1982)
187C --------------------------------------------------------
188C
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))
193C
194C  2.11 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE (OR ARAGONITE)
195C        AS FUNCTION OF PRESSURE FOLLWING EDMOND AND GIESKES (1970)
196C        (P. 1285) AND BERNER (1976)
197C -----------------------------------------------------------------
198C
199            aksp(ji,jj,jk) = aksp0*exp(cpexp*(devks-devkst*tc))
200C
201C* 2.12 DENSITY OF SEAWATER AND TOTAL BORATE CONCENTR. [MOLES/L]
202C ---------------------------------------------------------------
203C
204            rrr = rhop(ji,jj,jk)/1000.
205            borat(ji,jj,jk) = bor1*rrr*cl*bor2
206C
207C  2.13 Iron and SIO3 saturation concentration from ...
208C  ----------------------------------------------------
209C
210         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)))
212C
213          ENDDO
214        ENDDO
215      END DO
216C     
217#endif
218C
219      RETURN
220      END
Note: See TracBrowser for help on using the repository browser.