My super computer has updated its OS, and impi/netcdf/hdf5 versions, and since then I cannot run Nemo. Compilation of xios2 and nemo works fine, but running nemo produces nothing, the model hangs just after printing the following error message:
dia_mlr_iom_init : IOM context setup for multiple-linear-regression
diamlr: configuration not found or incomplete (field group 'diamlr_fields'
and/or file group 'diamlr_files' and/or field 'diamlr_time' missing);
disabling output for multiple-linear-regression analysis.
Any clue ? The very same code worked just fine before the software update.
Thanks in advance for your help,
Robinson
I’m having the same problem with the most recent oneAPI update of the Intel compilers. I’ve managed to find a way to get one of my NEMO configurations to basically initialise diamlr but no fields or regressors. That gets past the issue. If it finds fields and regressors, it crashes with malloc-related errors.
The goal is to get output like this:
dia_detide_init : weight computation for daily detided model diagnostics
lk_diadetide = T
Tidal component #01 = M2
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
dia_mlr_init : initialisation of IOM context management for
~~~~~~~~~~~~ multiple-linear-regression analysis
AAAAAAAA
AAAAAAAA
dia_mlr_iom_init : IOM context setup for multiple-linear-regression
Tidal component #01 = Mf
Tidal component #02 = Mm
Tidal component #03 = Ssa
Tidal component #04 = Mtm
Tidal component #05 = Msf
Tidal component #06 = Msqm
Tidal component #07 = Sa
Tidal component #08 = K1
Tidal component #09 = O1
Tidal component #10 = P1
Tidal component #11 = Q1
Tidal component #12 = J1
Tidal component #13 = S1
Tidal component #14 = M2
Tidal component #15 = S2
Tidal component #16 = N2
Tidal component #17 = K2
Tidal component #18 = nu2
Tidal component #19 = mu2
Tidal component #20 = 2N2
Tidal component #21 = L2
Tidal component #22 = T2
Tidal component #23 = eps2
Tidal component #24 = lam2
Tidal component #25 = R2
Tidal component #26 = M3
Tidal component #27 = MKS2
Tidal component #28 = MN4
Tidal component #29 = MS4
Tidal component #30 = M4
Tidal component #31 = N4
Tidal component #32 = S4
Tidal component #33 = M6
Tidal component #34 = M8
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
Tidal component n/a is not available!
diamlr: 0 active regressors found
diamlr: 0 fields selected for analysis
I may need some better solution. I’ll let you know if I find one.
Thanks for your input, it looks like switching to iompi helps, the model manages to make a few time steps, but crashes with NaN in the barotropic mode quickly after. Which is weird because the very same code ran without crashing.
I am sure the issue is linked with the intel fortran compiler now, but i will let you know about my findings.
So I found a workaround. It’s a complicated recipe, so I’ll try to explain the basics.
You want to edit your context_nemo.xml file as if you were implementing diamlr as in the AMM12 example with the standard configurations. (Look in /nfs/applications/nemo-4.2.0/cfgs/AMM12/EXPREF). But you must adjust it to your particular circumstances with everything else as normal but the definition of diamlr variables added. The diamlr and diadetide variables are all then turned off.
Here is a worked example for an ORCA025 configuration. I have another working example for AMM15.
Thanks for all the tips, but there is something I do not understand: I don’t even know what diamlr, and I don’t need it. The very same code worked & input files & everything, worked like a charm
before I switched to this new Intel mpi fortran version. It really seems to me this where the problem is.
But I cannot pretend switching to ompi is an option, because so far it makes the model crash with NaNs in the baroropic mode.
I think i solved the issue, I give you my findings but to be taken with a pinch of salt really, because i have not got the final results yet.
I switched to iompi, I only load this software on my super computer:
module load netCDF-Fortran/4.6.0-iompi-2022a
Nothing else, no HDF5 loading, no path specification, it is all implicit on my computer.
For arch files, if you have a set of arch files for XIOS and Nemo, and designed to use Intel fortran, then you just change the following:
I think there is a post entitled " [[intel] Model hangs on initialization phase at `xios_close_context_definiti]", that seems to be related. It seems that intel fortran is bugged.
For anyone reading this thread, the “output.abort” with infinities mentioned above comes from the atmospheric component of my coupled earth system model. The workaround works. A note to the developers: the diamlr system has been a major bugbear with running with even older versions of Intel MPI. I can’t expect this to be fixed in 4.2, but please be aware of potential issues for 5.
Hope you are doing fine. Yes, this problem happens for nemo4.2 and it means that xios hangs in the initialisation procedure. You may need to look at MPI fabrik available on your super computer. For example, the following the environment variable can maybe solve the problem.
Thanks for the tip. I will try it, but for now I must say that I solved the problem by switching to iompi. And not only it solved the issue, but it seems Nemo runs a lot faster.