Changeset 339 for trunk/NEMO/TOP_SRC/SMS/p4zche.F
- Timestamp:
- 2005-11-14T13:30:28+01:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/TOP_SRC/SMS/p4zche.F
r274 r339 1 CCC$Header$2 CCC TOP 1.0 , LOCEAN-IPSL (2005)3 C This software is governed by CeCILL licence see modipsl/doc/NEMO_CeCILL.txt4 C ---------------------------------------------------------------------------5 1 CDIR$ LIST 6 2 SUBROUTINE p4zche … … 29 25 CC parameters and commons 30 26 CC ====================== 31 CDIR$ NOLIST27 CDIR$ nolist 32 28 USE oce_trc 33 29 USE trp_trc 34 30 USE sms 35 31 IMPLICIT NONE 32 #include "domzgr_substitute.h90" 36 33 CDIR$ list 37 34 CC---------------------------------------------------------------------- … … 40 37 C 41 38 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 48 CC---------------------------------------------------------------------- 49 CC statement functions 50 CC =================== 51 CDIR$ NOLIST 52 #include "domzgr_substitute.h90" 53 CDIR$ LIST 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 54 44 C 55 45 C* 1. CHEMICAL CONSTANTS - SURFACE LAYER 56 46 C --------------------------------------- 57 temzer = 273.1658 C59 C vertical slab60 C =============61 47 C 62 48 DO jj = 1,jpj … … 66 52 C ------------------------------ 67 53 C 68 tkel = tn(ji,jj,1)+ temzer54 tkel = tn(ji,jj,1)+273.16 69 55 qtt = tkel*0.01 70 56 qtt2=qtt*qtt … … 72 58 zqtt=log(qtt) 73 59 C 74 C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1974) 60 C* 1.2 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1980) 61 C AND FOR THE ATMOSPHERE FOR NON IDEAL GAS 75 62 C ------------------------------------------------------- 76 63 C 77 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) 78 67 C 79 68 C* 1.3 LN(K0) OF SOLUBILITY OF O2 and N2 (EQ. 4, WEISS, 1970) … … 82 71 oxy = ox0+ox1/qtt+ox2*zqtt+sal*(ox3+ox4*qtt+ox5*qtt2) 83 72 C 84 C* 1.4 SET CHEMICAL CHEMICAL CONSTANTS 85 C -------------------------------------- 86 C 87 chemc(ji,jj,1) = exp(cek0)*1.E-6 88 C 89 C* 1.5 O2 SOLUBILITY IN SEAWATER (WEISS, 1970, CF. EQ. 4) 90 C --------------------------------------------------------- 91 C 92 chemc(ji,jj,3) = exp(oxy)*oxyco 73 C* 1.4 SET SOLUBILITIES OF O2 AND CO2 74 C ----------------------------------- 75 C 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. 93 79 C 94 80 ENDDO … … 99 85 C 100 86 DO jk = 1,jpk 101 C 102 C* 2.1 APPROX. SEAWATER PRESSURE AT U-POINT DEPTH (BAR) 103 C ------------------------------------------------------ 104 C 105 DO jj=1,jpj 87 DO jj = 1,jpj 106 88 DO ji = 1,jpi 107 89 C 108 C* 2. 2 SET [H+] (FIRST GUESS)109 C ----------------- -----------90 C* 2.1 SET PRESSION 91 C ----------------- 110 92 C 111 93 pres = 1.025e-1*fsdept(ji,jj,jk) 112 hi(ji,jj,jk) = 1.E-7 113 C 114 C* 2.3 SET ABSOLUTE TEMPERATURE 94 C 95 C* 2.2 SET ABSOLUTE TEMPERATURE 115 96 C ------------------------------ 116 97 C 117 tkel = tn(ji,jj,jk)+ temzer98 tkel = tn(ji,jj,jk)+273.16 118 99 qtt = tkel*0.01 119 100 sal = sn(ji,jj,jk) + (1.-tmask(ji,jj,jk))*35. … … 122 103 zlogt = log(tkel) 123 104 ztr = 1./tkel 124 C 125 C* 2.4 CHLORINITY (WOOSTER ET AL., 1969) 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. 108 C 109 C* 2.3 CHLORINITY (WOOSTER ET AL., 1969) 126 110 C --------------------------------------- 127 111 C 128 112 cl = sal*salchl 129 113 C 130 C* 2. 5 LN(K0) OF SOLUBILITY OF CO2 (EQ. 12, WEISS, 1974)114 C* 2.4 DISSOCIATION CONSTANT FOR CARBONATE AND BORATE 131 115 C ------------------------------------------------------- 132 116 C 133 cek0 = c00+c01/qtt+c02*log(qtt)+134 & sal*(c03+c04*qtt+c05*qtt*qtt)135 C136 C COEFFICIENT OCMIP137 C ------------------138 C139 117 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) 146 C 147 C* 2.6 PKW (H2O) (DICKSON AND RILEY, 1979) 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 122 C 123 C* 2.5 PKW (H2O) (DICKSON AND RILEY, 1979) 148 124 C ----------------------------------------- 149 125 C 150 126 ckw = cw0*ztr+cw1+cw2*zlogt+(cw3*ztr+cw4+cw5*zlogt)* 151 $zsqrt+cw6*sal152 C 153 C* 2. 7K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?)127 & zsqrt+cw6*sal 128 C 129 C* 2.6 K1, K2 OF CARBONIC ACID, KB OF BORIC ACID, KW (H2O) (LIT.?) 154 130 C ----------------------------------------------------------------- 155 131 C 156 ak1 = exp(ck1)157 ak2 = exp(ck2)132 ak1 = 10**(ck1) 133 ak2 = 10**(ck2) 158 134 akb = exp(ckb) 159 akw 3(ji,jj,jk)= exp(ckw)160 C 161 C*2. 8APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER135 akw = exp(ckw) 136 C 137 C*2.7 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE IN SEAWATER 162 138 C (S=27-43, T=2-25 DEG C) AT pres =0 (ATMOSPH. PRESSURE) 163 139 C (INGLE, 1800, EQ. 6) 164 140 C ------------------------------------------------------------- 165 141 C 166 aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log (sal)142 aksp0 = 1.E-7*(akcc1+akcc2*sal**(1./3.)+akcc3*log10(sal) 167 143 & +akcc4*tkel*tkel) 168 144 C 169 C* 2. 9FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970)145 C* 2.8 FORMULA FOR CPEXP AFTER EDMOND AND GIESKES (1970) 170 146 C (REFERENCE TO CULBERSON AND PYTKOQICZ (1968) AS MADE 171 147 C IN BROECKER ET AL. (1982) IS INCORRECT; HERE RGAS IS … … 181 157 C 182 158 cpexp = pres /(rgas*tkel) 183 C 184 C* 2.10 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE 159 cpexp2 = pres * pres/(rgas*tkel) 160 C 161 C* 2.9 KB OF BORIC ACID, K1,K2 OF CARBONIC ACID PRESSURE 185 162 C CORRECTION AFTER CULBERSON AND PYTKOWICZ (1968) 186 163 C (CF. BROECKER ET AL., 1982) 187 164 C -------------------------------------------------------- 188 165 C 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)) 193 C 194 C 2.11 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE (OR ARAGONITE) 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) 181 C 182 C 2.10 APPARENT SOLUBILITY PRODUCT K'SP OF CALCITE (OR ARAGONITE) 195 183 C AS FUNCTION OF PRESSURE FOLLWING EDMOND AND GIESKES (1970) 196 184 C (P. 1285) AND BERNER (1976) … … 199 187 aksp(ji,jj,jk) = aksp0*exp(cpexp*(devks-devkst*tc)) 200 188 C 201 C* 2.12 DENSITY OF SEAWATER AND TOTAL BORATE CONCENTR. [MOLES/L] 202 C --------------------------------------------------------------- 203 C 204 rrr = rhop(ji,jj,jk)/1000. 205 borat(ji,jj,jk) = bor1*rrr*cl*bor2 206 C 207 C 2.13 Iron and SIO3 saturation concentration from ... 189 C* 2.11 TOTAL BORATE CONCENTR. [MOLES/L] 190 C -------------------------------------- 191 C 192 borat(ji,jj,jk) = bor1*cl*bor2 193 C 194 C 2.12 Iron and SIO3 saturation concentration from ... 208 195 C ---------------------------------------------------- 209 196 C 210 197 sio3eq(ji,jj,jk)=exp(log(10.)*(6.44-968./tkel))*1E-6 211 fekeq(ji,jj,jk)=10**(1 6.27-1565.7/(273.15+tn(ji,jj,jk)))198 fekeq(ji,jj,jk)=10**(17.27-1565.7/(273.15+tc)) 212 199 C 213 200 ENDDO 214 201 ENDDO 215 202 END DO 216 C 203 C 217 204 #endif 218 205 C
Note: See TracChangeset
for help on using the changeset viewer.