NetCDF operators (NCO) version 4.7.1

Version 4.7.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 4.7.1 contains mostly minor fixes and few new features. One major improvement, long in development, is a Conda Windows port. Most NCO functionality is now easily available to Windows users through the Conda distribution.

Pedro Vicente turned his Windows scripts into a CMake implementation. Building on Pedro's CMake contribution, a team of about six volunteers used, refined, or implemented Windows ports for the full NCO software stack. Filipe Fernandez coordinated the Conda work, added AppVeyor support, and brought in extra help and testing. Pedro and Isuru Fernando tracked down bugs and improved the build matrix. No one person could have accomplished this. The power of Open Source development is awesome.

New Features
  1. NCO Conda package for Windows: All NCO binaries are thought to work correctly, although the regression test script itself (which is written in Perl) has not yet been run on Windows. Windows' idiosyncratic quoting rules can interfere with ncap2 (try running from Powershell to use UNIXy quotes). The two scripted operators, ncclimo and ncremap, are problematic. As sophisticated Bash scripts, these do not work on Windows. Volunteers to port them to a Windows-friendly language (e.g., Python) are welcome! Within a few days of release, try this Windows install command:
    conda install -c conda-forge nco
    http://nco.sf.net/nco.html#conda
  2. ncclimo in daily mode now handles stdin input more cleverly. Piping or redirecting filename lists to ncclimo --clm_md=dly is the easiest way to feed huge lists of filenames to ncclimo. However, these lists are often dominated in size by the path component of the filename, rather than the filename itself. Now ncclimo allows specification of the path with -i drc_in, and it will prepend that path to the standard input names. Previously it prepended the current working directory. This functionality allows easy retention of the full provenance of the input files, without requiring repetitive inclusion of long pathnames in the filenames.
    ls *.clm2.h0.* | ncclimo -c caseid -C dly -s 1960 -e 2005 -i data
    http://nco.sf.net/nco.html#ncclimo
  3. JSON printing of netCDF3 strings, i.e., character arrays, has changed. Previously ncks printed square brackets around the string, as with numeric arrays. However this was somewhat redundant since the quotation marks around a JSON string already indicate an array of characters. Now ncks omits the inner-most (i.e., most rapidly varying) set of brackets from the printing of character arrays:
    ncks --jsn_fmt=2 -C -H -v char_var_2D_arr ~/nco/data/in.nc
    {
     "dimensions": {
         "lat": 2,
         "lon": 4
      },
      "variables": {
         "char_var_2D_arr": {
         "shape": ["lat", "lon"],
         "type": "char",
         "data": ["one", "two"]
    ...
    This is instead of "data": [["one"], ["two"]] in the last line.
    http://nco.sf.net/nco.html#json

Additional details are available in the ChangeLog.

Comments:

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

Welcome

FAQs

Developers’ blog

Take a poll!

What if we had an ongoing user poll in here?

Browse By Topic
Browse by Topic
« November 2024
SunMonTueWedThuFriSat
     
2
3
4
5
6
7
8
9
10
11
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
       
Today