I am writing my own MATLAB scripts to do most of the visualization and data analysis of model results. I wonder if there is a quicker way for visual comparison of simulation results gained from different ocean modeling systems. Is there a (preferably free) software package that works with CF (Climate and Forecast Metadata Conventions) compliant NetCDF model output directly or is always some coding required?
For very quick visual comparison I would use Cube Browser or ncview together with a command line tool like the Climate Data Operators. For quick production of nice looking graphics (and animations) Panoply really makes good job. For further analysis or special graphics keep following your approach and script with things like MATLAB, Python (e.g. with Iris), IDL, R, ncl or whatever people around you are using.
Over the years, I've found Ferret to be reliable with CF compliant files (and non-compliant ones, for that matter) and useful for interactive quick looks and simple manipulations. It understands, for example, the CF-recommended UDUNITS time format and will automatically apply
add_offset attributes to variables. It's certainly quicker to get something on screen than the Python/R/Matlab route that I usually take for presentation and publication quality plots.
If you're after a more GUI-like viewer, then I've heard good things about Panoply, although I must admit I've never used it myself.
I second ncview for taking a quick look at NetCDF files.
I would also recommend trying Unidata's Integrated Data Viewer (IDV). It is great for overlaying geophysical fields in 3-D from different sources. Besides NetCDF, it supports many other formats. It also comes with a pre-loaded listing of various observational and model data repositories through THREDDS and OpenDAP. IDV also lets you to define functions and operations between fields on different grids or projections. Note that IDV is not good for serious analysis in my opinion, but is more suitable for exploring datasets visually.
Just to add my point of view;
- Using ncks you can do many things, i.e. differentiate, get ratio, extract some vars, slice on the dimension etc..
- If you want to make some binary operations on netcdf files consider ncbo. For huge files I prefer to cut down what I want at the first place, it does opendap remote as well.
- Hate matlab so I moved to NCL (NCAR) which is straight forward and has many scripts already prepared for most common models . No need to tell it is producing publication quality figures ;)
- There is portion of the lib for python (pyNGL), the same syntax so once when familiar with ncl easy to use it in python as well, support for other formats like grib, hdf, ...
Normally I use the following softwares for a quick view of my NetCDF files:
- NASA Panoply (Panoply netCDF, HDF and GRIB Data Viewer): java based, very good in opening HDF, NetCDF, GRIBs...
- CDO functions as shaded, contour, etc. (very basic but useful from command-line)
- MATLAB and R with their basic functions
Using Matlab, you can do ncgeodataset (http://code.google.com/p/nctoolbox/wiki/ncgeodataset) to subsample the netcdf without having to download large datasets.
nc = ncgeodataset('http://thredds.jpl.nasa.gov/thredds/dodsC/ncml_aggregation/OceanTemperature/ghrsst/aggregate__ghrsst_JPL_OUROCEAN-L4UHfnd-GLOB-G1SST_OI.ncml');
gvar = nc.geovariable('analysed_sst');
sub = gvar.geosubset(s); % Subset method
While I don't know the specifics of ocean modeling, unless there there is a "standard" in which nodes are organized and written (Ie X,Y,Z), there will always be coding required. Furthermore, the way a a data file is written always depends on how tasks in the model are delegated to the processor: Is the model designed to be run on a personal PC or a Beowulf Cluster?
You might be able to use something such as OpenDx, to compare ocean modeling results, though I still think that a quick python script would be in order to properly format all data types.