JMMP-Group / GO_coordination

Repository to coordinate the joint development of GOSI configurations
6 stars 0 forks source link

GOSI10 porting to NEMO5 #22

Open isabellaascione opened 3 months ago

isabellaascione commented 3 months ago
  1. Testing GOSI10 with NEMO5 beta
  1. Testing GOSI10 with NEMO5 release candidate
isabellaascione commented 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
isabellaascione commented 2 months ago

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

dcalve commented 2 months ago

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
isabellaascione commented 2 months ago

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.
isabellaascione commented 1 month ago

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

image

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
isabellaascione commented 1 month ago

@emmafiedler

@edblockley

@alex.west49

isabellaascione commented 1 month ago

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:

isabellaascione commented 1 week ago

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: