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

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

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