The large LUT coarray has been changed to a regular array and two new smaller coarrays are used to communicate the data. This change has been done so the Cray compiler on Derecho can handle large LUT files.
added check if to see if LUT file paths are writeable when reading namelist options
there were issues with Crays debugslow mode causing issues with the the namelist being read incorrectly. Seems to be from the -eZ preprocessor option creating .i files mixed with some other compile options. The new preprocessor option is now -eT. The following shows the different preprocessor options and their descriptions
Preprocessing flags:
-eT Control preprocessing of Fortran source files. When enabled, source preprocessing is performed. Macro expansion within Fortran source lines is enabled but can be controlled by the -e/d F command line option. When disabled (-dT), preprocessing of the Fortran source file is not performed, even for files with upper case suffixes such as file.F90.
-eZ Perform source preprocessing and compilation on Fortran source files. When specified, source code is included by both #include directives and Fortran INCLUDE lines. Generates file file.i, which contains the source code after the preprocessing has been performed and the effects applied to the source program.
-eP Perform source preprocessing on Fortran source files but do not compile. When specified, source code is included by #include directives but not by Fortran INCLUDE lines. Generates file.i, which contains the source code after the preprocessing has been performed and the effects applied to the source program. If the -o out_fileargument is also specified, the preprocessed source is written to out_file instead of file.i.
-eF Control preprocessor expansion of macros in Fortran source lines.
TESTS CONDUCTED:
A Cray 6km_conus_west.nc testcase that broke on Derecho from lack of memory now runs.
Ran the PR executable and the upstream executable with 1,2,4,8 cores. I then compared the resulting look-up table files and they were always identical between the PR and upstream output. Note, this set of comparisons was done with the idealized test case and the following lt_parameters
[ ] Closes issue #xxxx (An issue must exist or be created to be closed. The
issue describes and documents the problem and general solution, the PR
describes the technical details of the solution.)
TYPE: new feature
KEYWORDS: LUT, look-up table, coarrays
SOURCE: Soren Rasmussen, NCAR
DESCRIPTION OF CHANGES:
-eZ
preprocessor option creating.i
files mixed with some other compile options. The new preprocessor option is now-eT
. The following shows the different preprocessor options and their descriptions-eT
Control preprocessing of Fortran source files. When enabled, source preprocessing is performed. Macro expansion within Fortran source lines is enabled but can be controlled by the -e/d F command line option. When disabled (-dT), preprocessing of the Fortran source file is not performed, even for files with upper case suffixes such as file.F90.-eZ
Perform source preprocessing and compilation on Fortran source files. When specified, source code is included by both #include directives and Fortran INCLUDE lines. Generates file file.i, which contains the source code after the preprocessing has been performed and the effects applied to the source program.-eP
Perform source preprocessing on Fortran source files but do not compile. When specified, source code is included by #include directives but not by Fortran INCLUDE lines. Generates file.i, which contains the source code after the preprocessing has been performed and the effects applied to the source program. If the -o out_fileargument is also specified, the preprocessed source is written to out_file instead of file.i.-eF
Control preprocessor expansion of macros in Fortran source lines.TESTS CONDUCTED:
6km_conus_west.nc
testcase that broke on Derecho from lack of memory now runs.Checklist