The appropriate machine dependent UIO module is
The appropriate machine dependent RHD module is
-conti199: Up to 199 continuation lines can be interpreted (otherwise not more than 39 continuation lines are accepted).
-limit: Limits the amount of time and memory for compilation.
-opt=ss: use highest possible optimization level.
-nopredicate: this option switches off a sub-option activated by opt=ss. It is necessary to disable the -predicate option because the code crashes otherwise (segmentation violation). The switch must appear after setting
-pvfunc=2: References the pseudo-vectorizing mathematical function and applies the temporary array to reference the pseudo-vectorizing mathematical function.
-omp -parallel=1: parallelize based on OpenMP directives only.
-procnum=8: generated code for 8 processors on one node
-orphaned=1: Checks if the regions sequentially executed contain orphaned directives during run-time when PROCNUM=8 is specified. If a sequentially executed region contains an orphaned directive, the system outputs a message and terminates the program.
-nestcheck=1: Checks for nesting errors in parallel regions. If a parallel region is nested, the system returns an error and terminates the program. Without this option, the code aborts with an error message, indicating illegal nesting. Compiler bug?
-pmpar: Collects the performance monitor information for each parallelization unit.
-pmfunc: Collects the performance monitor information for each procedure.
-Drhd_hyd_roe1d_l01=1: Optimization: Choose non-standard set of routines for Roe solver. See Sect. 3.7.
-DMSrad_raytas=0: Optimization: choose default version of loop in
SUBROUTINE raytasin file
MSrad3D.F90. See Sect. 3.7.
-subchk: Array bound checking. Without this checking option, some UIO routines are not working properly (compiler bug?).
A proposed compiling sequence is (only default modules activated):