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.
Users/Agenda/2020-10-21 (diff) – NEMO

Changes between Initial Version and Version 1 of Users/Agenda/2020-10-21


Ignore:
Timestamp:
2020-10-21T14:10:58+02:00 (4 years ago)
Author:
smasson
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Users/Agenda/2020-10-21

    v1 v1  
     1= Announcement of NEMO release 4.0.4 = 
     2 
     3We are pleased to announce the minor 4.0.4 release, now available here: ​​​ [[BR]] 
     4https://forge.ipsl.jussieu.fr/nemo/browser/NEMO/releases/r4.0/r4.0.4 [[BR]] 
     5 
     6This 4.0.4 release is based on 4.0 and also includes some new features and improvements (need for a description readable for users here…): 
     7 
     8'''SI3:''' 
     9 
     10New physics controlled by a namelist parameter: 
     11 
     12 - Parameterization of frozen lids on top of melt ponds => ln_pnd_lids 
     13 - Fraction of ice covered by snow can be dependent on snow thickness. It impacts albedo and solar flux transmitted thru the ice. There are 3 options: nn_snwfra=0 (basic 0-1, as before), nn_snwfra=1 (MetO-Jules formulation), nn_snwfra=2 (CICE formulation). 
     14 - Solar flux transmission thru the surface scattering layer. There are 2 options: nn_qtrice=0 (transmission depends on cloudiness and is 0 where there is snow, as before), nn_qtrice=1 (from M. Lebrun thesis 2019: transmission is 0.3 everywhere but with different snow conductivities during melting and freezing) 
     15 
     16Enhancements controlled by a namelist parameter: 
     17 
     18 - Initialise sea ice from multi category restart file => nn_iceini_file=2 
     19 - read the cloud cover to improve ice albedo calculation (forced simulations only for now) 
     20 - control of convergences for rheology (EVP and aEVP) and heat diffusion (Bitz and Lipscomb 99) schemes => nn_rhg_chkcvg and ln_zdf_chkcvg 
     21 - maximum ice thickness allowed (99m by default) => rn_himax 
     22 - heat in the leads can be used to warm the ocean before melting sea-ice but probably not a good idea (cf Ed) => ln_leadhfx 
     23 
     24Hard coded developments and debugs: 
     25 
     26 - major debug of aEVP (critical)  
     27 - penetration of solar radiation thru the ice and snow does not include the surface scattering layer anymore (3cm for snow and 10cm for ice). So, it writes as exp(-kappa*max(0,z-ssl)), with ssl=surface scattering layer. 
     28 - debug sbccpl.F90 for IPSL and Met-Office 
     29 - limitation of ice/snow temperatures and salinity to avoid overshooting and then to overcome a recurrent issue with the 2 advection schemes (UMx and Prather) 
     30 - namelist param changes for best simulations. OPA: nn_mxl=3 (instead of 2), nn_mxlice=2 (instead of 0). SI3: nn_snwfra=2, nn_qtrice=1, ln_pnd=true 
     31 - rewrite heat budget of the ice, so it includes the solar flux transmitted thru the ice and is conservative by construction. Also, activating ln_icediachk now gives an ascii file (icedrift_diagnostics.ascii) containing mass, salt and heat global conservation issues (if any). In addition, 2D drift files can be outputed. 
     32 - debug outputs for shear and normal stresses in rheology 
     33 
     34Others: 
     35 
     36 - reduce number of mpi communications in rheology and in the two advection schemes 
     37 
     38'''OCE:'''  
     39 
     40New physics controlled by a namelist parameter: 
     41 
     42 - ice-ocean drags can now be calculated implicitly => ln_drgice_imp. For instance, it allows ORCA2 to run with a time step of 5760s instead of 5400s (?) 
     43 - turbulent mixing is modified due to the presence of sea ice (zdfgls and zdftke routines).  
     44  - With tke, one can choose to 1) take into account sea-ice for the depth of the mixed layer (=> nn_mxlice) and 2) attenuate surface wave breaking and langmuir cells under sea ice (=> nn_eice).  
     45  - With gls, sea ice intervenes as 1) a friction surface with a specific roughness parameter (nn_hsri) and 2) a damping for surface wave breaking (nn_z0_ice). 
     46 
     47Hard coded developments and debugs: 
     48 
     49 - update coupling interface for sea-ice 
     50 - fix coastal boundary conditions in dyn_ldf_blp, see #2449 
     51 - debug in zdfgls when there is no top/bottom friction (ticket #2435)  
     52 - debug in zdftke for the ice shelves (ticket #2406, critical) 
     53 - rewrite fmask so that on-point straits slip condition is determined by the namelist parameter rn_shlat as for all the other points, and is not solely free slip (ticket #2237) 
     54 - debug hybrid s-z coordinates (ln_hpg_prj=true, ticket #2474, major) 
     55 - fix minor bug in dynvor, see #2446 
     56 - debug waves (tickets #2445 and #2447, both critical) 
     57 - debug icebergs (ticket #2407, critical) 
     58 - debug freshwater budget (ticket #2376) 
     59 - out-of-bounds in bdydta, see #2410 
     60 - better detection and managment of errors messages 
     61 
     62'''The detail list all fixes can bee seen :''' 
     63 
     64Because of the reorganization of the 4.0* svn branches between the 4.0.2 and the 4.0.4, the complete list of code modification is split in 2 parts 
     65 - https://forge.ipsl.jussieu.fr/nemo/changeset?sfp_email=&sfph_mail=&reponame=&new=12564%40NEMO%2Freleases%2Frelease-4.0-HEAD&old=12375%40NEMO%2Freleases%2Frelease-4.0-HEAD&sfp_email=&sfph_mail= 
     66 - https://forge.ipsl.jussieu.fr/nemo/changeset?sfp_email=&sfph_mail=&reponame=&new=13648%40NEMO%2Freleases%2Fr4.0%2Fr4.0-HEAD&old=12578%40NEMO%2Freleases%2Fr4.0%2Fr4.0-HEAD&sfp_email=&sfph_mail= 
     67 
     68From now on, to download the NEMO reference, we recommend to use this new intermediate release, especially for the projects using coupled ocean-atmosphere configurations: 
     69svn co https://forge.ipsl.jussieu.fr/nemo/svn/NEMO/releases/r4.0/r4.0.4 
     70 
     71'''Practical issue when updating to this release :''' 
     72 
     73 - Critical changes in namelist_ref: 
     74  - deleted variable: ln_drg 
     75  - renamed variables: ln_OFF -> ln_drg_OFF, rn_eice -> nn_eice 
     76 
     77 - Critical changes in namelist_ice_ref: 
     78  - renamed variables: rn_depfra -> rn_lf_depfra, rn_icebfr -> rn_lf_bfr, rn_lfrelax -> rn_lf_relax, rn_tensile -> rn_lf_tensile 
     79 
     80- Critical changes in namelist_pisces_ref: 
     81  - renamed variables: mprat2 -> mpratd, xpref2p -> xpref2n 
     82 
     83- Critical changes in field_def_nemo-oce.xml: 
     84  - added variables: socegrad, socegrad2, eken_int, relvor, absvor, potvor, salt2c 
     85 
     86- Critical changes in field_def_nemo-ice.xml: 
     87  - added variables: icehlid, icevlid, sig1_pnorm, sig2_pnorm, beta_evp, uice_cvg, dmilam, icehlid_cat, iceaepnd_cat, tice_cvgerr, tice_cvgstp, dmilam 
     88 
     89 - all changes in cfgs/SHARED/namelist_* and cfgs/SHARED/*xml files: 
     90 
     91{{{#!diff 
     92Index: namelist_ice_ref 
     93=================================================================== 
     94--- namelist_ice_ref    (revision 12578) 
     95+++ namelist_ice_ref    (revision 13511) 
     96@@ -45 +45,2 @@ 
     97-   rn_himin         =   0.1           !  minimum ice thickness (m) used in remapping 
     98+   rn_himin         =   0.1           !  minimum ice thickness (m) allowed 
     99+   rn_himax         =  99.0           !  maximum ice thickness (m) allowed 
     100@@ -58 +59 @@ 
     101-      rn_depfra     =   0.125         !        fraction of ocean depth that ice must reach to initiate landfast 
     102+      rn_lf_depfra  =   0.125         !        fraction of ocean depth that ice must reach to initiate landfast 
     103@@ -60,3 +61,3 @@ 
     104-      rn_icebfr     =  15.            !        maximum bottom stress per unit volume [N/m3] 
     105-      rn_lfrelax    =   1.e-5         !        relaxation time scale to reach static friction [s-1] 
     106-      rn_tensile    =   0.05          !        isotropic tensile strength [0-0.5??] 
     107+      rn_lf_bfr     =  15.            !        maximum bottom stress per unit volume [N/m3] 
     108+      rn_lf_relax   =   1.e-5         !        relaxation time scale to reach static friction [s-1] 
     109+      rn_lf_tensile =   0.05          !        isotropic tensile strength [0-0.5??] 
     110@@ -96 +97 @@ 
     111-      nn_nevp       = 120             !     number of EVP subcycles 
     112+      nn_nevp       = 100             !     number of EVP subcycles 
     113@@ -98 +99,6 @@ 
     114-                                      !        advised value: 1/3 (rn_nevp=120) or 1/9 (rn_nevp=300) 
     115+                                      !        advised value: 1/3 (nn_nevp=100) or 1/9 (nn_nevp=300) 
     116+   nn_rhg_chkcvg    =   0             !  check convergence of rheology 
     117+                                      !     = 0  no check 
     118+                                      !     = 1  check at the main time step (output xml: uice_cvg) 
     119+                                      !     = 2  check at both main and rheology time steps (additional output: ice_cvg.nc) 
     120+                                      !          this option 2 asks a lot of communications between cpu 
     121@@ -111 +117,5 @@ 
     122-   rn_blow_s        =   0.66          !  mesure of snow blowing into the leads 
     123+   nn_snwfra        =   2             !  calculate the fraction of ice covered by snow (for zdf and albedo) 
     124+                                      !     = 0  fraction = 1 (if snow) or 0 (if no snow) 
     125+                                      !     = 1  fraction = 1-exp(-0.2*rhos*hsnw) [MetO formulation] 
     126+                                      !     = 2  fraction = hsnw / (hsnw+0.02)    [CICE formulation] 
     127+   rn_snwblow       =   0.66          !  mesure of snow blowing into the leads 
     128@@ -119,0 +130,3 @@ 
     129+   nn_qtrice        =   1             !  Solar flux transmitted thru the surface scattering layer: 
     130+                                      !     = 0  Grenfell and Maykut 1977 (depends on cloudiness and is 0 when there is snow) 
     131+                                      !     = 1  Lebrun 2019 (equals 0.3 anytime with different melting/dry snw conductivities) 
     132@@ -127,0 +141,2 @@ 
     133+   ! 
     134+   ln_leadhfx       = .true.          !  heat in the leads is used to melt sea-ice before warming the ocean 
     135@@ -137,0 +153,4 @@ 
     136+   rn_kappa_s       =  10.0           !  nn_qtrice = 0: radiation attenuation coefficient in snow         [1/m] 
     137+   rn_kappa_smlt    =   7.0           !  nn_qtrice = 1: radiation attenuation coefficient in melting snow [1/m] 
     138+   rn_kappa_sdry    =  10.0           !                 radiation attenuation coefficient in dry snow     [1/m] 
     139+   ln_zdf_chkcvg    = .false.         !  check convergence of heat diffusion scheme (outputs: tice_cvgerr, tice_cvgstp) 
     140@@ -177,3 +196,5 @@ 
     141-   ln_pnd           = .false.         !  activate melt ponds or not 
     142-     ln_pnd_H12     = .false.         !  activate evolutive melt ponds (from Holland et al 2012) 
     143-     ln_pnd_CST     = .false.         !  activate constant  melt ponds 
     144+   ln_pnd            = .true.         !  activate melt ponds or not 
     145+      ln_pnd_LEV     = .true.         !  level ice melt ponds (from Flocco et al 2007,2010 & Holland et al 2012) 
     146+         rn_apnd_min =   0.15         !     minimum ice fraction that contributes to melt pond. range: 0.0 -- 0.15 ?? 
     147+         rn_apnd_max =   0.85         !     maximum ice fraction that contributes to melt pond. range: 0.7 -- 0.85 ?? 
     148+      ln_pnd_CST     = .false.        !  constant  melt ponds 
     149@@ -182 +203,2 @@ 
     150-     ln_pnd_alb     = .false.         !  melt ponds affect albedo or not 
     151+      ln_pnd_lids    = .true.         !  frozen lids on top of the ponds (only for ln_pnd_LEV) 
     152+      ln_pnd_alb     = .true.         !  effect of melt ponds on ice albedo 
     153@@ -188 +210,3 @@ 
     154-   ln_iceini_file   = .false.         !  netcdf file provided for initialization (T) or not (F) 
     155+   nn_iceini_file   =   0             !     0 = Initialise sea ice based on SSTs 
     156+                                      !     1 = Initialise sea ice from single category netcdf file 
     157+                                      !     2 = Initialise sea ice from multi category restart file 
     158@@ -208 +232,3 @@ 
     159-   ! -- for ln_iceini_file = T 
     160+   rn_hld_ini_n     =   0.0           !  initial pond lid depth      (m), North 
     161+   rn_hld_ini_s     =   0.0           !        "            "             South 
     162+   ! -- for nn_iceini_file = 1 
     163@@ -218,0 +245 @@ 
     164+   sn_hld = 'NOT USED'              , -12 ,'hld'   ,  .false.  , .true., 'yearly'  , '' , '', '' 
     165Index: namelist_ref 
     166=================================================================== 
     167--- namelist_ref        (revision 12578) 
     168+++ namelist_ref        (revision 13511) 
     169@@ -283 +283,2 @@ 
     170-   sn_tdif     = 'taudif_core'                ,   24         , 'taudif'  ,   .false.   , .true. , 'yearly'  , 'weights_core_orca2_bilinear_noc.nc' , ''       , '' 
     171+   sn_cc       = 'NOT USED'                   ,   24.        , 'CC'      ,   .false.   , .true. , 'yearly'  , 'weights_core_orca2_bilinear_noc.nc' , ''       , '' 
     172+   sn_tdif     = 'taudif_core'                ,   24.        , 'taudif'  ,   .false.   , .true. , 'yearly'  , 'weights_core_orca2_bilinear_noc.nc' , ''       , '' 
     173@@ -290,0 +292 @@ 
     174+   ln_scale_ice_flux = .false. !  use ice fluxes that are already "ice weighted" ( i.e. multiplied ice concentration) 
     175@@ -418,0 +421 @@ 
     176+   ln_rnf_icb  = .false.   !  read in iceberg flux from a file (fill sn_i_rnf if .true.) 
     177@@ -428,0 +432 @@ 
     178+   sn_i_rnf    = 'NOT_USED'              ,        -1.        , 'sorunoff',   .true.    , .true. , 'yearly'  , ''               , ''       , '' 
     179@@ -644,0 +649 @@ 
     180+   bn_hil      = 'NOT USED'              ,         24.       , 'sihlid'  ,    .true.   , .false.,  'daily'  ,    ''            ,   ''     ,     '' 
     181@@ -650,0 +656 @@ 
     182+   rn_ice_hlid = 0.0          !       --   pond lid depth                      -- 
     183@@ -664,2 +670,2 @@ 
     184-!!   namdrg_top    top    friction                                      (ln_OFF=F & ln_isfcav=T) 
     185-!!   namdrg_bot    bottom friction                                      (ln_OFF=F) 
     186+!!   namdrg_top    top    friction                                      (ln_drg_OFF=F & ln_isfcav=T) 
     187+!!   namdrg_bot    bottom friction                                      (ln_drg_OFF=F) 
     188@@ -673 +679 @@ 
     189-   ln_OFF      = .false.   !  free-slip       : Cd = 0                  (F => fill namdrg_bot 
     190+   ln_drg_OFF  = .false.   !  free-slip       : Cd = 0                  (F => fill namdrg_bot 
     191@@ -678,0 +685 @@ 
     192+      ln_drgice_imp = .false. ! implicit ice-ocean drag 
     193@@ -681 +688 @@ 
     194-&namdrg_top    !   TOP friction                                         (ln_OFF =F & ln_isfcav=T) 
     195+&namdrg_top    !   TOP friction                                         (ln_drg_OFF =F & ln_isfcav=T) 
     196@@ -692 +699 @@ 
     197-&namdrg_bot    !   BOTTOM friction                                      (ln_OFF =F) 
     198+&namdrg_bot    !   BOTTOM friction                                      (ln_drg_OFF =F) 
     199@@ -1049 +1056 @@ 
     200-   nn_mxl      =   2       !  mixing length: = 0 bounded by the distance to surface and bottom 
     201+   nn_mxl      =   3       !  mixing length: = 0 bounded by the distance to surface and bottom 
     202@@ -1053,0 +1061,6 @@ 
     203+      nn_mxlice    = 2        ! type of scaling under sea-ice 
     204+                              !    = 0 no scaling under sea-ice 
     205+                              !    = 1 scaling with constant sea-ice thickness 
     206+                              !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model ) 
     207+                              !    = 3 scaling with maximum sea-ice thickness 
     208+      rn_mxlice   = 10.       ! max constant ice thickness value when scaling under sea-ice ( nn_mxlice=1) 
     209@@ -1055 +1067,0 @@ 
     210-   ln_drg      = .false.   !  top/bottom friction added as boundary condition of TKE 
     211@@ -1066 +1078,5 @@ 
     212-      rn_eice     =   4       !  below sea ice: =0 ON ; =4 OFF when ice fraction > 1/4 
     213+   nn_eice     =   1       !  attenutaion of langmuir & surface wave breaking under ice 
     214+   !                       !           = 0 no impact of ice cover on langmuir & surface wave breaking 
     215+   !                       !           = 1 weigthed by 1-TANH(10*fr_i) 
     216+   !                       !           = 2 weighted by 1-fr_i 
     217+   !                       !           = 3 weighted by 1-MIN(1,4*fr_i) 
     218@@ -1078,0 +1095 @@ 
     219+   rn_hsri       =  0.03   !  Ice-ocean roughness 
     220@@ -1081,0 +1099,5 @@ 
     221+   nn_z0_ice     =   1     !  attenutaion of surface wave breaking under ice 
     222+   !                       !           = 0 no impact of ice cover 
     223+   !                       !           = 1 roughness uses rn_hsri and is weigthed by 1-TANH(10*fr_i) 
     224+   !                       !           = 2 roughness uses rn_hsri and is weighted by 1-fr_i 
     225+   !                       !           = 3 roughness uses rn_hsri and is weighted by 1-MIN(1,4*fr_i) 
     226Index: namelist_top_ref 
     227=================================================================== 
     228--- namelist_top_ref    (revision 12578) 
     229+++ namelist_top_ref    (revision 13511) 
     230@@ -124,2 +124,4 @@ 
     231-   ln_trdmld_trc_restart = .false. !  restart for ML diagnostics 
     232-   ln_trdmld_trc_instant = .true.  !  flag to diagnose trends of instantantaneous or mean ML T/S 
     233+   ln_trdmxl_trc_restart = .false.   !  restart for ML diagnostics 
     234+   ln_trdmxl_trc_instant = .true.    !  flag to diagnose trends of instantantaneous or mean ML T/S 
     235+   cn_trdrst_trc_in  = 'restart_trd' !  suffix of pass. tracer trends restart name (input) 
     236+   cn_trdrst_trc_out = 'restart_trd' !  suffix of pass. tracer trends restart name (output) 
     237Index: field_def_nemo-ice.xml 
     238=================================================================== 
     239--- field_def_nemo-ice.xml      (revision 12578) 
     240+++ field_def_nemo-ice.xml      (revision 13511) 
     241@@ -50,0 +51,2 @@ 
     242+          <field id="icehlid"      long_name="melt pond lid depth"                                     standard_name="sea_ice_meltpondlid_depth"                 unit="m" /> 
     243+          <field id="icevlid"      long_name="melt pond lid volume"                                    standard_name="sea_ice_meltpondlid_volume"                unit="m" /> 
     244@@ -82,0 +85 @@ 
     245+          <field id="beta_evp"     long_name="Relaxation parameter of ice rheology (beta)"             standard_name="relaxation_parameter_of_ice_rheology"      unit=""  /> 
     246@@ -172,0 +176,3 @@ 
     247+          <!-- rheology convergence tests --> 
     248+          <field id="uice_cvg"   long_name="sea ice velocity convergence"      standard_name="sea_ice_velocity_convergence"      unit="m/s" /> 
     249+ 
     250@@ -210,0 +217 @@ 
     251+          <field id="dmilam"       long_name="sea-ice mass change through lateral melting"             standard_name="tendency_of_sea_ice_amount_due_to_lateral_melting"                       unit="kg/m2/s" /> 
     252@@ -288,0 +296 @@ 
     253+          <field id="icehlid_cat"  long_name="Ice melt pond lid thickness per category"          unit="m"       detect_missing_value="true" /> 
     254@@ -289,0 +298 @@ 
     255+          <field id="iceaepnd_cat" long_name="Ice melt pond effective fraction per category"     unit=""        /> 
     256@@ -300,0 +310,4 @@ 
     257+          <!-- heat diffusion convergence tests --> 
     258+          <field id="tice_cvgerr" long_name="sea ice temperature convergence error"      standard_name="sea_ice_temperature_convergence_err" unit="K" /> 
     259+          <field id="tice_cvgstp" long_name="sea ice temperature convergence iterations" standard_name="sea_ice_temperature_convergence_stp" unit=""  /> 
     260+ 
     261@@ -559,0 +573 @@ 
     262+          <field field_ref="dmilam"           name="sidmassmeltlat"   /> 
     263Index: namelist_pisces_ref 
     264=================================================================== 
     265--- namelist_pisces_ref (revision 12578) 
     266+++ namelist_pisces_ref (revision 13511) 
     267@@ -199 +199 @@ 
     268-   mprat2     =  0.01     ! Diatoms mortality rate 
     269+   mpratd     =  0.01     ! Diatoms mortality rate 
     270@@ -232,2 +232,2 @@ 
     271-   xpref2d    =  1.       ! zoo preference for phyto 
     272-   xpref2p    =  1.       ! zoo preference for POC 
     273+   xpref2d    =  1.       ! zoo preference for Diatoms 
     274+   xpref2n    =  1.       ! zoo preference for nanophyto 
     275@@ -235,2 +235,2 @@ 
     276-   xpref2m    =  0.2      ! meso preference for zoo 
     277-   xpref2c    =  0.3      ! zoo preference for poc 
     278+   xpref2m    =  0.2      ! zoo preference for mesozoo 
     279+   xpref2c    =  0.3      ! zoo preference for POC 
     280Index: field_def_nemo-oce.xml 
     281=================================================================== 
     282--- field_def_nemo-oce.xml      (revision 12578) 
     283+++ field_def_nemo-oce.xml      (revision 13511) 
     284@@ -37,0 +38,8 @@ 
     285+       <!--- additions to diawri.F90 ---> 
     286+        <field id="socegrad"    long_name="module of salinity gradient"              unit="psu/m"   grid_ref="grid_T_3D"/> 
     287+        <field id="socegrad2"   long_name="square of module of salinity gradient"    unit="psu2/m2" grid_ref="grid_T_3D"/> 
     288+        <field id="eken_int"    long_name="vertical integration of kinetic energy"   unit="m3/s2"   /> 
     289+        <field id="relvor"      long_name="relative vorticity"                       unit="s-1"    grid_ref="grid_T_3D"/> 
     290+        <field id="absvor"      long_name="absolute vorticity"                       unit="s-1"    grid_ref="grid_T_3D"/> 
     291+        <field id="potvor"      long_name="potential vorticity"                      unit="s-1"    grid_ref="grid_T_3D"/> 
     292+        <field id="salt2c"      long_name="Salt content vertically integrated"       unit="1e-3*kg/m2" /> 
     293@@ -85 +92,0 @@ 
     294-        <field id="bn2"          long_name="squared Brunt-Vaisala frequency"                                           unit="s-1"    grid_ref="grid_T_3D" /> 
     295@@ -536,0 +544,3 @@ 
     296+        <!-- EOS --> 
     297+        <field id="bn2"          long_name="squared Brunt-Vaisala frequency"                unit="s-2" /> 
     298+ 
     299@@ -592 +602 @@ 
     300-      <!-- variables available with key_float --> 
     301+      <!-- variables available with ln_floats --> 
     302}}}