Ignore:
Timestamp:
2019-08-30T19:59:38+02:00 (18 months ago)
Author:
mathiot
Message:

ENHANCE-02_ISF: mask isf output in the open ocean + activation of bdy and tide in WED025 (ticket #2142)

Location:
NEMO/branches/2019/ENHANCE-02_ISF_nemo
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/cfgs/WED025/EXPREF/namelist_cfg

    r11487 r11488  
    3737   cn_exp      =  'WED025' !  experience name 
    3838   nn_it000    =   1       !  first time step 
    39    nn_itend    =   1306920 !  last  time step (std 5475) 
     39   nn_itend    =  26280    !  last  time step (std 5475) 
    4040   nn_date0    = 19760301  !  date at nit_0000 (format yyyymmdd) used if ln_rstart=F or (ln_rstart=T and nn_rstctl=0 or 1) 
    41    ln_rstart   = .true.    !  start from rest (F) or from a restart file (T) 
     41   ln_rstart   = .false.   !  start from rest (F) or from a restart file (T) 
    4242      nn_rstctl   =    2      !  restart control ==> activated only if ln_rstart=T 
    4343/ 
     
    4545&namdom        !   time and space domain 
    4646!----------------------------------------------------------------------- 
    47    rn_rdt      = 720.      !  time step for the dynamics and tracer 
     47   rn_rdt      = 1200.     !  time step for the dynamics and tracer 
    4848   ln_meshmask = .true.    !  =T create a mesh file 
    4949/ 
     
    5151&namcfg        !   parameters of the configuration                      (default: use namusr_def in namelist_cfg) 
    5252!----------------------------------------------------------------------- 
     53   ln_read_cfg = .true.    !  (=T) read the domain configuration file 
     54      !                    !  (=F) user defined configuration           (F => create/check namusr_def) 
     55      cn_domcfg = "domain_cfg"  ! domain configuration filename 
    5356/ 
    5457!----------------------------------------------------------------------- 
     
    6366   !           !  file name              ! frequency (hours) ! variable  ! time interp.!  clim  ! 'yearly'/ ! weights filename ! rotation ! land/sea mask ! 
    6467   !           !                         !  (if <0  months)  !   name    !   (logical) !  (T/F) ! 'monthly' !                  ! pairing  !    filename   ! 
    65    sn_tem = 'inputs/dta_tem_WED025'      ,         -1        , 'votemper',   .true.   , .false., 'monthly' ,    ''            ,    ''    ,    '' 
    66    sn_sal = 'inputs/dta_sal_WED025'      ,         -1        , 'vosaline',   .true.   , .false., 'monthly' ,    ''            ,    ''    ,    '' 
     68   sn_tem = 'dta_temp_WED025'            ,         -12       , 'votemper',   .true.    , .true. , 'yearly' ,    ''            ,    ''    ,    '' 
     69   sn_sal = 'dta_sal_WED025'             ,         -12       , 'vosaline',   .true.    , .true. , 'yearly' ,    ''            ,    ''    ,    '' 
    6770/ 
    6871!----------------------------------------------------------------------- 
     
    146149   !           !  file name              ! frequency (hours) ! variable  ! time interp.!  clim  ! 'yearly'/ !       weights filename               ! rotation ! land/sea mask ! 
    147150   !           !                         !  (if <0  months)  !   name    !   (logical) !  (T/F) ! 'monthly' !                                      ! pairing  !    filename   ! 
    148    sn_wndi     = 'u10_core'              ,         6         , 'U_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bicubic.nc'                , 'Uwnd'   , '' 
    149    sn_wndj     = 'v10_core'              ,         6         , 'V_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bicubic.nc'                , 'Vwnd'   , '' 
    150    sn_qsr      = 'qsw_core'              ,        24         , 'SWDN_MOD',   .false.   , .false. , 'yearly'  , 'weights_bilin.nc'                  , ''       , '' 
    151    sn_qlw      = 'qlw_core'              ,        24         , 'LWDN_MOD',   .false.   , .false. , 'yearly'  , 'weights_bilin.nc'                  , ''       , '' 
    152    sn_tair     = 't10_core'              ,         6         , 'T_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bilin.nc'                  , ''       , '' 
    153    sn_humi     = 'q10_core'              ,         6         , 'Q_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bilin.nc'                  , ''       , '' 
    154    sn_prec     = 'precip_core'           ,        -1         , 'TPRECIP',    .true.    , .false. , 'yearly'  , 'weights_bilin.nc'                  , ''       , '' 
    155    sn_snow     = 'snow_core'             ,        -1         , 'SNOW'    ,   .true.    , .false. , 'yearly'  , 'weights_bilin.nc'                  , ''       , '' 
    156    sn_slp      = 'slp_core'              ,         6         , 'SLP'     ,   .true.    , .true.  , 'yearly'  , 'weights_bilin.nc'                  , ''       , '' 
     151   sn_wndi     = 'u10_core'              ,         6         , 'U_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bicubic_core.nc'           , 'Uwnd'   , '' 
     152   sn_wndj     = 'v10_core'              ,         6         , 'V_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bicubic_core.nc'           , 'Vwnd'   , '' 
     153   sn_qsr      = 'qsw_core'              ,        24         , 'SWDN_MOD',   .false.   , .false. , 'yearly'  , 'weights_bilin_core.nc'             , ''       , '' 
     154   sn_qlw      = 'qlw_core'              ,        24         , 'LWDN_MOD',   .false.   , .false. , 'yearly'  , 'weights_bilin_core.nc'             , ''       , '' 
     155   sn_tair     = 't10_core'              ,         6         , 'T_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bilin_core.nc'             , ''       , '' 
     156   sn_humi     = 'q10_core'              ,         6         , 'Q_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bilin_core.nc'             , ''       , '' 
     157   sn_prec     = 'precip_core'           ,        -1         , 'TPRECIP',    .true.    , .false. , 'yearly'  , 'weights_bilin_core.nc'             , ''       , '' 
     158   sn_snow     = 'snow_core'             ,        -1         , 'SNOW'    ,   .true.    , .false. , 'yearly'  , 'weights_bilin_core.nc'             , ''       , '' 
     159   sn_slp      = 'slp_core'              ,         6         , 'SLP'     ,   .true.    , .false. , 'yearly'  , 'weights_bilin_core.nc'             , ''       , '' 
    157160/ 
    158161!----------------------------------------------------------------------- 
     
    163166&namsbc_sas    !   Stand-Alone Surface module: ocean data               (SAS_SRC  only) 
    164167!----------------------------------------------------------------------- 
    165 / 
    166 !----------------------------------------------------------------------- 
    167 &namsbc_core   !   namsbc_core  CORE bulk formulae 
    168 !----------------------------------------------------------------------- 
    169 !              !  file name    ! frequency (hours) ! variable  ! time interp. !  clim  ! 'yearly'/ ! weights                               ! rotation ! land/sea mask ! 
    170 !              !               !  (if <0  months)  !   name    !   (logical)  !  (T/F) ! 'monthly' ! filename                              ! pairing  ! filename      ! 
    171    sn_wndi     = 'inputs/u10_core'    ,         6         , 'U_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bicubic.nc'           , 'Uwnd'   , '' 
    172    sn_wndj     = 'inputs/v10_core'    ,         6         , 'V_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bicubic.nc'           , 'Vwnd'   , '' 
    173    sn_qsr      = 'inputs/qsw_core'    ,        24         , 'SWDN_MOD',   .false.    , .false. , 'yearly'  , 'weights_bilin.nc'             , ''       , '' 
    174    sn_qlw      = 'inputs/qlw_core'    ,        24         , 'LWDN_MOD',   .false.    , .false. , 'yearly'  , 'weights_bilin.nc'             , ''       , '' 
    175    sn_tair     = 'inputs/t10_core'    ,         6         , 'T_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bilin.nc'             , ''       , '' 
    176    sn_humi     = 'inputs/q10_core'    ,         6         , 'Q_10_MOD',   .true.    , .false. , 'yearly'  , 'weights_bilin.nc'             , ''       , '' 
    177    sn_prec     = 'inputs/precip_core' ,        -1         , 'TPRECIP',    .true.    , .false. , 'yearly'  , 'weights_bilin.nc'             , ''       , '' 
    178    sn_snow     = 'inputs/snow_core'   ,        -1         , 'SNOW'    ,   .true.    , .false. , 'yearly'  , 'weights_bilin.nc'             , ''       , '' 
    179    sn_tdif     = 'inputs/taudif_core' ,        24         , 'taudif'  ,   .false.    , .true. , 'yearly'  , 'weights_bilin.nc'             , ''       , '' 
    180  
    181    cn_dir      = './'      !  root directory for the location of the bulk files 
    182    ln_taudif   = .false.   !  HF tau contribution: use "mean of stress module - module of the mean stress" data 
    183    rn_zqt      = 10.        !  Air temperature and humidity reference height (m) 
    184    rn_zu       = 10.        !  Wind vector reference height (m) 
    185    rn_pfac     = 1.        !  multiplicative factor for precipitation (total & snow) 
    186    rn_efac     = 1.        !  multiplicative factor for evaporation (0. or 1.) 
    187    rn_vfac     = 0.        !  multiplicative factor for ocean/ice velocity 
    188                            !  in the calculation of the wind stress (0.=absolute winds or 1.=relative winds) 
    189168/ 
    190169!----------------------------------------------------------------------- 
     
    200179   nn_chldta   =      1    !  RGB : 2D Chl data (=1), 3D Chl data (=2) or cst value (=0) 
    201180 
     181   cn_dir      = './'      !  root directory for the chlorophyl data location 
     182   !___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________! 
     183   !           !  file name              ! frequency (hours) ! variable  ! time interp.!  clim  ! 'yearly'/ ! weights filename ! rotation ! land/sea mask ! 
     184   !           !                         !  (if <0  months)  !   name    !   (logical) !  (T/F) ! 'monthly' !                  ! pairing  !    filename   ! 
     185   sn_chl      ='chlorophyll_WED025'     ,        -1         , 'CHLA'    ,   .true.    , .true. , 'yearly'  , ''               , ''       , '' 
    202186/ 
    203187!----------------------------------------------------------------------- 
     
    218202   !           !  file name              ! frequency (hours) ! variable  ! time interp.!  clim  ! 'yearly'/ ! weights filename ! rotation ! land/sea mask ! 
    219203   !           !                         !  (if <0  months)  !   name    !   (logical) !  (T/F) ! 'monthly' !                  ! pairing  !    filename   ! 
    220    sn_rnf      = 'inputs/runofficebergWED025',    -1         , 'runoff'  ,   .true.    , .false. , 'yearly' , ''               , ''       , '' 
     204   sn_rnf      = 'runoff_WED025'         ,  -1               , 'runoff'  ,   .true.    , .false., 'yearly' , ''               , ''       , '' 
    221205/ 
    222206!----------------------------------------------------------------------- 
    223207&namsbc_apr    !   Atmospheric pressure used as ocean forcing           (ln_apr_dyn =T) 
    224208!----------------------------------------------------------------------- 
     209/ 
     210!----------------------------------------------------------------------- 
     211&namisf       !  Top boundary layer (ISF)                              (ln_isf = T .AND. ln_isfcav: read (ln_read_cfg=T)  
     212!-----------------------------------------------------------------------                         or set or usr_def_zgr ) 
     213   cn_isfdir = './' 
     214   cn_isfload = 'isomip' 
     215 
     216   ln_isfcav_mlt = .true.     ! ice shelf melting into the cavity 
     217      cn_isfcav_mlt = '3eq'   ! ice shelf melting formulation (spe/2eq/3eq/oasis) 
     218      !                       ! spe = fwfisf is read from a forcing field 
     219      !                       ! 2eq = ISOMIP  like: 2 equations formulation (Hunter et al., 2006) 
     220      !                       ! 3eq = ISOMIP+ like: 3 equations formulation (Asay-Davis et al., 2015) 
     221      !                       ! oasis = fwfisf is given by oasis 
     222      !              !  cn_isfcav_mlt = 2eq or 3eq cases: 
     223      cn_gammablk = 'ad15'    ! scheme to compute gammat/s (spe,ad15,hj99) 
     224      !                       ! ad15 = velocity dependend Gamma (u* * gammat/s)  (Jenkins et al. 2010) 
     225      !                       ! hj99 = velocity and stability dependent Gamma    (Holland et al. 1999) 
     226      rn_gammat0  = 1.4e-2    ! gammat coefficient used in blk formula 
     227      rn_gammas0  = 4.e-4    ! gammas coefficient used in blk formula 
     228      ! 
     229      rn_htbl     =  30.      ! thickness of the top boundary layer    (Losh et al. 2008) 
     230      !                       ! 0 => thickness of the tbl = thickness of the first wet cell 
     231      ! 
     232      !* 'spe' and 'oasis' case 
     233      !___________!_____________!___________________!___________!_____________!_________!___________!__________!__________!_______________! 
     234      !           !  file name  ! frequency (hours) ! variable  ! time interp.!  clim   ! 'yearly'/ ! weights  ! rotation ! land/sea mask ! 
     235      !           !             !  (if <0  months)  !   name    !  (logical)  !  (T/F)  ! 'monthly' ! filename ! pairing  ! filename      ! 
     236      sn_isfcav_fwf = 'isfmlt_cav',      -12       , 'fwflisf' ,  .false.    , .true.  , 'yearly'  ,    ''    ,   ''     ,    '' 
     237 
     238 
     239   ln_isfpar_mlt = .false.   ! ice shelf melting parametrised 
     240      cn_isfpar_mlt = 'spe'  ! ice shelf melting parametrisation (spe/bg03/oasis) 
     241      ! 
     242      !* all cases 
     243      !___________!_____________!___________________!___________!_____________!_________!___________!__________!__________!_______________! 
     244      !           !  file name  ! frequency (hours) ! variable  ! time interp.!  clim   ! 'yearly'/ ! weights  ! rotation ! land/sea mask ! 
     245      !           !             !  (if <0  months)  !   name    !  (logical)  !  (T/F)  ! 'monthly' ! filename ! pairing  ! filename      ! 
     246      sn_isfpar_zmax = 'isfmlt_par',       0        ,'sozisfmax',  .false.    , .true.  , 'yearly'  ,    ''    ,   ''     ,    '' 
     247      sn_isfpar_zmin = 'isfmlt_par',       0        ,'sozisfmin',  .false.    , .true.  , 'yearly'  ,    ''    ,   ''     ,    '' 
     248      !* 'spe' and 'oasis' case 
     249      sn_isfpar_fwf = 'isfmlt_par' ,      -12       ,'fwfisf'   ,  .false.    , .true.  , 'yearly'  ,    ''    ,   ''     ,    '' 
     250      !* 'bg03' case 
     251      sn_isfpar_Leff = 'isfmlt_par',       0        ,'Leff'     ,  .false.    , .true.  , 'yearly'  ,    ''    ,   ''     ,    '' 
     252 
     253    
     254   ln_isfcpl = .false. 
     255      nn_drown       = 10        ! number of iteration of the extrapolation loop (fill the new wet cells) 
     256      ln_isfcpl_cons = .false. 
    225257/ 
    226258!----------------------------------------------------------------------- 
     
    257289&nam_tide      !   tide parameters                                      (default: OFF) 
    258290!----------------------------------------------------------------------- 
     291   ln_tide     = .true.       ! Activate tides 
     292      ln_tide_pot   = .false.               !  use tidal potential forcing 
     293      clname(1) = 'M2'  !  name of constituent - all tidal components must be set in namelist_cfg 
     294      clname(2) = 'S2' 
     295      clname(3) = 'K1' 
     296      clname(4) = 'O1' 
    259297/ 
    260298!----------------------------------------------------------------------- 
    261299&nambdy        !  unstructured open boundaries                          (default: OFF) 
    262300!----------------------------------------------------------------------- 
    263    ln_bdy         = .false.   !  Use unstructured open boundaries 
     301   ln_bdy         = .true.    !  Use unstructured open boundaries 
    264302   nb_bdy         = 1         !  number of open boundary sets 
    265303   ln_coords_file = .true.    !  =T : read bdy coordinates from file 
     
    278316   nn_tra_dta    =  1         !  = 0, bdy data are equal to the initial state 
    279317   !                          !  = 1, bdy data are read in 'bdydata   .nc' files 
    280    cn_ice_lim      =  'frs'   ! 
    281    nn_ice_lim_dta  =  1       !  = 0, bdy data are equal to the initial state 
     318   cn_ice        =  'frs'     ! 
     319   nn_ice_dta    =  1         !  = 0, bdy data are equal to the initial state 
    282320   !                          !  = 1, bdy data are read in 'bdydata   .nc' files 
    283321   rn_ice_tem    = 267.0      !  si3 only: arbitrary temperature of incoming sea ice 
     
    292330   ln_full_vel = .false.      !  ??? 
    293331 
    294    cn_dir      = 'bdydta/'    !  root directory for the BDY data location 
     332   cn_dir      = './'    !  root directory for the BDY data location 
    295333   !___________!_________________________!___________________!___________!_____________!________!___________!__________________!__________!_______________! 
    296334   !           !  file name              ! frequency (hours) ! variable  ! time interp.!  clim  ! 'yearly'/ ! weights filename ! rotation ! land/sea mask ! 
     
    304342   bn_sal      =    'bdyT_tra_WED025'    ,         -1        , 'vosaline' ,     .true. , .false., 'yearly'  ,    ''            ,   ''     ,     '' 
    305343!* for si3 
    306     bn_a_i     =    'bdyT_ice_WED025'    ,         -1        , 'ileadfra' ,     .true. , .false., 'yearly'  ,    ''            ,   ''     ,     '' 
    307     bn_ht_i    =    'bdyT_ice_WED025'    ,         -1        , 'iicethic' ,     .true. , .false., 'yearly'  ,    ''            ,   ''     ,     '' 
    308     bn_ht_s    =    'bdyT_ice_WED025'    ,         -1        , 'isnowthi' ,     .true. , .false., 'yearly'  ,    ''            ,   ''     ,     '' 
     344   bn_a_i      =    'bdyT_ice_WED025'    ,         -1        , 'ileadfra' ,     .true. , .false., 'yearly'  ,    ''            ,   ''     ,     '' 
     345   bn_h_i      =    'bdyT_ice_WED025'    ,         -1        , 'iicethic' ,     .true. , .false., 'yearly'  ,    ''            ,   ''     ,     '' 
     346   bn_h_s      =    'bdyT_ice_WED025'    ,         -1        , 'isnowthi' ,     .true. , .false., 'yearly'  ,    ''            ,   ''     ,     '' 
    309347/ 
    310348!----------------------------------------------------------------------- 
    311349&nambdy_tide   !  tidal forcing at open boundaries                      (default: OFF) 
    312350!----------------------------------------------------------------------- 
    313    filtide          = 'inputs/bdytide_WED025_'         !  file name root of tidal forcing files 
     351   filtide          = 'bdytide_WED025_'         !  file name root of tidal forcing files 
    314352/ 
    315353 
     
    332370&namdrg_top    !   TOP friction                                         (ln_OFF =F & ln_isfcav=T) 
    333371!----------------------------------------------------------------------- 
     372   rn_Cd0      =  2.5e-3    !  drag coefficient [-] 
    334373/ 
    335374!----------------------------------------------------------------------- 
    336375&namdrg_bot    !   BOTTOM friction                                      (ln_OFF =F) 
    337376!----------------------------------------------------------------------- 
     377   rn_Cd0      =  2.5e-3    !  drag coefficient [-] 
    338378/ 
    339379!----------------------------------------------------------------------- 
     
    440480!----------------------------------------------------------------------- 
    441481   ln_dynspg_ts   = .true.   ! split-explicit free surface 
     482/ 
    442483!----------------------------------------------------------------------- 
    443484&namdyn_ldf    !   lateral diffusion on momentum                        (default: NO selection) 
     
    508549/ 
    509550!----------------------------------------------------------------------- 
     551&namzdf_osm    !   OSM vertical diffusion                               (ln_zdfosm =T) 
     552!----------------------------------------------------------------------- 
     553/ 
     554!----------------------------------------------------------------------- 
    510555&namzdf_iwm    !    internal wave-driven mixing parameterization        (ln_zdfiwm =T) 
    511556!----------------------------------------------------------------------- 
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcavgam.F90

    r11486 r11488  
    111111      ! 
    112112      ! compute ustar (AD15 eq. 27) 
    113       zustar(:,:) = SQRT( pCd(:,:) * ( putbl(:,:) * putbl(:,:) + pvtbl(:,:) * pvtbl(:,:) + pke2 ) ) 
     113      zustar(:,:) = SQRT( pCd(:,:) * ( putbl(:,:) * putbl(:,:) + pvtbl(:,:) * pvtbl(:,:) + pke2 ) ) * mskisf_cav(:,:) 
    114114      ! 
    115115      ! Compute gammats 
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcavmlt.F90

    r11425 r11488  
    137137      ! 
    138138      ! thermal driving 
    139       zthd (:,:) = pttbl(:,:) - ztfrz(:,:) 
     139      zthd (:,:) = ( pttbl(:,:) - ztfrz(:,:) ) * mskisf_cav(:,:) 
    140140      ! 
    141141      ! compute ocean-ice heat flux and then derive fwf assuming that ocean heat flux equal latent heat 
     
    211211            ! 
    212212            ! thermal driving 
    213             zthd(ji,jj) = pttbl(ji,jj) - ztfrz(ji,jj) 
     213            zthd(ji,jj) = ( pttbl(ji,jj) - ztfrz(ji,jj) ) 
    214214            ! 
    215215            ! compute the upward water and heat flux (eq. 24 and eq. 26) 
     
    218218            pqhc (ji,jj) = rcp      * pqfwf(ji,jj) * ztfrz(ji,jj)                             ! heat content   flux (> 0 out) 
    219219            ! 
    220             zqcon(ji,jj) = zeps3 * ( ztfrz(ji,jj) - rtsurf )                                  ! conductive flux through the ice (> 0 out) 
     220            zqcon(ji,jj) = zeps3 * ( ztfrz(ji,jj) - rtsurf ) 
    221221            ! 
    222222         END DO 
     
    224224      ! 
    225225      ! output conductive heat flux through the ice 
    226       CALL iom_put('qconisf', zqcon) 
     226      CALL iom_put('qconisf', zqcon(:,:) * mskisf_cav(:,:) ) 
    227227      ! 
    228228      ! output thermal driving 
    229       CALL iom_put('isfthermald_cav', zthd) 
     229      CALL iom_put('isfthermald_cav', zthd(:,:) * mskisf_cav(:,:) ) 
    230230      ! 
    231231   END SUBROUTINE isfcav_mlt_3eq 
Note: See TracChangeset for help on using the changeset viewer.