[Thread Prev][Thread Next][Index]

[ferret_users] Re: netCDF4, netCDF-4



Hi Patrick,
Yes, we have been working with Unidata as they completed the work on netcdf4.1. We have been testing Ferret with the netcdf-4 features, adding syntax to write netcdf-4 files with compression and chunking, and testing the OPeNDAP capabilities that are included in the netcdf4.x library. We have built Ferret with netcdf4.1, and you can get test versions of Ferret v6.43(beta) with netcdf4.1 here:

   ftp://ftp.pmel.noaa.gov/ferret/pub/ferret_netcdf-4.1/

Your feedback is welcome!  There are still a few details to resolve about our build with netcdf4.1, and just today I see there's a message about a patch needed for HDF4.1, but we hope to make an official release soon; this will be Ferret v6.5.

The tar files contain the Ferret executable, a note about the builds, and a file called ferret_netcdf4.txt, which contains the following short document about the syntax for using Ferret with netcdf-4 -I've also included that document below so you can see what the syntax looks like. The executables tar files also contain external function .so files and gksm2ps, so these are complete executables files that can be installed using the regular Ferret install procedure.

These executables are built with gfortran rather than gksm2ps.  This means that anybody who has their own custom external functions will need to rebuild them with gfortran/gcc instead of g77.  Also, the 32-bit linux executable is now built on RedHat 5.  This means that it will NOT run on RedHat 3.  For the 32-bit version, you will need to re-install the environment as the font files from previous releases will not work with this executable.

-Ansley

Ferret syntax for working with netcdf4 files.

1. A Ferret symbol is set at startup: NETCDF_VERSION
This queries the netCDF-4 call nc_inq_libvers, and reports back a string like

   yes? SHOW SYMBOL NETCDF_VERSION
   NETCDF_VERSION = "4.1 of Feb  5 2010 16:32:49 $"


2. Netcdf4 formatted files are read by Ferret with no intervention from the user,
except possibly to adjust the chunk cache for better performance.


3. SHOW NCCACHE    Lists the current settings for the CACHE

Chunk cache size is listed in mbytes. The current default set by the netcdf4.1
library is 4.194304 bytes.


4. SET NCCACHE to change the chunk cache settings from the defaults

SET NCCACHE/SIZE/NELEMS/PREEMPT Sets the chunk cache:

    /SIZE=   new size in mb
    /NELEMS  see the netcdf4 documentation
    /PREEPMT see the netcdf4 documentation


5. CANCEL NCCACHE  restores the default settings for the chunk cache


For example,
  
   yes? SHOW NCCACHE
   Current NCDF Chunk Cache size 4.1943 MB, n_elems = 1009, preemption = 75
  
   yes? SET NCCACHE/SIZ=16
  
   yes? SHOW NCCACHE
   Current NCDF Chunk Cache size 16 MB, n_elems = 1009, preemption = 75
  
   yes? CANCEL NCCACHE
    Restoring default chunk cache settings
  
   yes? SHO NCCACHE
   Current NCDF Chunk Cache size 4.1943 MB, n_elems = 1009, preemption = 75


6. New qualifiers on SET LIST, to make settings for subsequent SAVE commands:

   SET LIST/NCFORMAT/ENDIAN/DEFLATE/SHUFFLE 

    /NCFORMAT = netcdf4, classic, 4, 3, 64BIT_OFFSET. (4=netcdf4, 3=classic)
    /ENDIAN   = big, little, native
    /DEFLATE  = deflate level, 0 through 9 (1 is recommended for compression)
    /SHUFFLE  = 0 or 1


6a. (needed but not implemented yet, CANCEL LIST/... to restore default settings)


7. New qualifiers on LIST/FORMAT=CDF (e.g. SAVE). These can be set per variable.

SAVE/NCFORMAT/DEFLATE/SHUFFLE/ENDIAN/XCHUNK/YCHUNK/ZCHUNK/TCHUNK

    /NCFORMAT = netcdf4, classic, 4, 3, 64BIT_OFFSET. (4=netcdf4, 3=classic)
    /ENDIAN   = big, little, native
    /DEFLATE  = deflate level, 0 through 9; if specified with no argument,
                deflate is set to 1. (1 is recommended for compression)
    /SHUFFLE  = 0 or 1; if /shuffle with no argument, it is set to 1
    /XCHUNK/YCHUNK/ZCHUNK/TCHUNK = chunk sizes in each index direction

For example,

   yes? USE ocean_atlas_monthly
   yes? ! save with default chunk sizes
   yes? SAVE/FILE=deflate.nC/CLOBBER/NCFORMAT=4/DEFLATE/SHUFFLE temp

   yes? ! or specify chunks
   yes? SAVE/FILE=deflate.nc/CLOBBER/NCFORMAT=4/DEFLATE=1\
/XCHUNK=360/YCHUNK=180/ZCHUNK=1/TCHUNK=1 temp



Brockmann Patrick wrote:
Hi all,

Is there a netCDF4 compliant release of ferret already available ?
We will very soon start to produce the CMIP5 output in netCDF4 format and
work without ferret is simply not imaginable !

Let me know if I have missed something about this subject.
Only mail has been found
http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2009/msg00157.html

Patrick


[Thread Prev][Thread Next][Index]

Contact Us
Dept of Commerce / NOAA / OAR / PMEL / TMAP

Privacy Policy | Disclaimer | Accessibility Statement