Version 5.0.1 of the netCDF Operators (NCO) has been released. NCO is an Open Source package that consists of a dozen standalone, command-line programs that take netCDF files as input, then operate (e.g., derive new data, average, print, hyperslab, manipulate metadata) and output the results to screen or files in text, binary, or netCDF formats.
The NCO project is coordinated by Professor Charlie Zender of the Department of Earth System Science, University of California, Irvine. More information about the project, along with binary and source downloads, are available on the SourceForge project page.
From the release message:
Version 5.0.1 contains the necessary options for ncremap
to exploit
MPI-enabled weight generators such as ESMF_RegridWeightGen
.
You can probably skip this release unless you use ncremap
.
New Features
-
ncremap
accepts two new and related options,mpi_pfx
andmpi_nbr
. The--mpi_pfx=mpi_pfx
option specifies an appropriate job scheduler prefix for MPI-enabled weight-generation executables such as ESMF's ESMF_RegridWeightGen and MoabTempest'smbtempest
. Other weight generators (ncks
,GenerateOfflineMap
) are unaffected by this option since they are not MPI-enabled.mpi_pfx
defaults tompirun -n $mpi_nbr
on all machines except those whose $HOSTNAME matches an internal database of DOE-operated supercomputers wherempi_pfx
defaults tosrun -n $mpi_nbr
. When invoking--mpi_pfx
, be sure to explicitly define the number of MPI tasks-per-node, e.g.,ncremap --mpi_pfx='srun -n 16' ... ncremap --mpi_pfx='srun --mpi=pmi2 -n 4' ...
The separate--mpi_nbr=mpi_nbr
option specifies the number of tasks-per-node that MPI-enabled weight generators will request. It preserves the default job scheduler prefix (srun
ormpirun
):ncremap --mpi_nbr=4 ... # 16 MPI tasks-per-node for ERWG/mbtempest ncremap --mpi_nbr=16 ... # 4 MPI tasks-per-node for ERWG/mbtempest
Thus--mpi_nbr=mpi_nbr
can be used to create host-independentncremap
commands to facilitate benchmarking the scaling of weight-generators across hosts that work with the default value ofmpi_pfx
. The--mpi_pfx
option will prevail and--mpi_nbr
will be ignored if both are used in the same ncremap invocation. Note thatmpi_pfx
is only used internally byncremap
to exploit the MPI capabilities of select weight-generators. It is not used to control and does not affect the distribution of multiplencremap
commands among a cluster of nodes.
http://nco.sf.net/nco.html#mpi_pfx
http://nco.sf.net/nco.html#mpi_nbr
Additional details are available in the ChangeLog.