[186] | 1 | CCC----------------------------------------------------------------- |
---|
| 2 | CCC |
---|
| 3 | CCC ROUTINE trcini.pisces.h |
---|
| 4 | CCC ************************ |
---|
| 5 | CCC |
---|
| 6 | CCC PURPOSE : |
---|
| 7 | CCC --------- |
---|
| 8 | CCC Initialisation of PISCES biological and chemical variables |
---|
| 9 | CCC |
---|
| 10 | CC INPUT : |
---|
| 11 | CC ----- |
---|
| 12 | CC common |
---|
| 13 | CC all the common defined in opa |
---|
| 14 | CC |
---|
| 15 | CC |
---|
| 16 | CC OUTPUT : : no |
---|
| 17 | CC ------ |
---|
| 18 | CC |
---|
| 19 | CC EXTERNAL : |
---|
| 20 | CC ---------- |
---|
| 21 | CC p4zche |
---|
| 22 | CC |
---|
| 23 | CC MODIFICATIONS: |
---|
| 24 | CC -------------- |
---|
| 25 | CC original : 1988-07 E. MAIER-REIMER MPI HAMBURG |
---|
| 26 | CC additions : 1999-10 O. Aumont and C. Le Quere |
---|
| 27 | CC additions : 2002 O. Aumont (PISCES) |
---|
| 28 | CC |
---|
| 29 | CCC--------------------------------------------------------------------- |
---|
| 30 | CC local declarations |
---|
| 31 | CC ================== |
---|
| 32 | INTEGER ichl,iband,mo |
---|
| 33 | INTEGER jpmois,jpan |
---|
| 34 | PARAMETER (jpan=1, jpmois=12) |
---|
| 35 | |
---|
| 36 | REAL xtoto,expide,denitide |
---|
| 37 | REAL ndepo(jpi,jpj),river(jpi,jpj) |
---|
| 38 | REAL riverdoc(jpi,jpj) |
---|
| 39 | CHARACTER*34 clname |
---|
| 40 | |
---|
| 41 | INTEGER ipi,ipj,ipk,istep(jpmois),itime,istep0(jpan) |
---|
| 42 | REAL zsecond, zlon(jpi,jpj),zlat(jpi,jpj),zlev(jpk),zdate0 |
---|
| 43 | INTEGER numriv,numdust,numbath,numdep |
---|
| 44 | C |
---|
| 45 | C 1. initialization |
---|
| 46 | C ----------------- |
---|
| 47 | C |
---|
| 48 | C computation of the record length for direct access FILE |
---|
| 49 | C this length depend of 512 for the t3d machine |
---|
| 50 | C |
---|
| 51 | rfact = rdttra(1) * float(ndttrc) |
---|
| 52 | rfactr = 1./rfact |
---|
| 53 | WRITE(numout,*) ' Tracer time step=',rfact,' rdt=',rdt |
---|
| 54 | rfact2= rfact / float(nrdttrc) |
---|
| 55 | rfact2r = 1./rfact2 |
---|
| 56 | write(numout,*) ' Biology time step=',rfact2 |
---|
| 57 | C |
---|
| 58 | C INITIALISE DUST INPUT FROM ATMOSPHERE |
---|
| 59 | C ------------------------------------- |
---|
| 60 | C |
---|
| 61 | IF (bdustfer) THEN |
---|
| 62 | clname='dust.orca.nc' |
---|
| 63 | CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 |
---|
| 64 | $ ,zlon,zlat,zlev,itime,istep,zdate0,zsecond,numdust) |
---|
| 65 | CALL flinget(numdust,'dust',jpidta,jpjdta,0,jpmois,1, |
---|
| 66 | $ 12,mig(1),nlci,mjg(1),nlcj,dustmo(1:nlci,1:nlcj,12) ) |
---|
| 67 | CALL flinclo(numdust) |
---|
| 68 | ELSE |
---|
| 69 | dustmo(:,:,:)=0. |
---|
| 70 | ENDIF |
---|
| 71 | C |
---|
| 72 | C INITIALISE THE NUTRIENT INPUT BY RIVERS |
---|
| 73 | C --------------------------------------- |
---|
| 74 | C |
---|
| 75 | IF (briver) THEN |
---|
| 76 | clname='river.orca.nc' |
---|
| 77 | CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 |
---|
| 78 | $ ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numriv) |
---|
| 79 | CALL flinget(numriv,'riverdic',jpidta,jpjdta,0,jpan,1, |
---|
| 80 | $ 1,mig(1),nlci,mjg(1),nlcj,river(1:nlci,1:nlcj) ) |
---|
| 81 | CALL flinget(numriv,'riverdoc',jpidta,jpjdta,0,jpan,1, |
---|
| 82 | $ 1,mig(1),nlci,mjg(1),nlcj,riverdoc(1:nlci,1:nlcj) ) |
---|
| 83 | CALL flinclo(numriv) |
---|
| 84 | ELSE |
---|
| 85 | river(:,:)=0. |
---|
| 86 | riverdoc(:,:)=0. |
---|
| 87 | endif |
---|
| 88 | C |
---|
| 89 | C INITIALISE THE N INPUT BY DUST |
---|
| 90 | C --------------------------------------- |
---|
| 91 | C |
---|
| 92 | IF (bndepo) THEN |
---|
| 93 | clname='ndeposition.orca.nc' |
---|
| 94 | CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,0 |
---|
| 95 | $ ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numdep) |
---|
| 96 | CALL flinget(numdep,'ndep',jpidta,jpjdta,0,jpan,1, |
---|
| 97 | $ 1,mig(1),nlci,mjg(1),nlcj,ndepo(1:nlci,1:nlcj) ) |
---|
| 98 | CALL flinclo(numdep) |
---|
| 99 | ELSE |
---|
| 100 | ndepo(:,:)=0. |
---|
| 101 | ENDIF |
---|
| 102 | C |
---|
| 103 | C Computation of the coastal mask. |
---|
| 104 | C Computation of an island mask to enhance coastal supply |
---|
| 105 | C of iron |
---|
| 106 | C ------------------------------------------------------- |
---|
| 107 | C |
---|
| 108 | IF (bsedinput) THEN |
---|
| 109 | clname='bathy.orca.nc' |
---|
| 110 | CALL flinopen(clname,mig(1),nlci,mjg(1),nlcj,.false.,ipi,ipj,ipk |
---|
| 111 | $ ,zlon,zlat,zlev,itime,istep0,zdate0,zsecond,numbath) |
---|
| 112 | CALL flinget(numbath,'bathy',jpidta,jpjdta,jpk,jpan,1, |
---|
| 113 | $ 1,mig(1),nlci,mjg(1),nlcj,cmask(1:nlci,1:nlcj,1:jpk) ) |
---|
| 114 | CALL flinclo(numbath) |
---|
| 115 | C |
---|
| 116 | DO jk=1,jpk |
---|
| 117 | DO ji=1,jpi |
---|
| 118 | DO jj=1,jpj |
---|
| 119 | expide=min(8.,(fsdept(ji,jj,jk)/500.)**(-1.5)) |
---|
| 120 | denitide=-0.9543+0.7662*log(expide)-0.235*log(expide)**2 |
---|
| 121 | cmask(ji,jj,jk)=cmask(ji,jj,jk)*exp(denitide)/0.6858 |
---|
| 122 | END DO |
---|
| 123 | END DO |
---|
| 124 | END DO |
---|
| 125 | ELSE |
---|
| 126 | cmask(:,:,:)=0. |
---|
| 127 | ENDIF |
---|
| 128 | C |
---|
| 129 | C Computation of the total atmospheric supply of Si |
---|
| 130 | C ------------------------------------------------- |
---|
| 131 | C |
---|
| 132 | sumdepsi=0. |
---|
| 133 | DO mo=1,12 |
---|
| 134 | DO jj=2,jpjm1 |
---|
| 135 | DO ji=2,jpim1 |
---|
| 136 | sumdepsi=sumdepsi+dustmo(ji,jj,mo)/(12.*rmoss)*8.8 |
---|
| 137 | & *0.075/28.1*e1t(ji,jj)*e2t(ji,jj)*tmask(ji,jj,1) |
---|
| 138 | END DO |
---|
| 139 | END DO |
---|
| 140 | END DO |
---|
| 141 | C |
---|
| 142 | C COMPUTATION OF THE N/P RELEASE DUE TO COASTAL RIVERS |
---|
| 143 | C COMPUTATION OF THE Si RELEASE DUE TO COASTAL RIVERS |
---|
| 144 | C --------------------------------------------------- |
---|
| 145 | C |
---|
| 146 | DO jj=1,jpj |
---|
| 147 | DO ji=1,jpi |
---|
| 148 | cotdep(ji,jj,1)=river(ji,jj)*1E9/(12.*raass |
---|
| 149 | & *e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1))*tmask(ji,jj,1) |
---|
| 150 | po4dep(ji,jj,1)=(river(ji,jj)+riverdoc(ji,jj))*1E9 |
---|
| 151 | & /(31.6*raass*e1t(ji,jj)*e2t(ji,jj)*fse3t(ji,jj,1)) |
---|
| 152 | & *tmask(ji,jj,1) |
---|
| 153 | nitdep(ji,jj,1)=7.6*ndepo(ji,jj)*tmask(ji,jj,1)/(14E6*raass |
---|
| 154 | & *fse3t(ji,jj,1)) |
---|
| 155 | END DO |
---|
| 156 | END DO |
---|
| 157 | |
---|
| 158 | rivpo4input=0. |
---|
| 159 | rivalkinput=0. |
---|
| 160 | rivnitinput=0. |
---|
| 161 | DO jj=2,jpjm1 |
---|
| 162 | DO ji=2,jpim1 |
---|
| 163 | rivpo4input=rivpo4input+po4dep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) |
---|
| 164 | & *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass |
---|
| 165 | rivalkinput=rivalkinput+cotdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) |
---|
| 166 | & *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass |
---|
| 167 | rivnitinput=rivnitinput+nitdep(ji,jj,1)*(e1t(ji,jj)*e2t(ji,jj) |
---|
| 168 | & *fse3t(ji,jj,1))*tmask(ji,jj,1)*raass |
---|
| 169 | END DO |
---|
| 170 | END DO |
---|
| 171 | C |
---|
| 172 | C Coastal supply of iron |
---|
| 173 | C ---------------------- |
---|
| 174 | C |
---|
| 175 | DO jk=1,jpkm1 |
---|
| 176 | DO jj=1,jpj |
---|
| 177 | DO ji=1,jpi |
---|
| 178 | ironsed(ji,jj,jk)=sedfeinput*cmask(ji,jj,jk) |
---|
| 179 | & /(fse3t(ji,jj,jk)*rjjss) |
---|
| 180 | END DO |
---|
| 181 | END DO |
---|
| 182 | END DO |
---|
| 183 | C |
---|
| 184 | CC---------------------------------------------------------------------- |
---|
| 185 | CC |
---|
| 186 | CC Initialize biological variables |
---|
| 187 | CC |
---|
| 188 | CC---------------------------------------------------------------------- |
---|
| 189 | C |
---|
| 190 | spocri = 0.003 |
---|
| 191 | jkopt = 14 |
---|
| 192 | C |
---|
| 193 | C Set biological ratios |
---|
| 194 | C --------------------- |
---|
| 195 | C |
---|
| 196 | rno3 = (16.+2.)/122. |
---|
| 197 | po4r = 1./122. |
---|
| 198 | o2ut = 172./122. |
---|
| 199 | o2nit = 32./122. |
---|
| 200 | rdenit = 97.6/16. |
---|
| 201 | o2ut = 140./122. |
---|
| 202 | C |
---|
| 203 | CC---------------------------------------------------------------------- |
---|
| 204 | CC |
---|
| 205 | CC Initialize chemical variables |
---|
| 206 | CC |
---|
| 207 | CC---------------------------------------------------------------------- |
---|
| 208 | C |
---|
| 209 | C set pre-industrial atmospheric [co2] (ppm) and o2/n2 ratio |
---|
| 210 | C ---------------------------------------------------------- |
---|
| 211 | C |
---|
| 212 | atcox = 0.20946 |
---|
| 213 | C |
---|
| 214 | C Set lower/upper limits for temperature and salinity |
---|
| 215 | C --------------------------------------------------- |
---|
| 216 | C |
---|
| 217 | salchl = 1./1.80655 |
---|
| 218 | calcon = 1.03E-2 |
---|
| 219 | C |
---|
| 220 | C Set coefficients for apparent solubility equilibrium |
---|
| 221 | C of calcite (Ingle, 1800, eq. 6) |
---|
| 222 | C ---------------------------------------------------- |
---|
| 223 | C |
---|
| 224 | akcc1 = -34.452 |
---|
| 225 | akcc2 = -39.866 |
---|
| 226 | akcc3 = 110.21 |
---|
| 227 | akcc4 = -7.5752E-6 |
---|
| 228 | C |
---|
| 229 | C |
---|
| 230 | C Set coefficients for seawater pressure correction |
---|
| 231 | C ------------------------------------------------- |
---|
| 232 | C |
---|
| 233 | devk1 = 24.2 |
---|
| 234 | devk2 = 16.4 |
---|
| 235 | devkb = 27.5 |
---|
| 236 | devk1t = 0.085 |
---|
| 237 | devk2t = 0.04 |
---|
| 238 | devkbt = 0.095 |
---|
| 239 | C |
---|
| 240 | devkst = 0.23 |
---|
| 241 | devks = 35.4 |
---|
| 242 | C |
---|
| 243 | C Set universal gas constants |
---|
| 244 | C --------------------------- |
---|
| 245 | C |
---|
| 246 | rgas = 83.143 |
---|
| 247 | oxyco = 1./22.4144 |
---|
| 248 | C |
---|
| 249 | C Set boron constants |
---|
| 250 | C ------------------- |
---|
| 251 | C |
---|
| 252 | bor1 = 0.00023 |
---|
| 253 | bor2 = 1./10.82 |
---|
| 254 | C |
---|
| 255 | C Set volumetric solubility constants for co2 in ml/l (Weiss, 1974) |
---|
| 256 | C ----------------------------------------------------------------- |
---|
| 257 | C |
---|
| 258 | c00 = -58.0931 |
---|
| 259 | c01 = 90.5069 |
---|
| 260 | c02 = 22.2940 |
---|
| 261 | c03 = 0.027766 |
---|
| 262 | c04 = -0.025888 |
---|
| 263 | c05 = 0.0050578 |
---|
| 264 | C |
---|
| 265 | C Set coeff. for 1. dissoc. of carbonic acid (Edmond and Gieskes, 1970) |
---|
| 266 | C --------------------------------------------------------------------- |
---|
| 267 | C |
---|
| 268 | c10 = -2307.1266 |
---|
| 269 | c11 = 2.83655 |
---|
| 270 | c12 = -1.5529413 |
---|
| 271 | c13 = -4.0484 |
---|
| 272 | c14 = -0.20760841 |
---|
| 273 | c15 = 0.08468345 |
---|
| 274 | c16 = -0.00654208 |
---|
| 275 | c17 = -0.001005 |
---|
| 276 | C |
---|
| 277 | C Set coeff. for 2. dissoc. of carbonic acid (Edmond and Gieskes, 1970) |
---|
| 278 | C --------------------------------------------------------------------- |
---|
| 279 | C |
---|
| 280 | c20 = -3351.6106 |
---|
| 281 | c21 = -9.226508 |
---|
| 282 | c22 = -0.2005743 |
---|
| 283 | c23 = -23.9722 |
---|
| 284 | c24 = -0.106901773 |
---|
| 285 | c25 = 0.1130822 |
---|
| 286 | c26 = -0.00846934 |
---|
| 287 | c27 = -0.001005 |
---|
| 288 | C |
---|
| 289 | C Set coeff. for 1. dissoc. of boric acid (Edmond and Gieskes, 1970) |
---|
| 290 | C ------------------------------------------------------------------ |
---|
| 291 | C |
---|
| 292 | cb0 = -8966.90 |
---|
| 293 | cb1 = -2890.53 |
---|
| 294 | cb2 = -77.942 |
---|
| 295 | cb3 = 1.728 |
---|
| 296 | cb4 = -0.0996 |
---|
| 297 | cb5 = 148.0248 |
---|
| 298 | cb6 = 137.1942 |
---|
| 299 | cb7 = 1.62142 |
---|
| 300 | cb8 = -24.4344 |
---|
| 301 | cb9 = -25.085 |
---|
| 302 | cb10 = -0.2474 |
---|
| 303 | cb11 = 0.053105 |
---|
| 304 | C |
---|
| 305 | C Set coeff. for dissoc. of water (Dickson and Riley, 1979, |
---|
| 306 | C eq. 7, coefficient cw2 corrected from 0.9415 to 0.09415 |
---|
| 307 | C after pers. commun. to B. Bacastow, 1988) |
---|
| 308 | C --------------------------------------------------------- |
---|
| 309 | C |
---|
| 310 | cw0 = -13847.26 |
---|
| 311 | cw1 = 148.9652 |
---|
| 312 | cw2 = -23.6521 |
---|
| 313 | cw3 = 118.67 |
---|
| 314 | cw4 = -5.977 |
---|
| 315 | cw5 = 1.0495 |
---|
| 316 | cw6 = -0.01615 |
---|
| 317 | C |
---|
| 318 | C Set volumetric solubility constants for o2 in ml/l (Weiss, 1970) |
---|
| 319 | C ---------------------------------------------------------------- |
---|
| 320 | C |
---|
| 321 | ox0 = -58.3877 |
---|
| 322 | ox1 = 85.8079 |
---|
| 323 | ox2 = 23.8439 |
---|
| 324 | ox3 = -0.034892 |
---|
| 325 | ox4 = 0.015568 |
---|
| 326 | ox5 = -0.0019387 |
---|
| 327 | C |
---|
| 328 | C FROM THE NEW BIOOPTIC MODEL PROPOSED JM ANDRE, WE READ HERE |
---|
| 329 | C A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT |
---|
| 330 | C |
---|
| 331 | open(49,file='kRGB61.txt',form='formatted') |
---|
| 332 | do ichl=1,61 |
---|
| 333 | READ(49,*) xtoto,(xkrgb(iband,ichl),iband = 1,3) |
---|
| 334 | end do |
---|
| 335 | close(49) |
---|
| 336 | C |
---|
| 337 | #if defined key_off_degrad |
---|
| 338 | C |
---|
| 339 | C Read volume for degraded regions (DEGINIT) |
---|
| 340 | C ------------------------------------------ |
---|
| 341 | C |
---|
| 342 | # if defined key_vpp |
---|
| 343 | CALL READ3S(902,facvol,jpi,jpj,jpk) |
---|
| 344 | # else |
---|
| 345 | READ (902) facvol |
---|
| 346 | # endif |
---|
| 347 | #endif |
---|
| 348 | C |
---|
| 349 | C |
---|
| 350 | C Call p4zche to initialize the chemical constants |
---|
| 351 | C ------------------------------------------------ |
---|
| 352 | C |
---|
| 353 | CALL p4zche |
---|
| 354 | C |
---|
| 355 | WRITE(numout,*) ' Initialisation of PISCES done' |
---|