Changeset 3461 for branches/2012/dev_r3438_LOCEAN15_PISLOB
- Timestamp:
- 2012-09-04T11:25:57+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
r3456 r3461 4 4 !! TOP : PISCES Compute iron chemistry and scavenging 5 5 !!====================================================================== 6 !! History : 3.5 ! 2012-07 (O. Aumont, C. Ethe) Original code6 !! History : 3.5 ! 2012-07 (O. Aumont, A. Tagliabue, C. Ethe) Original code 7 7 !!---------------------------------------------------------------------- 8 8 #if defined key_pisces … … 87 87 CALL wrk_alloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig ) 88 88 IF( ln_fechem ) CALL wrk_alloc( jpi, jpj, jpk, zFe2, zFeL2, zTL2, zFeP ) 89 89 90 ! Total ligand concentration : Ligands can be chosen to be constant or variable 90 91 ! Parameterization from Tagliabue and Voelker (2011) … … 106 107 DO jj = 1, jpj 107 108 DO ji = 1, jpi 108 ! Calculate ligand concentrations : assume 2/3rd of excess goes to L2 and 1/3rd to L1 109 ! Calculate ligand concentrations : assume 2/3rd of excess goes to 110 ! strong ligands (L1) and 1/3rd to weak ligands (L2) 109 111 ztligand = ztotlig(ji,jj,jk) - ligand * 1E9 110 zTL 2(ji,jj,jk) = 0.000001 + 0.67 * ztligand111 zTL 1(ji,jj,jk) = ligand * 1E9 - 0.000001 + 0.33 * ztligand112 zTL1(ji,jj,jk) = 0.000001 + 0.67 * ztligand 113 zTL2(ji,jj,jk) = ligand * 1E9 - 0.000001 + 0.33 * ztligand 112 114 ! ionic strength from Millero et al. 1987 113 115 zionic = 19.9201 * tsn(ji,jj,jk,jp_sal) / ( 1000. - 1.00488 * tsn(ji,jj,jk,jp_sal) + rtrn ) 114 116 zph = -LOG10( MAX( hi(ji,jj,jk), rtrn) ) 115 117 zoxy = trn(ji,jj,jk,jpoxy) * ( rhop(ji,jj,jk) / 1.e3 ) 116 ! from Trapp and Millero (2007) corrected 117 ! zkox=(10.**( & 118 ! & ((-.02*(zionic**.5)))-(3841/(tn & 119 ! & (ji,jj,jk)+273.15))-(3.76*pH)+(0.33* & 120 ! & pH**2)+(1.15*log10(carb))+27.87))* & 121 ! & max(oxy,1.e-6) & 122 ! kox = kox * (60*24) 123 ! Fe2+ oxydation rate from Santana-Casiano et al. (2005) 124 zkox = 35.407 - 6.7109 * zph + 0.5342 * zph * zph - 5362.6 / ( tsn(ji,jj,1,jp_tem) + 273.15 ) & 125 & - 0.04406 * SQRT( tsn(ji,jj,jk,jp_sal) ) - 0.002847 * tsn(ji,jj,jk,jp_sal) 126 zkox = ( 10.** zkox ) * spd 127 zkox = zkox * MAX( 1.e-6, zoxy) / ( chemo2(ji,jj,jk) + rtrn ) 118 ! Fe2+ oxydation rate from Santana-Casiano et al. (2005) 119 zkox = 35.407 - 6.7109 * zph + 0.5342 * zph * zph - 5362.6 / ( tsn(ji,jj,1,jp_tem) + 273.15 ) & 120 & - 0.04406 * SQRT( tsn(ji,jj,jk,jp_sal) ) - 0.002847 * tsn(ji,jj,jk,jp_sal) 121 zkox = ( 10.** zkox ) * spd 122 zkox = zkox * MAX( 1.e-6, zoxy) / ( chemo2(ji,jj,jk) + rtrn ) 128 123 ! PHOTOREDUCTION of complexed iron : Tagliabue and Arrigo (2006) 129 ! kph1=etot(ji,jj,jk)*0.0000001672*2.857142857143*spd modified to enhance 130 zkph1 = MAX( 0., 15. * etot(ji,jj,jk) / ( etot(ji,jj,jk) + 2. ) ) 131 zkph2 = zkph1 / 5. 124 zkph2 = MAX( 0., 15. * etot(ji,jj,jk) / ( etot(ji,jj,jk) + 2. ) ) 125 zkph1 = zkph2 / 5. 132 126 ! pass the dfe concentration from PISCES 133 127 ztfe = trn(ji,jj,jk,jpfer) * 1e9 … … 156 150 ! zphi = ASINH( zq / ( 2. * zr * zr * zr ) ) 157 151 zphi = zq / ( 2. * zr * zr * zr ) 158 zphi = LOG( zphi + SQRT( zphi * zphi + 1 ) ) ! asinh(x) = log( x + sqrt( x*x + 1 ))152 zphi = LOG( zphi + SQRT( zphi * zphi + 1 ) ) ! asinh(x) = log(x + sqrt(x^2+1)) 159 153 zxs = -2. * zr * SINH( zphi / 3. ) - za1 / 3. 160 154 ELSE 161 155 IF( zd > 0. ) THEN 162 156 zfff = MAX( 1., zq / ( 2. * zr * zr * zr ) ) 163 !zphi = ACOSH( zfff )164 zphi = LOG( zfff + SQRT( zfff * zfff - 1 ) ) ! acosh(x) = log( x + sqrt( x*x - 1 ))157 ! zphi = ACOSH( zfff ) 158 zphi = LOG( zfff + SQRT( zfff * zfff - 1 ) ) ! acosh(x) = log(x + sqrt(x^2-1)) 165 159 zxs = -2. * zr * COSH( zphi / 3. ) - za1 / 3. 166 160 ELSE 167 zfff = zq / ( 2. * zr * zr * zr ) 168 zfff = MIN( 1., zfff ) 161 zfff = MIN( 1., zq / ( 2. * zr * zr * zr ) ) 169 162 zphi = ACOS( zfff ) 170 163 DO jic = 1, 3 … … 301 294 CALL iom_put("TL1" , zTL1 (:,:,:) * tmask(:,:,:) ) ! TL1 302 295 CALL iom_put("Totlig" , ztotlig(:,:,:) * tmask(:,:,:) ) ! TL 303 CALL iom_put("Biron" , biron (:,:,:) * 1e9 * tmask(:,:,:) ) ! TL296 CALL iom_put("Biron" , biron (:,:,:) * 1e9 * tmask(:,:,:) ) ! biron 304 297 IF( ln_fechem ) THEN 305 298 CALL iom_put("Fe2" , zFe2 (:,:,:) * tmask(:,:,:) ) ! Fe2+ … … 359 352 con = 1.E9 360 353 ! LIGAND KINETICS (values from Witter et al. 2000) 361 ! assume Phaeophytin 362 kl1 = 12.2E5 * spd / con 363 kb1 = 12.3E-6 * spd 364 ! Assume DFOB-like for L2 365 kl2 = 19.6e5 * spd / con 366 kb2 = 1.5e-6 * spd 354 ! Weak (L2) ligands 355 ! Phaeophytin 356 kl2 = 12.2E5 * spd / con 357 kb2 = 12.3E-6 * spd 358 ! Strong (L1) ligands 359 ! Saccharides 360 ! kl1 = 12.2E5 * spd / con 361 ! kb1 = 12.3E-6 * spd 362 ! DFOB- 363 kl1 = 19.6e5 * spd / con 364 kb1 = 1.5e-6 * spd 367 365 ! pcp and remin of Fe3p 368 366 ks = 0.075 … … 370 368 ! thermal reduction of Fe3 371 369 kth = 0.0048 * 24. 370 ! 372 371 ENDIF 373 372 !
Note: See TracChangeset
for help on using the changeset viewer.