Opened 5 years ago
Closed 4 years ago
#2394 closed Defect (duplicate)
error when reading namelists
Reported by: | andmirek | Owned by: | systeam |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | TOP | Version: | trunk |
Severity: | major | Keywords: | |
Cc: |
Description (last modified by andmirek)
Context
New way of reading namelists doesn't work with newer CRAY compilers (cce/8.7.7, cce/8.7.11). When trying to run sette, NEMO executable produces errors of the type:
misspelled variable in namelist namcfg in reference namelist iostat =
and fails.
see #2653 for solution and further updates
Analysis
...
Recommendation
...
Commit History (0)
(No commits)
Attachments (2)
Change History (15)
comment:1 Changed 5 years ago by acc
comment:2 Changed 5 years ago by acc
Are you sure it is the internal file reading that is in error? Seems unlikely since the error you report is in the namelist_cfg which means the namelist_ref has already been read?
comment:3 Changed 5 years ago by andmirek
I've just noticed I had changes in the branch I was using. I'm trying now branch without changes.
comment:4 Changed 5 years ago by andmirek
For the branch without my changes the errors (misspelled variable) are for namctl for both reference and configuration namelist, and nammpp for configuration namelist. Exactly the same code runs fine with an older compiler version (8.3.4).
I'll try sette for the latest trunk now and will do the same for revision before changing the way namelists are read.
comment:5 Changed 5 years ago by andmirek
trunk@12367 - no problems with reading namelists with 8.7.7. Still sette failed, but with NaNs? (completed OK with compiler version 8.3.4). I wasn't sure which revision of sette to use, so adopted the latest revision by changing namelists parameters. The test I was looking at was ORCA2_ICE_PISCES.
comment:6 Changed 5 years ago by andmirek
- Description modified (diff)
After changing to the old version of reading namelists (for namctl and namcfg only) namctl and namcfg we read correctly. So it looks new(er) CRAY compilers do not handle new method of reading namelists correctly.
comment:7 Changed 5 years ago by acc
- Description modified (diff)
Ok so we should mark this ticket as invalid and close it until the real cause of the problem has been identified. It doesn't appear to be a problem with the reading of the namelists. A quick comparison of ocean.outputs produced using 8.7.7 and 8.3.4 should confirm that.
comment:8 Changed 5 years ago by andmirek
Just to clarify, the two namelists, which were read using old method, were correct, the model failed later with the same error as above for a different namelist.
comment:9 Changed 5 years ago by acc
Still not convinced it is the method of reading the namelists which is at fault. The attached plain F90 program (with sample input nambdy) works correctly on a CRAY using fan 8.7.7:
ftn -V Cray Fortran : Version 8.7.7 Tue Mar 03, 2020 12:10:03 ftn -o loadnml loadnml.F90 ./loadnml The whole internal file: &nambdy_index nbdyind = 10 / &nambdy_index nbdyind = 10 / &nambdy_index nbdyind = 20 / &nambdy_index nbdyind = 70 / &nambdy_index nbdyind = 80 / &nambdy_index nbdyind = 30 / &NAMBDY_INDEX NBDYIND = 40 / &nambdy_index nbdyind = 90 / ---- 25 characters from position 20: nd = 10 / &nambdy_index n ---- Length of the compressed internal file: 231 ---- nbdyind in the 1st occurrence of nambdy_index: nbdyind = 10 ---- nbdyind in the 4th occurence of nbdyind = 70 ---- Finally the first occurrence directly from the external namelist: nbdyind = 10 ----
The model itself shouldn't be doing anything different.
comment:10 Changed 5 years ago by andmirek
Can you try sette (ORCA2_ICE_PISCES) on this system?
comment:11 Changed 5 years ago by acc
Not easily with that compiler since the system doesn't have a full PrgEnv? that uses it. The latest full tests were successful using cce/8.5.8
comment:12 Changed 5 years ago by andmirek
Are you using monsoon? If yes, to get this compiler working you need to:
module load cdt/18.12
comment:13 Changed 4 years ago by andmirek
- Description modified (diff)
- Resolution set to duplicate
- Status changed from new to closed
see ticket #2653 with proposed solution.
Are you sure it is the internal file reading that is in error? Seems unlikely since the error you report is in the namelist_cfg which means the namelist_ref has already been read?