Skip to content

PPUG_Debug

Alice Bertini edited this page Aug 31, 2016 · 2 revisions

Debugging and Troubleshooting

There a number of files and tools that can be used to help debug and troubleshoot problems that may occur when running the CESM_postprocessing tools.

Log file output

The create_postprocess tool includes a command line option to define a debug level that can then be passed to the underlying python scripts.

-debug DEBUG, --debug DEBUG  debugging verbosity level output: 0 = none, 1 = minimum, 2 = maximum. 0 is default

Setting the debug level to something other than 0 will trigger additional debugging information be added to log files in $PP_CASE_PATH/logs corresponding to each post processing tool.

Using the create_env_script tool
The $PP_CASE_PATH/create_env_script reads the XML files in the $PP_CASE_PATH and creates a user specified shell script (bash or csh) that can then be run to setup most of the environment variables required by the underlying NCL scripts. Note that many variables are derived from other variables in the underlying python framework code before being set as environment variables and the NCL scripts called. This tool provides a starting step in debugging the underlying NCL scripts by setting up the necessary environment variables without requiring the full python framework.
Running python post processing tools in serial mode
TODO - make this a XML option for the simplecomm.create_comm argument. Running in serial mode allows for stepping through the code using the python debugger python -m pdb [script]. When running in serial mode, it is still necessary to activate the virtualenv and load the necessary python dependency modules.
Running NCAR CISL ASAP python tools in stand-alone mode
Need to setup the specifier class first - see the examples subdir for pyAverage and the docs / tests for pyReshaper