Open isabellaascione opened 3 months ago
Changes identified with NEMO5 beta release:
NEMO-ocean parameters
parameter status at NEMO5 beta | GOSI10 at NEMO5 beta | GOSI10 Trial at NEMO 4.2.2 , for comparison with GOSI10 at NEMO5 beta | GOSI10 at NEMO 4.2.2 (standard) | |
---|---|---|---|---|
namrun | ||||
ln_top | $${\color{green}new}$$ | TRUE (but used only with key_top) | not available | not available |
ln_rst_eos | $${\color{gray} N/A }$$ (GOSI10 only) | TRUE (ported from GOSI10 package) | TRUE | TRUE |
namdom | ||||
ln_linssh | $${\color{red}removed}$$ | N/A | FALSE | FALSE |
ln_shuman | $${\color{green}new}$$ | FALSE | not available | not available |
namlbc | ||||
ln_shlat2d | $${\color{gray} N/A}$$ (GOSI10 4.2.2 only) | N/A (not ported) | FALSE | TRUE |
rn_shlat | 0 | 0 | -9999 | |
namsbc | ||||
ln_dm2dc | $${\color{blue}preexisting}$$ | FALSE | FALSE | TRUE |
namsbc_blk | ||||
ln_MFS | $${\color{green}new}$$ | FALSE | not available | not available |
ln_prec_met | $${\color{green}new}$$ | FALSE | not available | not available |
rn_Cd_ia | $${\color{orange}renamed}$$ | rn_Cd_ia=1.4e-3 | rn_Cd_i=1.4e-3 | rn_Cd_i=1.4e-3 |
rn_Ce_ia | $${\color{orange}renamed}$$ | rn_Ce_ia=1.4e-3 | rn_Ce_i=1.4e-3 | rn_Ce_i=1.4e-3 |
rn_Ch_ia | $${\color{orange}renamed}$$ | rn_Ch_ia=1.4e-3 | rn_Ch_i=1.4e-3 | rn_Ch_i=1.4e-3 |
ln_Cx_ice_frm | $${\color{green}new}$$ | false | not available | not available |
nn_frm | $${\color{green}new}$$ | set to default as per reference namelist, but not used because ln_Cx_ice_frm=.false.) | not available | not available |
rn_Cs_io | $${\color{green}new}$$ | set to default as per reference namelist, but not used because ln_Cx_ice_frm=.false.) | not available | not available |
rn_Cs_ia | $${\color{green}new}$$ | set to default as per reference namelist, but not used because ln_Cx_ice_frm=.false.) | not available | not available |
rn_Cr_ia | $${\color{green}new}$$ | set to default as per reference namelist, but not used because ln_Cx_ice_frm=.false.) | not available | not available |
rn_Cr_io | $${\color{green}new}$$ | set to default as per reference namelist, but not used because ln_Cx_ice_frm=.false.) | not available | not available |
rn_Cf_ia | $${\color{green}new}$$ | set to default as per reference namelist, but not used because ln_Cx_ice_frm=.false.) | not available | not available |
rn_Cf_io | $${\color{green}new}$$ | set to default as per reference namelist, but not used because ln_Cx_ice_frm=.false.) | not available | not available |
namsbc_abl | ||||
ln_pga_abl | $${\color{green}new}$$ | false (only for ln_abl = T) | not available | not available |
rn_vfac | $${\color{green}new}$$ | (only for ln_abl = T) | not available | not available |
namsbc_blk | ||||
ln_crt_fbk | $${\color{blue}preexisting}$$ | TRUE | TRUE | FALSE |
rn_stau_a | $${\color{blue}preexisting}$$ | -2.90E-03 | -2.90E-03 | not used |
rn_stau_b | $${\color{blue}preexisting}$$ | 8.00E-03 | 8.00E-03 | not used |
rn_vfac | $${\color{gray} N/A}$$ (GOSI10 4.2.2 only) | N/A (not ported) | 0 | 1 |
namtra_qsr | ||||
nn_chldta | $${\color{blue}preexisting}$$ | 1 | 1 | 0 |
rn_chl_conc | $${\color{gray} N/A }$$ (GOSI10 4.2.2 only) | N/A (not ported) | not used | 0.1 |
nameos | ||||
rn_T0 | $${\color{green}new}$$ | 10 | hardcoded to 10 | hardcoded to 10 |
rn_S0 | $${\color{green}new}$$ | 35 | hardcoded to 35 | hardcoded to 35 |
namtra_adv | ||||
nn_fct_imp | $${\color{green}new}$$ | it should be 2 but that does not work , set to 1 | not available | not available |
namtra_eiv | ||||
ln_eke_equ | ||||
namldf_eke | $${\color{green}new}$$ namelist with new parameters (not listed in this table) | unused because nn_aei_ijk_t=21 | not available | not available |
namvvl | ||||
nn_vvl_interp | $${\color{blue}preexisting}$$ | 2 | 2 | 0 |
namdyn_adv | ||||
ln_dynadv_ubs | $${\color{red}removed}$$ | N/A | FALSE | FALSE |
namdyn_vor | ||||
ln_dynvor_eeT | $${\color{red}removed}$$ | N/A | FALSE | FALSE |
namdyn_hpg | ||||
ln_hpg_zps | $${\color{red}removed}$$ | N/A | FALSE | FALSE |
namdyn_spg | ||||
ln_bt_av | $${\color{red}removed}$$ now it is hardcoded to TRUE (ll_bt_av in dynspg_ts.F90) | N/A | TRUE | TRUE |
rn_htau_scaling | $${\color{gray} N/A}$$ (GOSI10 4.2.2 only) | ported | 1 | 1 |
nammpp | ||||
ln_mppdelay | $${\color{green}new}$$ | FALSE | not available | not available |
nn_hls | $${\color{blue}preexisting}$$ | 2 | 1 (should be 2, but does not have much impact ) | 1 |
namzdf | ||||
ln_zdfiwm | $${\color{blue}preexisting}$$ | TRUE | TRUE | FALSE |
ln_zdftmx | $${\color{gray}N/A }$$ (GOSI10 4.2.2 only) | N/A (not ported) | FALSE | TRUE |
rn_avm0 | $${\color{blue}preexisting}$$ | 1.40E-06 | 1.40E-06 | 1.20E-04 |
rn_avt0 | $${\color{blue}preexisting}$$ | 1.00E-10 | 1.00E-10 | 1.20E-05 |
Sea-Ice parameters
parameter | parameter status in NEMO5 beta | GOSI10 at NEMO5 beta | GOSI10 trial at NEMO 4.2.2 (for comparison with GOSI10 at NEMO5 beta) | GOSI10 at NEMO 4.2.2 (standard) |
---|---|---|---|---|
rn_cio= 1.0e-2 | $${\color{orange}renamed}$$ | rn_Cd_io= 1.0e-2 | rn_cio= 1.0e-2 | rn_cio= 1.0e-2 |
ln_icedS | $${\color{red}removed}$$ | N/A | ln_icedS=.true. | ln_icedS=.true. |
ln_flushing | $${\color{green}new}$$ | TRUE | Not available as option in the namelist but included in the code | Not available as option in the namelist but included in the code |
ln_drainage | $${\color{green}new}$$ | TRUE | Not available as option in the namelist but included in the code | Not available as option in the namelist but included in the code |
rn_sinew | $${\color{green}new}$$ | 0.3 (because nn_icesal=2) rn_sinew *sss_1d is used instead of rn_simax, so will give different result from 4.2.2 | N/A | N/A |
rn_simax | $${\color{red}removed}$$ | N/A | 20 | 20 |
rn_sal_himin | $${\color{green}new}$$ | 0 | Hardcoded to 0. | Hardcoded to 0. |
ln_pnd_rain | $${\color{green}new}$$ | FALSE | N/A | N/A |
rn_pnd_hl_min | $${\color{green}new}$$ | 0.005 | Not available as parameter, but hardcoded to 0.005 | Not available as parameter, but hardcoded to 0.005 |
rn_pnd_hl_max | $${\color{green}new}$$ | 0.015 | Not available as parameter, but hardcoded to 0.015 | Not available as parameter, but hardcoded to 0.015 |
rn_alb_lpnd | $${\color{green}new}$$ | set to 0.36, it should do the same as 4.2.2 | N/A | N/A |
nn_liquidus | $${\color{green}new}$$ | 1 | N/A | N/A |
nn_pnd_brsal | $${\color{gray} N/A }$$ (GOSI10 4.2.2 only ) | N/A, use nn_liquidus instead | 0 | 0 |
BUG
the parameter nn_fct_imp has been introduced with the 5-beta release. The default value is 1. To replicate the behaviour of 4.2.2, it should be set to 2. However this option seems to be broken. I let Daley know about this, and an issue should be opened on the main nemo repository.
update: Daley proposed a fix: https://forge.nemo-ocean.eu/nemo/nemo/-/issues/499
The r5282_nemo5rc_changes_and_fix_intel_xios MOCI branch should be used to run GOSI10 after it has been rebased onto the NEMO 5 release candidate (currently it is a branch of the beta).
This is required because the NEMO 5 release candidate has removed lib_cray.f90
, necessitating an update to the fcm-make
configurations in MOCI. The above branch contains these changes as well as those from r4684_fix_intel_xios, which we currently use.
Suites using GOSI10 based on the NEMO 5 release candidate will need the following update in app/fcm_make_ocean/rose-app.conf
:
config_root_path=fcm:MOCI.xm/branches/dev/daleycalvert/r5282_nemo5rc_changes_and_fix_intel_xios
nemo_version_file=nemo5.0-version.cfg
The NEMO 5 RC is released.
moving from NEMO5-beta to NEMO5-RC ,
the new reference namelist says to use 0.25 instead of 0.3 (as in NEMO5 beta) when using nn_icesal=2
Additionally, the following changes happened to the namelists:
namhsb | removed namelist |
---|---|
ln_diahsb | removed |
namdom | |
ln_crs | removed |
namcfg | |
ln_use_jattr | removed |
namcrs | removed |
nn_factx | removed |
nn_facty | removed |
nn_binref | removed |
ln_msh_crs | removed |
nn_crs_kz | removed |
ln_crs_wn | removed |
namc1d | it now includes the parameters from the namelists namc1d_dyndmp and namc1d_uvd, which were present in 5-beta. namc1d_dyndmp and namc1d_uvd no longer exist as namelists |
nam_tide | |
ln_tide_dia | removed |
namtra_eiv | |
ln_ldfeiv_dia | removed |
namflo | removed |
ln_floats | removed |
jpnfl | removed |
jpnnewflo | removed |
ln_rstflo | removed |
nn_writefl | removed |
nn_stockfl | removed |
ln_argo | removed |
ln_flork4 | removed |
ln_ariane | removed |
ln_flo_ascii | removed |
nam_dia25h | removed |
ln_dia25h | removed |
namnc4 | |
ln_nc4zip | default is .false. |
I tested the GOSI10 p2.0 with ORCA025. In the run with NEMO 5 beta I was using rn_sinew=0.3 with nn_icesal=2, as recommended in the NEMO5-beta release. The run crashed after about 25 years, in July 2001, with errors in outputting variable sfxice.
looking into the code, the nn_icesal =2 option is no longer coded as it was in NEMO 4.2.2. I did 1 day run test and compared the variable sfxice with the reference at GOSI10 p2.0 . The results (below, picture to the left) show that the nn_icesal=2 with rn_sinew=0.3 produce different results from GOSI10 p2.0 (middle picture).
I backported the formulas used in NEMO 4.2.2 into the branch (https://forge.nemo-ocean.eu/devs/ukmo/gosi/gosi/-/commit/b5e4620c40b9fc064630b0007a22d58c5effa9b8) . With this change, nn_icesal=2 option no longer uses the parameterisation based on rn_sinew.
the results in the picture below show that the sfxice variable (right picture) is consistent with GOSI10p2.0 (picture in the middle) when using the formulation from NEMO4.2.2
With NEMO5 RC the recommendation is now to use rn_sinew=0.25 with nn_icesal=2.
Emma also advised to try nn_icesal=4, which uses a default of rn_sinew=0.75 in the reference namelist.
Following the above, I set up the following 3 long runs:
suite | description | outcome |
---|---|---|
u-di347 | GOSI10p3.0 (based on NEMO5RC). nn_icesal=2 and rn_sinew=0.25 | this run crashed shortly after 20 years , in April 1997, with error NetCDF: Numeric conversion not representable Unable to write data given the location id: 65536 and the variable whose id: 58 and name: sfxice |
u-di581 | GOSI10p3.0 adapted to NEMO5RC , using nn_icesal=4 and rn_sinew=0.75 | crashes on 19890601 wuh same error as above |
u-di568 | GOSI10p3.0 adapted to NEMO5RC , but backporting the formulations used in NEMO 4.2.2. Using nn_icesal=2 and re-introducing rn_simax=20.0 . rn_sinew is not used in this run | crashes on 19890601 wuh same error as above |
@emmafiedler
@edblockley
@alex.west49
NEMO system meeting on 04/09/2024
there has been discussion about validation effort. the full minutes of the meeting can be found at (login required): https://forge.nemo-ocean.eu/nemo/nst/-/wikis/meetings/2024_09_4th
Notes for the validation efforts (from the minutes):
CNRS:
ran ORCA1 for 120 years for v4.2 (MLF) and v5.0 (MLF and RK3). Found an issue with sea-ice quantities when using RK3: under investigation (eORCA1 monitoring here).
no particular issue found in coupled ocean-atmosphere global and regional configurations with NEMOv5.0 (But not check MLF vs RK3).
Used XIOS3 following the instructions of Andrew on the draft user guide (here and it worked really well)
NOC:
ORCA025, not noticed any problems for first 5 years.
CMCC:
Did not notice any issues for Black & Mediterranean sea regional configs during the first year of simulation wave coupling will be validated soon
UKMET:
GOSI10 config: ORCA1,ORCA025 and ORCA12 grids (not exactly identical to v5.0 RC tagged version) crash after 20 years integration with ORCA025 using MLF (and delayed communications disabled)
similar AMOC between NEMO 4.2 and 5.0
SSS differences dipole between Artic & North Atlantic
global scores improvement with Nemo 5
restartability issue to be investigated by Daley; it can be linked to the crash Clem suggests to have a look at ice namelists between Nemo 4.2 & 5.0 and to check salt-ice related options
NEMO system meeting on 25/09/2024
the full meeting minutes are available at (login required):
https://forge.nemo-ocean.eu/nemo/nst/-/wikis/meetings/2024_09_25th
notes related to validation efforts:
LOCEAN: Need to re-run the simulations to double check as the results are curious and not reproducible by the other groups.
NOC: run BENCH (eORCA12 like, no output, north fold) on ARCHER2: In terms of performance results are very good (still have benefit up to 60 000 cores) North fold still costing a lot => leads to up and down in the scalability curve. This depends of the number of lines in the north fold subdomains. Some work is still needed to improve that.
MetO: 25 years, then instability possibly in SI3. Not able to restart beyond because of the instability. On the 25 years of simulation, generally more ice in NEMO 5.0 compared to NEMO 4.2. Instabilities sensitive to compilation options (fp-model). XIOS failed but because SI3 send too large value. This is a model error not a XIOS error. S.T offered to look into the issue.
Issue with RK3: reconsidered the way Coriolis forces are computed in the time splitting loop. The branch is there and needs to be validated by others. (S.T. and G.M.). It improves stability of ORCA2. The issue is there for RK3 and MLF.
[x] NEMO5 beta released in on https://forge.nemo-ocean.eu/devs/ukmo/gosi/gosi/-/commits/5.0-beta?ref_type=tags
[x] Create issue and branch on GOSI repository https://forge.nemo-ocean.eu/devs/ukmo/gosi/gosi/-/issues/19
[x] Port GOSI10 package changes to NEMO5 beta. GOSI10 will have different settings compared to standard GOSI10 at 4.2.2
[x] set up a rose suite to run with the modified version of GOSI10 at NEMO5 beta .
$${\color{red} ✗ }$$ run 30 years : the run crashed after 25 years with errors in writing the variable sfxice
$${\color{red} ✗ }$$ validation notes : these cannot be run for the last 10 years of the experiment due to the failure above described