Tips for Debugging FAMOUS on HPCx
To get more information in the .leave file:
- Disable buffering so the UM prints out everything as it happens.
(Sub-Model Independent → Script Inserts and Modifications)
Add the envrionment variable:
Variable name: XLFRTEOPTS
Value: namelist=old:buffering=disable_all
- Get the UM to print when it enters and leaves a timed routine.
(Sub-Model Ind → Sub-Model Ind Section Options → Misc Secs 94–97)
Select:
Section 97 (timer): 3A
(Sub-Model Ind → Compilation and Mods → Modifications for the model)
Add the mod:
/hpcx/devt/n02/n02-ncas/aosprey/um/mods/debug/timer3a_write.mf77
*IDENT TIMER3AWRITE
*/
*/ Print timed routines
*/
*DECLARE TIMER3A
*D TIMER3A.177
WRITE(6,*) section_name,' action= ',action
To look at the source code:
- The source files will usually be in $UCOMPDIR or $RECONDIR for the reconfiguration, defined in (Sub Model Ind → File & Directory Naming). Otherwise they have been zipped up and put into a tar archive. To retrieve them follow the instructions from the README file in the job output directory.
- To set the job so that it does not automatically zip up the source files:
(Sub-Model Ind → Script Inserts and Modifications)
Add the environment variable:
Variable name: SKIP_TAR_COMPDIR
Value: true
Looking at individual processor output:
- Each processor writes it’s output to an individual pe file in the output directory. Generally only the pe0 is copied to the .leave file, and the others are deleted. To keep all of the pe files:
(Sub-Model Ind → Output Management)
Select:
Output option: “Always keep output from PEs in DATAW”
Changing the compiler options:
- To look at the defult compiler options:
Open $UMDIR/vn4.5/source/compile_vars
The compiler options follow FCOM_OPTS
:
@fort FCOM_OPTS=-qfixed -q64 -qrealsize=8 -qintsize=8
- To add a compile override file:
(Sub-Model Ind → Compilaton & Mods → User-defined Compile Option Overrides)
Add your file, containing the line of compile_vars
to be overwritten