NetCDF operators (NCO) version 5.0.4

Version 5.0.4 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.4 contains significant changes to the ncclimo splitter API, minor changes to ncremap's --permute API and to invoking the internal inverse-distance weight generation. Along with these features come generally improved WARNINGs, HINTs, reduced noisiness of diagnostics for frequently used commands, and mitigation of compression issues triggered by netCDF 4.8.0+ library changes. Furthermore, numerous minor improvements to mbtempest and to ERWG support are included.

New Features
  1. ncremap removes the previous assumption that input horizontal dimensions are in lat-lon order. The order can now be lat-lon or lon-lat. The old behavior would fail when attempting to regrid variables whose horizontal dimensions were lon-lat to an unstructured grid.
  2. ncremap now prefers to call its inverse distance-weighted interpolation/extrapolation algorithm "idw" for "inverse distance-weighted" rather than "dwe" for distance-weighted extrapolation. However, both forms are acceptable and back-compatibility was maintained.
  3. ncremap adds the --split flag to select splitter mode. Previously, the splitter was automatically invoked whenever the input files were provided via stdin, globbing, or positional command-line arguments, with some exceptions. That older method became ambiguous and untenable once it was decided to also allow climos to be generated from files provided via stdin, globbing, or positional command-line arguments. Now there are three methods to invoke the splitter:
    1. Use the --split flag: this is the most explicit way to invoke the splitter.
    2. Select clm_md=hfs: the high-frequency splitter mode by definition invokes the splitter, so a more explicit option than this is not necessary.
    3. Set the years-per-file option, e.g., --ypf=25: the ypf_max option is only useful to the splitter, and has thus been used in many scripts. Since this option still causes the splitter to be invoked, those script will perform as before.
    ncclimo --split -c ${caseid} -s 1 -e 2 -i raw -o clm
    ls ${caseid1}*h0.000[12]* | ncclimo -f ${fml_nm} -s 1 -e 2 -o out

  4. ncremap introduces changes the API for the --permute option: Previously the argument needed to include the entire option string to be passed to ncpdq including the -a component, e.g., --permute='-a time,new_dim,lat,lon'. Now ncremap supplies the implicit -a internally so the user does not need to know the ncpdq syntax.

    ncremap --permute=Time,new_dim,nCells
    ncremap --permute=time,new_dim,lat,lon

  5. ncremap adds the --area_dgn flag to diagnose (rather than copy) the area of each gridcell in an inferred grid-file. By default, ncremap simply copies the area variable, if found, into the grid_area variable of the inferred SCRIP grid-file. When --area_dgn is invoked, ncremap instead computes the values of grid_area based on the gridcell boundaries in the input template file.

    ncremap --area_dgn -d -g

    Note that --area_dgn has no effect on any mapping weights subsequently generated from the grid-file because most weight-generators base their weights on internally computed cell areas (ERWG does have an option, --user_areas, to override this behavior).

Additional details are available in the ChangeLog.


Post a Comment:
Comments are closed for this entry.
News and information from the Unidata Program Center
News and information from the Unidata Program Center



Developers’ blog

Take a poll!

What if we had an ongoing user poll in here?

Browse By Topic
Browse by Topic
« April 2024