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 10126 for NEMO/branches/2018/dev_r10057_ENHANCE03_ZTILDE/src/TOP/PISCES/P4Z/p4zsbc.F90 – NEMO

Ignore:
Timestamp:
2018-09-13T16:59:46+02:00 (6 years ago)
Author:
jchanut
Message:

Merge with trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r10057_ENHANCE03_ZTILDE/src/TOP/PISCES/P4Z/p4zsbc.F90

    r9598 r10126  
    3737   REAL(wp), PUBLIC ::   concfediaz   !: Fe half-saturation Cste for diazotrophs  
    3838   REAL(wp)         ::   hratio       !: Fe:3He ratio assumed for vent iron supply 
     39   REAL(wp)         ::   distcoast    !: Distance off the coast for Iron from sediments 
    3940   REAL(wp), PUBLIC ::   fep_rats     !: Fep/Fer ratio from sed  sources 
    4041   REAL(wp), PUBLIC ::   fep_rath     !: Fep/Fer ratio from hydro sources 
     
    8081#  include "vectopt_loop_substitute.h90" 
    8182   !!---------------------------------------------------------------------- 
    82    !! NEMO/TOP 3.3 , NEMO Consortium (2018) 
     83   !! NEMO/TOP 4.0 , NEMO Consortium (2018) 
    8384   !! $Id$  
    84    !! Software governed by the CeCILL licence (./LICENSE) 
     85   !! Software governed by the CeCILL license (see ./LICENSE) 
    8586   !!---------------------------------------------------------------------- 
    8687CONTAINS 
     
    205206      INTEGER  :: ik50                !  last level where depth less than 50 m 
    206207      INTEGER  :: isrow             ! index for ORCA1 starting row 
    207       REAL(wp) :: zexpide, zdenitide, zmaskt 
     208      REAL(wp) :: zexpide, zdenitide, zmaskt, zsurfc, zsurfp,ze3t, ze3t2, zcslp 
    208209      REAL(wp) :: ztimes_dust, ztimes_riv, ztimes_ndep  
    209210      REAL(wp), DIMENSION(nbtimes) :: zsteps                 ! times records 
     
    220221        &                sn_riverdip, sn_riverdop, sn_riverdsi, sn_ndepo, sn_ironsed, sn_hydrofe, & 
    221222        &                ln_dust, ln_solub, ln_river, ln_ndepo, ln_ironsed, ln_ironice, ln_hydrofe,    & 
    222         &                sedfeinput, dustsolub, icefeinput, wdust, mfrac, nitrfix, diazolight, concfediaz, & 
     223        &                sedfeinput, distcoast, dustsolub, icefeinput, wdust, mfrac, nitrfix, diazolight, concfediaz, & 
    223224        &                hratio, fep_rats, fep_rath, lgw_rath 
    224225      !!---------------------------------------------------------------------- 
     
    248249         WRITE(numout,*) '      fe input from hydrothermal vents         ln_hydrofe  = ', ln_hydrofe 
    249250         WRITE(numout,*) '      coastal release of iron                  sedfeinput  = ', sedfeinput 
     251         WRITE(numout,*) '      distance off the coast                   distcoast   = ', distcoast 
    250252         WRITE(numout,*) '      solubility of the dust                   dustsolub   = ', dustsolub 
    251253         WRITE(numout,*) '      Mineral Fe content of the dust           mfrac       = ', mfrac 
     
    459461            DO jj = 2, jpjm1 
    460462               DO ji = fs_2, fs_jpim1 
    461                   IF( tmask(ji,jj,jk) /= 0. ) THEN 
    462                      zmaskt = tmask(ji+1,jj,jk) * tmask(ji-1,jj,jk) * tmask(ji,jj+1,jk)    & 
    463                         &                       * tmask(ji,jj-1,jk) * tmask(ji,jj,jk+1) 
    464                      IF( zmaskt == 0. )   zcmask(ji,jj,jk ) = MAX( 0.1, zcmask(ji,jj,jk) )  
    465                   END IF 
     463                  ze3t   = e3t_0(ji,jj,jk) 
     464                  zsurfc =  e1u(ji,jj) * ( 1. - umask(ji  ,jj  ,jk) )   & 
     465                          + e1u(ji,jj) * ( 1. - umask(ji-1,jj  ,jk) )   & 
     466                          + e2v(ji,jj) * ( 1. - vmask(ji  ,jj  ,jk) )   & 
     467                          + e2v(ji,jj) * ( 1. - vmask(ji  ,jj-1,jk) ) 
     468                  zsurfp = zsurfc * ze3t / e1e2t(ji,jj) 
     469                  ! estimation of the coastal slope : 5 km off the coast 
     470                  ze3t2 = ze3t * ze3t 
     471                  zcslp = SQRT( ( distcoast*distcoast + ze3t2 ) / ze3t2 ) 
     472                  ! 
     473                  zcmask(ji,jj,jk) = zcmask(ji,jj,jk) + zcslp * zsurfp 
    466474               END DO 
    467475            END DO 
Note: See TracChangeset for help on using the changeset viewer.