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 15548 for NEMO/branches/2021/ticket2632_r14588_theta_sbcblk/src/TOP/PISCES/P4Z/p4zligand.F90 – NEMO

Ignore:
Timestamp:
2021-11-28T18:59:49+01:00 (3 years ago)
Author:
gsamson
Message:

update branch to the head of the trunk (r15547); ticket #2632

Location:
NEMO/branches/2021/ticket2632_r14588_theta_sbcblk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/ticket2632_r14588_theta_sbcblk

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette@14244        sette 
         11^/utils/CI/sette@HEAD        sette 
         12 
  • NEMO/branches/2021/ticket2632_r14588_theta_sbcblk/src/TOP/PISCES/P4Z/p4zligand.F90

    r13295 r15548  
    2525   REAL(wp), PUBLIC ::  rlig     !: Remin ligand production 
    2626   REAL(wp), PUBLIC ::  prlgw    !: Photochemical of weak ligand 
     27   REAL(wp), PUBLIC ::  xklig    !: 1/2 saturation constant of photolysis 
    2728 
    2829   !! * Substitutions 
     
    4546      ! 
    4647      INTEGER  ::   ji, jj, jk 
    47       REAL(wp) ::   zlgwp, zlgwpr, zlgwr, zlablgw 
    48       REAL(wp), DIMENSION(jpi,jpj,jpk) :: zligrem, zligpr, zligprod 
     48      REAL(wp) ::   zlgwp, zlgwpr, zlgwr, zlablgw  
     49      REAL(wp) ::   zlam1a, zlam1b, zaggliga, zligco 
     50      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zligrem, zligpr, zligprod, zlcoll3d 
    4951      CHARACTER (len=25) ::   charout 
    5052      !!--------------------------------------------------------------------- 
     
    5254      IF( ln_timing )   CALL timing_start('p4z_ligand') 
    5355      ! 
    54       DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
     56      DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1) 
    5557         ! 
    5658         ! ------------------------------------------------------------------ 
     
    6264         ! This is based on the idea that as LGW is lower 
    6365         ! there is a larger fraction of refractory OM 
    64          zlgwr = max( rlgs , rlgw * exp( -2 * (tr(ji,jj,jk,jplgw,Kbb)*1e9) ) ) ! years 
    65          zlgwr = 1. / zlgwr * tgfunc(ji,jj,jk) * ( xstep / nyear_len(1) ) * blim(ji,jj,jk) * tr(ji,jj,jk,jplgw,Kbb) 
     66         zlgwr = ( 1.0 / rlgs * MAX(0., tr(ji,jj,jk,jplgw,Kbb) - xfecolagg(ji,jj,jk) * 1.0E-9 )    & 
     67         &       + 1.0 / rlgw * xfecolagg(ji,jj,jk) * 1.0E-9 ) / ( rtrn + tr(ji,jj,jk,jplgw,Kbb) ) 
     68         zlgwr = zlgwr * tgfunc(ji,jj,jk) * ( xstep / nyear_len(1) ) * blim(ji,jj,jk) * tr(ji,jj,jk,jplgw,Kbb) 
    6669         ! photochem loss of weak ligand 
    67          zlgwpr = prlgw * xstep * etot(ji,jj,jk) * tr(ji,jj,jk,jplgw,Kbb) * (1. - fr_i(ji,jj)) 
    68          tr(ji,jj,jk,jplgw,Krhs) = tr(ji,jj,jk,jplgw,Krhs) + zlgwp - zlgwr - zlgwpr 
     70         zlgwpr = prlgw * xstep * etot(ji,jj,jk) * tr(ji,jj,jk,jplgw,Kbb)**3 * (1. - fr_i(ji,jj))   & 
     71         &        / ( tr(ji,jj,jk,jplgw,Kbb)**2 + (xklig)**2) 
     72         ! Coagulation of ligands due to various processes (Brownian, shear, diff. sedimentation 
     73         ! xcoagfe is computed in p4zfechem 
     74         ! ------------------------------------------------------------------------------------- 
     75         ! 50% of the ligands are supposed to be in the colloidal size fraction 
     76         ! as for FeL 
     77         zligco   = 0.5 * MAX(0., tr(ji,jj,jk,jplgw,Kbb) - xfecolagg(ji,jj,jk) * 1.0E-9 ) 
     78         zaggliga = xcoagfe(ji,jj,jk) * xstep * zligco 
     79 
     80         tr(ji,jj,jk,jplgw,Krhs) = tr(ji,jj,jk,jplgw,Krhs) + zlgwp - zlgwr - zlgwpr - zaggliga 
     81         ! 
    6982         zligrem(ji,jj,jk)   = zlgwr 
    7083         zligpr(ji,jj,jk)    = zlgwpr 
    71          zligprod(ji,jj,jk) = zlgwp 
    72          ! 
     84         zligprod(ji,jj,jk)  = zlgwp 
     85         zlcoll3d(ji,jj,jk)  = zaggliga 
    7386      END_3D 
    7487      ! 
     
    8497         IF( iom_use( "LPRODR" ) ) THEN 
    8598           zligprod(:,:,jpk) = 0. ; CALL iom_put( "LPRODR", zligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) ) 
     99         ENDIF 
     100         IF( iom_use( "LGWCOLL" ) ) THEN 
     101            zlcoll3d(:,:,jpk) = 0. ; CALL iom_put( "LGWCOLL", zlcoll3d(:,:,:) * 1.e9 *  1.e+3 * rfact2r * tmask(:,:,:) ) 
    86102         ENDIF 
    87103      ENDIF 
     
    110126      INTEGER ::   ios   ! Local integer  
    111127      ! 
    112       NAMELIST/nampislig/ rlgw, prlgw, rlgs, rlig 
     128      NAMELIST/nampislig/ rlgw, prlgw, rlgs, rlig, xklig 
    113129      !!---------------------------------------------------------------------- 
    114130      ! 
     
    130146         WRITE(numout,*) '      Photolysis of weak ligand                    prlgw =', prlgw 
    131147         WRITE(numout,*) '      Lifetime (years) of strong ligands           rlgs  =', rlgs 
     148         WRITE(numout,*) '      1/2 saturation for photolysis                xklig =', xklig 
    132149      ENDIF 
    133150      ! 
Note: See TracChangeset for help on using the changeset viewer.