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 14345 – NEMO

Changeset 14345


Ignore:
Timestamp:
2021-01-26T14:25:33+01:00 (3 years ago)
Author:
cbricaud
Message:

commit changes for tickets #2604 (improve scaling of mixing under sea-ice)

Location:
NEMO/branches/2021/dev_r14318_MOI-02_MOI-GLS-ICE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14318_MOI-02_MOI-GLS-ICE/cfgs/SHARED/namelist_ref

    r14255 r14345  
    12251225   rn_charn      = 70000.  !  Charnock constant for wb induced roughness length 
    12261226   rn_hsro       =  0.02   !  Minimum surface roughness 
     1227   nn_mxlice     =     0   ! type of scaling under sea-ice 
    12271228   rn_hsri       =  0.03   !  Ice-ocean roughness 
    12281229   rn_frac_hs    =   1.3   !  Fraction of wave height as roughness (if nn_z0_met>1) 
  • NEMO/branches/2021/dev_r14318_MOI-02_MOI-GLS-ICE/src/OCE/ZDF/zdfgls.F90

    r14156 r14345  
    2626   USE zdfmxl         ! mixed layer 
    2727   USE sbcwave , ONLY : hsw   ! significant wave height 
     28#if defined key_si3 
     29   USE ice, ONLY: hm_i, h_i 
     30#endif 
     31#if defined key_cice 
     32   USE sbc_ice, ONLY: h_i 
     33#endif 
    2834   ! 
    2935   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
     
    5157   LOGICAL  ::   ln_length_lim     ! use limit on the dissipation rate under stable stratification (Galperin et al. 1988) 
    5258   LOGICAL  ::   ln_sigpsi         ! Activate Burchard (2003) modification for k-eps closure & wave breaking mixing 
     59   INTEGER  ::   nn_mxlice         ! type of scaling under sea-ice (=0/1/2/3) 
    5360   INTEGER  ::   nn_bc_surf        ! surface boundary condition (=0/1) 
    5461   INTEGER  ::   nn_bc_bot         ! bottom boundary condition (=0/1) 
     
    217224      END SELECT 
    218225      ! 
    219       ! adapt roughness where there is sea ice 
    220       zhsro(:,:) = ( (1._wp-zice_fra(:,:)) * zhsro(:,:) + zice_fra(:,:) * rn_hsri )*tmask(:,:,1)  + (1._wp - tmask(:,:,1))*rn_hsro 
     226      SELECT CASE( nn_mxlice )       ! Type of scaling under sea-ice 
     227      ! 
     228      CASE( 0 )                      ! No scaling under sea-ice 
     229         zhsro(:,:) = zhsro(:,:) 
     230         ! 
     231      CASE( 1 )                      ! scaling with constant sea-ice roughness 
     232         zhsro(:,:) = ( (1._wp-zice_fra(:,:)) * zhsro(:,:) + zice_fra(:,:) * rn_hsri )*tmask(:,:,1)  + (1._wp - tmask(:,:,1))*rn_hsro 
     233         ! 
     234      CASE( 2 )                      ! scaling with mean sea-ice thickness 
     235#if defined key_si3 
     236         zhsro(:,:) = ( (1._wp-zice_fra(:,:)) * zhsro(:,:) + zice_fra(:,:) * hm_i(:,:) )*tmask(:,:,1)  + (1._wp - tmask(:,:,1))*rn_hsro 
     237#endif 
     238         ! 
     239      CASE( 3 )                      ! scaling with max sea-ice thickness 
     240#if defined key_si3 || defined key_cice 
     241         zhsro(:,:) = ( (1._wp-zice_fra(:,:)) * zhsro(:,:) + zice_fra(:,:) * MAXVAL(h_i(:,:,:),3) )*tmask(:,:,1)  + (1._wp - tmask(:,:,1))*rn_hsro 
     242#endif 
     243         ! 
     244      END SELECT 
    221245      ! 
    222246      DO_3D( 0, 0, 0, 0, 2, jpkm1 )  !==  Compute dissipation rate  ==! 
     
    775799      NAMELIST/namzdf_gls/rn_emin, rn_epsmin, ln_length_lim,       & 
    776800         &            rn_clim_galp, ln_sigpsi, rn_hsro, rn_hsri,   & 
    777          &            rn_crban, rn_charn, rn_frac_hs,              & 
     801         &            nn_mxlice, rn_crban, rn_charn, rn_frac_hs,   & 
    778802         &            nn_bc_surf, nn_bc_bot, nn_z0_met, nn_z0_ice, & 
    779803         &            nn_stab_func, nn_clos 
     
    815839         WRITE(numout,*) '      Type of closure                               nn_clos        = ', nn_clos 
    816840         WRITE(numout,*) '      Surface roughness (m)                         rn_hsro        = ', rn_hsro 
    817          WRITE(numout,*) '      Ice-ocean roughness (used if nn_z0_ice/=0)    rn_hsri        = ', rn_hsri 
     841 
     842         WRITE(numout,*) '      type of scaling under sea-ice nn_mxlice = ', nn_mxlice 
     843         IF( nn_mxlice == 1 ) & 
     844            WRITE(numout,*) '      Ice-ocean roughness (used if nn_z0_ice/=0)    rn_hsri        = ', rn_hsri 
     845         SELECT CASE( nn_mxlice )             ! Type of scaling under sea-ice 
     846            CASE( 0 )   ;   WRITE(numout,*) '   ==>>>   No scaling under sea-ice' 
     847            CASE( 1 )   ;   WRITE(numout,*) '   ==>>>   scaling with constant sea-ice thickness' 
     848            CASE( 2 )   ;   WRITE(numout,*) '   ==>>>   scaling with mean sea-ice thickness' 
     849            CASE( 3 )   ;   WRITE(numout,*) '   ==>>>   scaling with max sea-ice thickness' 
     850            CASE DEFAULT 
     851               CALL ctl_stop( 'zdf_tke_init: wrong value for nn_mxlice, should be 0,1,2,3 ') 
     852         END SELECT 
    818853         WRITE(numout,*) 
    819854      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.