Opened 3 years ago
Closed 3 years ago
#2432 closed Bug (fixed)
multiple 3rd dimensions in iom_rstput
Reported by: | smasson | Owned by: | systeam |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | IOM | Version: | trunk |
Severity: | minor | Keywords: | |
Cc: |
Description
Context
Several tricks have been done to be able to manage different 3rd dimensions in NetCDF files created by iom_open and iom_rstput.
Adding tricks on top of existing tricks is not a good solution... and end up with bugs...
For example in ICE_AGRIF (because jpk = 2 = jpka) iom_nf90_rp0123d try to access undefined variable (ght_abl).
Analysis
Creating a NetCDF file with several dimensions that could be used as a 3rd dimension is feasible.
The problem rises when we write 3D data with iom_rstput. We should be able to know to which 3rd dimension we should attach the variable... This cannot be done with the dimension size as they can be identical in some cases (see the bug we have today in ICE_AGRIF).
To do the job, we should add an argument to iom_rstput to say which 3rd dimension we should use. This is not a very nice/light solution...
Fix
Instead of doing a more complicated code, we propose to simplify the things:
-> NetCDF file created by iom_open and iom_rstput can have only one unique 3rd dimension which can be specified through optional arguments in iom_open
This solution forces
1) to split restart files (1 for each component): this is already the case today, so their is no changes here
2) a file created by dia_wri_state (output.init and output.abort) can no more contain 3D variables from both, OCE (jpk) and ICE (numcat). We must therefore split this file in 2: output.init and output.init_ice or output.abort and output.abort_ice. This is the only change imposed by this solution.
Commit History (1)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
12649 | smasson | 2020-04-03T09:11:57+02:00 | trunk: clean and unique 3rd dimension in iom_rstput, see #2432 |
Change History (3)
comment:1 Changed 3 years ago by smasson
comment:2 Changed 3 years ago by smasson
In 12649:
comment:3 Changed 3 years ago by smasson
- Resolution set to fixed
- Status changed from new to closed
fixed in [12649]
this commit pass all sette tests and gives the exact same results as [12615]
Current code is : NEMO/trunk @ r12646 ( last change @ r12646 ) SETTE validation report generated for : NEMO/trunk @ r12646+ (last changed revision) on X64_IRENE arch file !!---------------1st pass------------------!! !----restart----! WGYRE_PISCES_ST run.stat restartability passed : 12646+ WGYRE_PISCES_ST tracer.stat restartability passed : 12646+ WORCA2_ICE_PISCES_ST run.stat restartability passed : 12646+ WORCA2_ICE_PISCES_ST tracer.stat restartability passed : 12646+ WORCA2_OFF_PISCES_ST tracer.stat restartability passed : 12646+ WAMM12_ST run.stat restartability passed : 12646+ WORCA2_SAS_ICE_ST run.stat restartability passed : 12646+ WAGRIF_DEMO_ST run.stat restartability passed : 12646+ WSPITZ12_ST run.stat restartability passed : 12646+ WISOMIP_ST run.stat restartability passed : 12646+ WOVERFLOW_ST run.stat restartability passed : 12646+ WLOCK_EXCHANGE_ST run.stat restartability passed : 12646+ WVORTEX_ST run.stat restartability passed : 12646+ WICE_AGRIF_ST run.stat restartability passed : 12646+ !----repro----! WGYRE_PISCES_ST run.stat reproducibility passed : 12646+ WGYRE_PISCES_ST tracer.stat reproducibility passed : 12646+ WORCA2_ICE_PISCES_ST run.stat reproducibility passed : 12646+ WORCA2_ICE_PISCES_ST tracer.stat reproducibility passed : 12646+ WORCA2_OFF_PISCES_ST tracer.stat reproducibility passed : 12646+ WAMM12_ST run.stat reproducibility passed : 12646+ WORCA2_SAS_ICE_ST run.stat reproducibility passed : 12646+ WORCA2_ICE_OBS_ST run.stat reproducibility passed : 12646+ WAGRIF_DEMO_ST run.stat reproducibility passed : 12646+ WSPITZ12_ST run.stat reproducibility passed : 12646+ WISOMIP_ST run.stat reproducibility passed : 12646+ WVORTEX_ST run.stat reproducibility passed : 12646+ WICE_AGRIF_ST run.stat reproducibility passed : 12646+ !----agrif check----! ORCA2 AGRIF vs ORCA2 NOAGRIF run.stat unchanged - passed : 12646+ 12646+ !----result comparison check----! check result differences between : VALID directory : /ccc/scratch/cont005/ra0542/massons/trunk_t2432/NEMO_VALIDATION at rev 12646+ and REFERENCE directory : /ccc/work/cont005/ra0542/massons/NEMO_ALL_VALIDATIONS/trunk/NEMO_VALIDATION at rev 12615 WGYRE_PISCES_ST run.stat files are identical WGYRE_PISCES_ST tracer.stat files are identical WORCA2_ICE_PISCES_ST run.stat files are identical WORCA2_ICE_PISCES_ST tracer.stat files are identical WORCA2_OFF_PISCES_ST tracer.stat files are identical WAMM12_ST run.stat files are identical WISOMIP_ST run.stat files are identical WORCA2_SAS_ICE_ST run.stat files are identical WAGRIF_DEMO_ST run.stat files are identical WSPITZ12_ST run.stat files are identical WISOMIP_ST run.stat files are identical WVORTEX_ST run.stat files are identical WICE_AGRIF_ST run.stat files are identical
This solution was accepted by Clément, Guillaume, Christian and Pierre