wiki:ParNCLReleaseNotes1_0_0
Last modified 3 years ago Last modified on 07/15/14 15:28:09

ParNCL 1.0.0 - RELEASE NOTES

New Features

This section provides information on the new features available in 1.0.0 compared to 1.0.0b2.

  • Support for MPAS grids
  • This release supports dim_sum_n() and dim_product_n() functions
  • We now support data slicing (subscripting) across time and level dimensions for HOMME and MPAS variables
  • The new release also includes several bug fixes to 1.0.0b2 .

Sample NCL scripts

Some sample NCL scripts that work with ParNCL 1.0.0 are available here.

Supported NCL Language Features

ParNCL is a parallel version of NCL that runs NCL scripts in parallel and performs data analysis using ParGAL. All the graphics functions in ParNCL are executed serially using existing NCL routines. The features available in ParNCL as of 1.0.0 are given below,

Variables

ParNCL supports NCL variables with ancillary data like attributes, dimension and coordinates. The multi-dimensional data stored in climate data files are read by ParNCL using a parallel netcdf reader and distributed across multiple processes that are part of a ParNCL job. ParNCL currently supports accessing attributes, dimensions and coordiantes associated with a variable. ParNCL also supports missing values associated with a data variable (via the "_FillValue" attribute).

ParNCL also supports standard variable subscripting for climate data read from CAM Eulerian Spectral, Finite Volume, HOMME and MPAS grids. Subscripting is limited to time and level dimensions for data read from HOMME and MPAS grids. Range and vector subscripting is supported. This version does not support Coordinate or Named subscripting.

Variables can be assigned to one another and the ancillary data corresponding to the variables are copied as in NCL. File variables in climate data files in the netcdf format can be read using the addfile() and addfiles() functions.

Statements

ParNCL supports blocks, if statements and loop statements like do and while. It also supports user defined and built-in (see the list below) functions and procedures. ParNCL also support logical statements with distributed data.

Supported data-format

ParNCL currently only supports NetCDF files output from either the: CAM Eulerian Spectral grid, CAM Finite Volume grid, CAM Spectral Element (HOMME) grid or MPAS grid. We intend to support other types of climate model output in future releases.

Built-in Functions

The list of built-in functions supported by ParNCL is given below. Please refer to the NCAR website for more information on these built-in functions.

Supported NCL Functions

The table below gives a summary of the built-in functions supported by ParNCL for each grid type.

Eulerian Spectral GridFinite Volume GridHOMME GridMPAS Grid
addfileYES YES YESYESOpens a climate data, *.nc, file
addfilesYES YES YESYESCreates a reference that spans multiple climate data files
dim_avg_nYES YES YESYESComputes the average of a variable's given dimension(s) at all other dimensions
dim_avg_n_WrapYES YES YESYESComputes the average of a variable's given dimension(s) at all other dimensions and retains the metadata.
dim_sum_nYES YES YESYESComputes the sum of a variable's given dimension(s) at all other dimensions
dim_sum_n_WrapYES YES YESYESComputes the sum of a variable's given dimension(s) at all other dimensions and retains the metadata.
dim_product_nYES YES YESYESComputes the product of a variable's given dimension(s) at all other dimensions
dim_max_nYES YES YESYESFinds the maximum of a variable's given dimensions at all other dimensions
dim_min_nYES YES YESYESFinds the minimum of a variable's given dimensions at all other dimensions
dimsizesYES YES YESYESReturns the dimension sizes of the input variable
default_fillvalueYES YES YESYESReturns the default missing value for the given variable type
maxYES YES YESYESComputes the maximum value of a multi-dimensional array
minYES YES YESYESComputes the minimum value of a multi-dimensional array
printYES YES YESYESPrint a variable
printVarSummaryYES YES YESYESPrint summary of a variable
systemfuncYES YES YESYESExecutes a shell command and returns the output
uv2vrFYES YES YESYESComputes vorticity from the wind components on a Fixed grid
uv2vrF_WrapYES YES YESYESComputes vorticity from the wind components on a Fixed grid.
Retains meta-data associated with the variable
uv2vrGYES YES YESYESComputes vorticity from the wind components on a Gaussian grid
uv2vrG_WrapYES YES YESYESComputes vorticity from the wind components on a Gaussian grid.
Retains meta-data associated with the variable
uv2vrAYES YES YESYESComputes vorticity from the wind components on all supported grid types
uv2vrA_WrapYES YES YESYESComputes vorticity from the wind components on all supported grid types.
Retains meta-data associated with the variable
uv2dvFYES YES YESYESComputes divergence from the wind components on a Fixed grid
uv2dvF_WrapYES YES YESYESComputes divergence from the wind components on a Fixed grid.
Retains meta-data associated with the variable
uv2dvGYES YES YESYESComputes divergence from the wind components on a Gaussian grid
uv2dvG_WrapYES YES YESYESComputes divergence from the wind components on a Gaussian grid.
Retains meta-data associated with the variable
uv2dvAYES YES YESYESComputes divergence from the wind components on all supported grid types
uv2dvA_WrapYES YES YESYESComputes divergence from the wind components.
Retains meta-data associated with the variable
uv2sfvpfYES YES YESNOGiven the wind components, u and v, computes the stream function and velocity potential on a Fixed grid
uv2sfvpgYES YES YESNOGiven the wind components, u and v, computes the stream function and velocity potential on a Gaussian grid
uv2sfvpaYES YES YESNOGiven the wind components, u and v, computes the stream function and velocity potential on all grids
absYES YES YESYES
acosYES YES YESYES
asinYES YES YESYES
atanYES YES YESYES
atan2YES YES YESYES
cosYES YES YESYES
expYES YES YESYES
fabsYES YES YESYES
floorYES YES YESYES
logYES YES YESYES
log10YES YES YESYES
sinYES YES YESYES
sinhYES YES YESYES
newYES YES YESYES Allows user to create an NCL variable
whereYES YES YESYES Perform array assignments based on a conditional array
gc_inoutsYES YES YESYES This is a parallel version of the gc_inout() function. More info is available here
VisualizationYES YES YESYES All NCL graphics routines should work with ParNCL.
These routines are executed serially by ParNCL

Installing ParNCL

You can download ParNCL binaries here.

Information on how to build and install ParNCL from source is available here.

Running an NCL script

Information on how to run an NCL script using ParNCL is available here.

Problems or Questions?

Send email to Parvis-users at lists.mcs.anl.gov