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 13872 for NEMO – NEMO

Changeset 13872 for NEMO


Ignore:
Timestamp:
2020-11-25T13:58:07+01:00 (3 years ago)
Author:
acc
Message:

Branch dev_r13787_OSMOSIS_IMMERSE. Complete first stage port. With these changes ORCA2_ICE_PISCES, SETTE test will run with ln_zdfosm true (instead of ln_zdftke/ln_zdfevd). Standard tests are unaltered

Location:
NEMO/branches/2020/dev_r13787_OSMOSIS_IMMERSE
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13787_OSMOSIS_IMMERSE/cfgs/SHARED/field_def_nemo-oce.xml

    r13476 r13872  
    265265 
    266266      <field_group id="OSMOSIS_T" grid_ref="grid_T_2D"> 
     267        <field id="hml"                 long_name="mixed layr depth"                         unit="m"       /> 
     268        <field id="hbl"                 long_name="boundary layer depth"                     unit="m"       /> 
     269        <field id="dh"                  long_name="Pycnocline thickness"                     unit=" m"      /> 
     270        <field id="ibld"                long_name="index of boundary layer depth"            unit="#"       /> 
     271        <field id="imld"                long_name="index of mixed layer depth"            unit="#"       /> 
     272        <field id="zhbl"                long_name="boundary layer depth -grid"                     unit="m"       /> 
     273        <field id="zhml"                long_name="mixed layer depth - grid"                        unit="m"       /> 
     274        <field id="zdh"                 long_name="Pycnocline  depth - grid"                 unit=" m"      /> 
     275        <field id="zustke"              long_name="magnitude of stokes drift  at T-points"   unit="m/s"     /> 
     276        <field id="us_x"        long_name="i component of active Stokes drift"                      unit="m/s"     /> 
     277        <field id="us_y"        long_name="j component of active Stokes drift"                      unit="m/s"     /> 
     278        <field id="dstokes"             long_name="stokes drift  depth scale"                unit="m"       /> 
    267279        <field id="zwth0"               long_name="surface non-local temperature flux"       unit="deg m/s" /> 
    268280        <field id="zws0"                long_name="surface non-local salinity flux"          unit="psu m/s" /> 
    269         <field id="hbl"                 long_name="boundary layer depth"                     unit="m"       /> 
    270         <field id="hbli"                long_name="initial boundary layer depth"             unit="m"       /> 
    271         <field id="dstokes"             long_name="stokes drift  depth scale"                unit="m"       /> 
    272         <field id="zustke"              long_name="magnitude of stokes drift  at T-points"   unit="m/s"     /> 
    273281        <field id="zwstrc"              long_name="convective velocity scale"                unit="m/s"     /> 
     282        <field id="zustar"              long_name="friction velocity"                        unit="m/s"     /> 
    274283        <field id="zwstrl"              long_name="langmuir velocity scale"                  unit="m/s"     /> 
    275         <field id="zustar"              long_name="friction velocity"                        unit="m/s"     /> 
    276         <field id="zhbl"                long_name="boundary layer depth"                     unit="m"       /> 
    277         <field id="zhml"                long_name="mixed layer depth"                        unit="m"       /> 
     284        <field id="zvstr"               long_name="mixed velocity scale"                     unit="m/s"     /> 
     285        <field id="zla"                 long_name="langmuir number"                          unit="m/s"     /> 
    278286        <field id="wind_wave_abs_power" long_name="\rho |U_s| x u*^2"                        unit="mW"      /> 
    279287        <field id="wind_wave_power"     long_name="U_s \dot  tau"                            unit="mW"      /> 
    280288        <field id="wind_power"          long_name="\rho  u*^3"                               unit="mW"      /> 
    281289 
    282         <!-- extra OSMOSIS diagnostics --> 
     290       <!-- interior BL OSMOSIS diagnostics --> 
    283291        <field id="zwthav"              long_name="av turb flux of T in ml"                  unit="deg m/s" /> 
    284292        <field id="zt_ml"               long_name="av T in ml"                               unit="deg"     /> 
     293        <field id="zhol"                long_name="Hoenekker number"                         unit="#"       /> 
     294        <field id="zws_ent"            long_name="entrainment turb flux of S"                unit="10^-3 m/s" /> 
    285295        <field id="zwth_ent"            long_name="entrainment turb flux of T"               unit="deg m/s" /> 
    286         <field id="zhol"                long_name="Hoenekker number"                         unit="#"       /> 
    287         <field id="zdh"                 long_name="Pycnocline  depth - grid"                 unit=" m"      /> 
    288       </field_group> 
    289  
    290       <field_group id="OSMOSIS_W" grid_ref="grid_W_3D" operation="instant" > 
     296        <field id="zwb_ent"            long_name="entrainment turb flux of buoyancy"         unit="m^2/s^-3" /> 
     297  
     298        <field id="zdt_bl"             long_name="temperature jump at base of BL"                 unit="deg"      /> 
     299        <field id="zds_bl"             long_name="salinity jump at base of BL"                 unit="10^-3"      /> 
     300        <field id="zdb_bl"             long_name="buoyancy jump at base of BL"                 unit="m/s^2"      /> 
     301        <field id="zdu_bl"             long_name="u jump at base of BL"                       unit="m/s"      /> 
     302        <field id="zdv_bl"             long_name="v jump at base of BL"                       unit="m/s"      /> 
     303 
     304        <!-- extra OSMOSIS diagnostics for debugging --> 
     305       <field id="zsc_uw_1_0"       long_name="zsc u-momentum flux on T after Stokes"                       unit="m^2/s^2" /> 
     306        <field id="zsc_uw_1_f"       long_name="zsc u-momentum flux on T after Coriolis"                       unit="m^2/s^2" /> 
     307        <field id="zsc_vw_1_f"       long_name="zsc v-momentum flux on T after Coriolis"                       unit="m^2/s^2" /> 
     308        <field id="zsc_uw_2_f"       long_name="2nd zsc u-momentum flux on T after Coriolis"                       unit="m^2/s^2" /> 
     309        <field id="zsc_vw_2_f"       long_name="2nd zsc v-momentum flux on T after Coriolis"                       unit="m^2/s^2" /> 
     310        <field id="zuw_bse"       long_name="base u-flux T-points"                          unit="m^2/s^2" /> 
     311        <field id="zvw_bse"       long_name="base v-flux T-points"                          unit="m^2/s^2" /> 
     312 
     313       <!-- FK_OSM OSMOSIS diagnostics (require also ln_osm_mle=.true.--> 
     314         <field id="hmle"          long_name="OBL FK-layer thickness"                                     unit="m"        /> 
     315        <field id="mld_prof"              long_name="FK-layer depth index"                  unit="#" /> 
     316        <field id="zmld"          long_name="target FK-layer thickness"                                     unit="m"        /> 
     317        <field id="zwb_fk"          long_name="FK b-flux"                                     unit="m^2 s^-3"        /> 
     318        <field id="zwb_fk_b"          long_name="layer averaged FK b-flux"                 unit="m^2 s^-3"       /> 
     319        <field id="zdiff_mle"          long_name="max FK diffusivity in MLE"       unit=" 10^-4 m^2 s^-1"       /> 
     320        <field id="zvel_mle"          long_name="FK velocity scale in MLE"       unit=" m s^-1"       /> 
     321    </field_group> 
     322 
     323      <field_group id="OSMOSIS_W" grid_ref="grid_W_3D" > 
     324        <field id="zviscos"       long_name="BL viscosity"   unit="m^2/s" /> 
    291325        <field id="ghamt"       long_name="non-local temperature flux"                       unit="deg m/s" /> 
    292326        <field id="ghams"       long_name="non-local salinity flux"                          unit="psu m/s" /> 
    293327        <field id="zdtdz_pyc"   long_name="Pycnocline temperature gradient"                  unit=" deg/m"  /> 
    294       </field_group> 
     328        <field id="zdsdz_pyc"   long_name="Pycnocline salinity gradient"                  unit=" 10^-3/m"  /> 
     329        <field id="zdbdz_pyc"   long_name="Pycnocline buoyancy gradient"                  unit=" s^-2"  /> 
     330        <field id="zdudz_pyc"   long_name="Pycnocline u gradient"                  unit=" s^-2"  /> 
     331        <field id="zdvdz_pyc"   long_name="Pycnocline v gradient"                  unit=" s^-2"  /> 
     332 
     333        <!-- extra OSMOSIS diagnostics for debugging --> 
     334         <field id="ghamu_00"       long_name="initial non-local u-momentum flux"   unit="m^2/s^2" /> 
     335        <field id="ghamv_00"       long_name="initial non-local v-momentum flux"   unit="m^2/s^2" /> 
     336        <field id="ghamu_0"       long_name="after dstokes non-local u-momentum flux"   unit="m^2/s^2" /> 
     337        <field id="ghamu_f"       long_name="after Coriolis non-local u-momentum flux"   unit="m^2/s^2" /> 
     338        <field id="ghamv_f"       long_name="after Coriolis  non-local v-momentum flux"   unit="m^2/s^2" /> 
     339        <field id="ghamu_b"       long_name="after buoyancy added non-local u-momentum flux"   unit="m^2/s^2" /> 
     340        <field id="ghamv_b"       long_name="after buoyancy added  non-local v-momentum flux"  unit="m^2/s^2" /> 
     341        <field id="ghamu_1"       long_name="after entrainment non-local u-momentum flux"   unit="m^2/s^2" /> 
     342        <field id="ghamv_1"       long_name="after entrainment  non-local v-momentum flux"  unit="m^2/s^2" /> 
     343     </field_group> 
    295344 
    296345      <field_group id="OSMOSIS_U" grid_ref="grid_U_2D" > 
    297346        <field id="ghamu"       long_name="non-local u-momentum flux"   grid_ref="grid_U_3D" unit="m^2/s^2" /> 
    298         <field id="us_x"        long_name="i component of Stokes drift"                      unit="m/s"     /> 
    299       </field_group> 
     347       <!-- FK_OSM OSMOSIS diagnostics (require also ln_osm_mle=.true.--> 
     348       <field id="zdtdx"          long_name="FK  T x-gradient"                                     unit=" deg C m^-1"        /> 
     349        <field id="zdsdx"          long_name="FK  S x-gradient"                                     unit=" 10^-3 m^-1"        /> 
     350        <field id="dbdx_mle"          long_name="FK  B x-gradient"                                     unit=" s^-2"        /> 
     351     </field_group> 
    300352 
    301353      <field_group id="OSMOSIS_V" grid_ref="grid_V_2D" > 
    302354        <field id="ghamv"       long_name="non-local v-momentum flux"   grid_ref="grid_V_3D" unit="m^2/s^2" /> 
    303         <field id="us_y"        long_name="j component of Stokes drift"                      unit="m/s"     /> 
     355        <!-- FK_OSM OSMOSIS diagnostics (require also ln_osm_mle=.true.--> 
     356        <field id="zdtdy"          long_name="FK T y-gradient"                                     unit=" deg C m^-1"        /> 
     357        <field id="zdsdy"          long_name="FK S y-gradient"                                     unit=" 10^-3 m^-1"        /> 
     358        <field id="dbdy_mle"          long_name="FK B y-gradient"                                     unit=" s^-2"        /> 
    304359      </field_group> 
    305360 
     
    831886     <field id="strd_zdfp"     long_name="salinity   -trend: pure vert. diffusion"   unit="1e-3/s" /> 
    832887 
    833      <!-- --> 
     888     <!-- ln_zdfosm=T only (OSMOSIS-OBL) --> 
     889     <field id="ttrd_osm"      long_name="temperature-trend: OSM-OSBL non-local forcing"                             unit="degC/s" /> 
     890     <field id="strd_osm"      long_name="salinity   -trend: OSM-OSBL non-local forcing"                             unit="1e-3/s" /> 
     891 
     892 
     893    <!-- --> 
    834894     <field id="ttrd_dmp"      long_name="temperature-trend: interior restoring"        unit="degC/s" /> 
    835895     <field id="strd_dmp"      long_name="salinity   -trend: interior restoring"        unit="1e-3/s" /> 
     
    867927     <field id="strd_zdfp_e3t"     unit="1e-3/s * m"  >  strd_zdfp * e3t </field> 
    868928 
     929          <!-- ln_zdfosm=T only (OSMOSIS-OBL) --> 
     930     <field id="ttrd_osm_e3t"      long_name="temperature-trend: OSM-OSBL non-local forcing"                             unit="degC/s * m" >  ttrd_osm * e3t </field> 
     931     <field id="strd_osm_e3t"      long_name="salinity   -trend: OSM-OSBL non-local forcing"                             unit="1e-3/s * m" >  strd_osm * e3t </field> 
     932      
    869933     <!-- --> 
    870934     <field id="ttrd_dmp_e3t"      unit="degC/s * m"  >  ttrd_dmp * e3t </field> 
     
    882946     <field id="ttrd_totad_li"    long_name="layer integrated heat-trend: total advection"         unit="W/m^2"     > ttrd_totad_e3t * 1026.0 * 3991.86795711963 </field> 
    883947     <field id="strd_totad_li"    long_name="layer integrated salt-trend: total advection"         unit="kg/(m^2 s)"    > strd_totad_e3t * 1026.0 * 0.001  </field> 
     948     <field id="ttrd_osm_li"    long_name="layer integrated heat-trend: non-local OSM"         unit="W/m^2"     > ttrd_osm_e3t * 1026.0 * 3991.86795711963 </field> 
     949     <field id="strd_osm_li"    long_name="layer integrated salt-trend: non-local OSM"         unit="kg/(m^2 s)"    > strd_osm_e3t * 1026.0 * 0.001  </field> 
    884950     <field id="ttrd_evd_li"      long_name="layer integrated heat-trend: EVD convection"          unit="W/m^2"    > ttrd_evd_e3t * 1026.0 * 3991.86795711963 </field> 
    885951     <field id="strd_evd_li"      long_name="layer integrated salt-trend: EVD convection"          unit="kg/(m^2 s)"  > strd_evd_e3t * 1026.0 * 0.001  </field> 
     
    10891155    </field_group> 
    10901156 
     1157    <!-- TMB diagnostic output --> 
     1158    <field_group  id="1h_grid_T_tmb" grid_ref="grid_T_2D" operation="instant"> 
     1159      <field id="top_temp"           name="votemper_top"  unit="degC"  /> 
     1160      <field id="mid_temp"           name="votemper_mid"  unit="degC"  /> 
     1161      <field id="bot_temp"           name="votemper_bot"  unit="degC"  /> 
     1162      <field id="top_sal"            name="vosaline_top"  unit="psu"   /> 
     1163      <field id="mid_sal"            name="vosaline_mid"  unit="psu"   /> 
     1164      <field id="bot_sal"            name="vosaline_bot"  unit="psu"   /> 
     1165      <field id="sshnmasked"         name="sossheig"      unit="m"     />  
     1166    </field_group> 
     1167 
    10911168    <field_group  id="1h_grid_U_tmb" grid_ref="grid_U_2D" operation="instant"> 
    10921169      <field id="top_u"           name="vozocrtx_top"  unit="m/s"  /> 
  • NEMO/branches/2020/dev_r13787_OSMOSIS_IMMERSE/cfgs/SHARED/namelist_ref

    r13731 r13872  
    11981198&namzdf_osm    !   OSM vertical diffusion                               (ln_zdfosm =T) 
    11991199!----------------------------------------------------------------------- 
    1200    ln_use_osm_la = .false.      !  Use namelist  rn_osm_la 
     1200   ln_use_osm_la = .false.     !  Use   rn_osm_la 
    12011201   rn_osm_la     = 0.3         !  Turbulent Langmuir number 
    1202    rn_osm_dstokes     = 5.     !  Depth scale of Stokes drift (m) 
     1202   rn_zdfosm_adjust_sd = 1.0   ! Stokes drift reduction factor 
     1203   rn_osm_hblfrac = 0.1        ! specify top part of hbl for nn_osm_wave = 3 or 4 
     1204   rn_osm_bl_thresh   = 5.e-5      !Threshold buoyancy for deepening of OSBL base 
    12031205   nn_ave = 0                  ! choice of horizontal averaging on avt, avmu, avmv 
    12041206   ln_dia_osm = .true.         ! output OSMOSIS-OBL variables 
     
    12081210   rn_difri  =  0.005          ! max Ri# diffusivity at Ri_g = 0 (m^2/s) 
    12091211   ln_convmix  = .true.        ! Use convective instability mixing below BL 
    1210    rn_difconv = 1.             ! diffusivity when unstable below BL  (m2/s) 
     1212   rn_difconv = 1. !0.01 !1.             ! diffusivity when unstable below BL  (m2/s) 
     1213   rn_osm_dstokes     = 5.     !  Depth scale of Stokes drift (m) 
    12111214   nn_osm_wave = 0             ! Method used to calculate Stokes drift 
    12121215      !                        !  = 2: Use ECMWF wave fields 
    12131216      !                        !  = 1: Pierson Moskowitz wave spectrum 
    12141217      !                        !  = 0: Constant La# = 0.3 
    1215 / 
     1218   nn_osm_SD_reduce = 0        ! Method used to get active Stokes drift from surface value 
     1219      !                        !  = 0: No reduction 
     1220                               !  = 1: use SD avged over top 10% hbl 
     1221                               !  = 2:use surface value of SD fit to slope at rn_osm_hblfrac*hbl below surface 
     1222   ln_zdfosm_ice_shelter = .true.  ! reduce surface SD and depth scale under ice 
     1223   ln_osm_mle = .false.        !  Use integrated FK-OSM model 
     1224/ 
     1225!----------------------------------------------------------------------- 
     1226&namosm_mle    !   mixed layer eddy parametrisation (Fox-Kemper)       (default: OFF) 
     1227!----------------------------------------------------------------------- 
     1228   rn_osm_mle_ce       = 0.06      ! magnitude of the MLE (typical value: 0.06 to 0.08) 
     1229   nn_osm_mle          = 0         ! MLE type: =0 standard Fox-Kemper ; =1 new formulation 
     1230   rn_osm_mle_lf       = 5.e+3     ! typical scale of mixed layer front (meters)                      (case rn_osm_mle=0) 
     1231   rn_osm_mle_time     = 172800.   ! time scale for mixing momentum across the mixed layer (seconds)  (case rn_osm_mle=0) 
     1232   rn_osm_mle_lat      = 20.       ! reference latitude (degrees) of MLE coef.                        (case rn_mle=1) 
     1233   rn_osm_mle_rho_c =    0.01      ! delta rho criterion used to calculate MLD for FK 
     1234   rn_osm_mle_thresh  = 0.0005     ! delta b criterion used for FK MLE criterion 
     1235   rn_osm_mle_tau     = 172800.    ! time scale for FK-OSM (seconds)  (case rn_osm_mle=0) 
     1236   ln_osm_hmle_limit   = .false.   ! limit hmle to rn_osm_hmle_limit*hbl 
     1237   rn_osm_hmle_limit   = 1.2 
     1238   / 
    12161239!----------------------------------------------------------------------- 
    12171240&namzdf_iwm    !    internal wave-driven mixing parameterization        (ln_zdfiwm =T) 
  • NEMO/branches/2020/dev_r13787_OSMOSIS_IMMERSE/src/OCE/ZDF/zdfphy.F90

    r13558 r13872  
    173173      IF( ln_zdfosm .AND. ln_zdfevd )   CALL ctl_stop( 'zdf_phy_init: chose between ln_zdfosm and ln_zdfevd' ) 
    174174      IF( lk_top    .AND. ln_zdfnpc )   CALL ctl_stop( 'zdf_phy_init: npc scheme is not working with key_top' ) 
    175       IF( lk_top    .AND. ln_zdfosm )   CALL ctl_stop( 'zdf_phy_init: osmosis scheme is not working with key_top' ) 
     175      IF( lk_top    .AND. ln_zdfosm )   CALL ctl_warn( 'zdf_phy_init: osmosis gives no non-local fluxes for TOP tracers yet' ) 
    176176      IF(lwp) THEN 
    177177         WRITE(numout,*) 
Note: See TracChangeset for help on using the changeset viewer.