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.
Changeset 3461 for branches – NEMO

Changeset 3461 for branches


Ignore:
Timestamp:
2012-09-04T11:25:57+02:00 (12 years ago)
Author:
cetlod
Message:

branch:2012/dev_r3438_LOCEAN15_PISLOB, minor changes in p4zfechem.F90, see ticket #972

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_r3438_LOCEAN15_PISLOB/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90

    r3456 r3461  
    44   !! TOP :   PISCES Compute iron chemistry and scavenging 
    55   !!====================================================================== 
    6    !! History :   3.5  !  2012-07     (O. Aumont, C. Ethe) Original code 
     6   !! History :   3.5  !  2012-07 (O. Aumont, A. Tagliabue, C. Ethe) Original code 
    77   !!---------------------------------------------------------------------- 
    88#if defined key_pisces 
     
    8787                       CALL wrk_alloc( jpi, jpj, jpk, zFe3, zFeL1, zTL1, ztotlig ) 
    8888      IF( ln_fechem )  CALL wrk_alloc( jpi, jpj, jpk, zFe2, zFeL2, zTL2, zFeP ) 
     89 
    8990      ! Total ligand concentration : Ligands can be chosen to be constant or variable 
    9091      ! Parameterization from Tagliabue and Voelker (2011) 
     
    106107            DO jj = 1, jpj 
    107108               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) 
    109111                  ztligand       = ztotlig(ji,jj,jk) - ligand * 1E9 
    110                   zTL2(ji,jj,jk) =                0.000001 + 0.67 * ztligand 
    111                   zTL1(ji,jj,jk) = ligand * 1E9 - 0.000001 + 0.33 * ztligand 
     112                  zTL1(ji,jj,jk) =                0.000001 + 0.67 * ztligand 
     113                  zTL2(ji,jj,jk) = ligand * 1E9 - 0.000001 + 0.33 * ztligand 
    112114                  ! ionic strength from Millero et al. 1987 
    113115                  zionic = 19.9201 * tsn(ji,jj,jk,jp_sal) / ( 1000. - 1.00488 * tsn(ji,jj,jk,jp_sal) + rtrn ) 
    114116                  zph    = -LOG10( MAX( hi(ji,jj,jk), rtrn) ) 
    115117                  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 ) 
    128123                  ! 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. 
    132126                  ! pass the dfe concentration from PISCES 
    133127                  ztfe = trn(ji,jj,jk,jpfer) * 1e9 
     
    156150                     ! zphi = ASINH( zq / ( 2. * zr * zr * zr ) ) 
    157151                     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)) 
    159153                     zxs  = -2. * zr * SINH( zphi / 3. ) - za1 / 3. 
    160154                  ELSE 
    161155                     IF( zd > 0. ) THEN 
    162156                        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)) 
    165159                        zxs = -2. * zr * COSH( zphi / 3. ) - za1 / 3. 
    166160                     ELSE 
    167                         zfff = zq / ( 2. * zr * zr * zr ) 
    168                         zfff = MIN( 1., zfff ) 
     161                        zfff = MIN( 1., zq / ( 2. * zr * zr * zr ) ) 
    169162                        zphi = ACOS( zfff ) 
    170163                        DO jic = 1, 3 
     
    301294            CALL iom_put("TL1"    , zTL1   (:,:,:)       * tmask(:,:,:) )   ! TL1 
    302295            CALL iom_put("Totlig" , ztotlig(:,:,:)       * tmask(:,:,:) )   ! TL 
    303             CALL iom_put("Biron"  , biron  (:,:,:) * 1e9 * tmask(:,:,:) )   ! TL 
     296            CALL iom_put("Biron"  , biron  (:,:,:) * 1e9 * tmask(:,:,:) )   ! biron 
    304297            IF( ln_fechem ) THEN 
    305298               CALL iom_put("Fe2" , zFe2   (:,:,:)       * tmask(:,:,:) )   ! Fe2+ 
     
    359352         con = 1.E9 
    360353         ! 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 
    367365         ! pcp and remin of Fe3p 
    368366         ks  = 0.075 
     
    370368         ! thermal reduction of Fe3 
    371369         kth = 0.0048 * 24. 
     370         ! 
    372371      ENDIF 
    373372      ! 
Note: See TracChangeset for help on using the changeset viewer.