Page tree

On this page

Overview

GrADS version 2.2.1 introduces a new C-language Python extension, called GradsPy (GrADS - Python Interface). The interface has a few components: a C program called gradspy.c, a Python script called setup.py, and a build of GrADS that is compiled as a dynamically loading library, called libgradspy.so (or libgradspy.dylib). The libgradspy.* files are generated along with the regular binary executables when compiling GrADS.

Usage

You can check the versions installed in Gadi with a module query:

$ module avail gradspy

We normally recommend using the latest version available and always recommend to specify the version number with the module command:

$ module load gradspy/2.2.1

For more details on using modules see our modules help guide at https://opus.nci.org.au/display/Help/Environment+Modules.

An example PBS job submission script named gradspy_job.sh is provided below. It requests 1 CPU core, 2 GiB memory, and 8 GiB local disk on a compute node on Gadi from the normal queue for its exclusive access for 30 minutes against the project a00. It also requests the system to enter the working directory once the job is started. This script should be saved in the working directory from which the analysis will be done. To change the number of CPU cores, memory, or jobfs required, simply modify the appropriate PBS resource requests at the top of this file according to the information available at https://opus.nci.org.au/display/Help/Queue+Structure. Note that if your application does not work in parallel, setting the number of CPU cores to 1 and changing the memory and jobfs accordingly is required to prevent the compute resource waste.

#!/bin/bash

#PBS -P a00
#PBS -q normal
#PBS -l ncpus=1
#PBS -l mem=2GB
#PBS -l jobfs=8GB
#PBS -l walltime=00:30:00
#PBS -l wd

# Load module, always specify version number.
module load gradspy/2.2.1 # This also loads python2/2.7.17 module

# Must include `#PBS -l storage=scratch/ab12+gdata/yz98` if the job
# needs access to `/scratch/ab12/` and `/g/data/yz98/`. Details on:
# https://opus.nci.org.au/display/Help/PBS+Directives+Explained

# Run GradsPy application
python gradspy_script.py

For more information about GradsPy syntax to be used in gradspy_script.py: http://cola.gmu.edu/grads/gadoc/python.html

To run the job you would use the PBS command:

$ qsub gradspy_job.sh