Tools: Difference between revisions
Line 32: | Line 32: | ||
** NetCDF Toolbox: An overloaded "language" for dealing with NetCDF files, developed by Chuck Denham. Not under active development. | ** NetCDF Toolbox: An overloaded "language" for dealing with NetCDF files, developed by Chuck Denham. Not under active development. | ||
* [http://marine.rutgers.edu/~jevans/rslice/rslice/doc/html/ch01.html RSLICE]: A GUI specifically for ROMS files. Accesses local NetCDF (or remote OpenDAP) files, and since it depends on SNCTOOLS, can work via Java without MEXNC. | * [http://marine.rutgers.edu/~jevans/rslice/rslice/doc/html/ch01.html RSLICE]: A GUI specifically for ROMS files. Accesses local NetCDF (or remote OpenDAP) files, and since it depends on SNCTOOLS, can work via Java without MEXNC. | ||
* [http://www.brest.ird.fr/Roms_tools/ ROMS_TOOLS]: GUI and tools specifically for ROMS | * [http://www.brest.ird.fr/Roms_tools/ ROMS_TOOLS]: GUI and tools specifically for ROMS files. An integral part of the ROMS-AGRIF system. | ||
== Other Tools == | == Other Tools == |
Revision as of 23:03, 6 November 2006
NetCDF Format
ROMS input and output files are self-describing, machine independent NetCDF files. The history and averages files are 100% compliant with the CF 1.0 Metadata Standard for gridded data. These files can be accessed with a wide variety of software tools. But some of our favorite tools are mentioned below.
Python
Python is a scripting language that is easy to learn and use (like MATLAB), is object-oriented and very powerful, and is rapidly becoming a standard language for scientific scripting. Many scientists are developing packages and toolboxes in python, for example www-pcmdi.llnl.gov/software-portal/cdat, www.pyngl.ucar.edu, and countless other, smaller packages. Many utilities are being developed with python hooks build in (like VTK, a 3D visualization library). Python has all of the basic tools required for working with numerical model data, in particular NetCDF support. Python can also be used as a wrapper for C and FORTRAN code, so you can have the speed of FORTRAN for number crunching with the ease of a high level language for data I/O. Finally, python is free and open source, and is available on all major computer platforms.
A good place to learn about scientific computing using Python is http://www.scipy.org. You will need a few packages installed in order to work with ROMS output in Python:
- numpy: http://numpy.scipy.org (basic numeric array mathematics)
- matplotlib: http://matplotlib.sourceforge.net (and the basemap toolkit for geospatial plotting)
- python-netcdf4: http://code.google.com/p/netcdf4-python/ (follow the install directions *exactly)
You can find a number of scripts designed to work explicitly with ROMS files at http://pong.tamu.edu/svn/python/trunk/. You can either browse online, or download the entire reposatory with [subversion (http://subversion.tigris.org/)]. Check out the repository with:
$ svn co http://pong.tamu.edu/svn/python/trunk/ python-roms
Install each of the packages by going to the top of the directory, say the 'roms' package for the basic ROMS tools by
$ cd python-roms/roms
$ python setup.py build
$ sudo python setup.py install
MATLAB
- MEXNC, SNCTOOLS, and the NetCDF Toolbox:
- MEXNC: For maximum flexibility accessing NetCDF files with Matlab, you need to install the machine-dependent MEXNC for your system.
- SNCTOOLS: If you just want to access NetCDF files with Matlab (not write them), you can use use the SNCTOOLS, which have a mode that uses machine-independent Java instead of the machine-dependent MEXNC.
- NetCDF Toolbox: An overloaded "language" for dealing with NetCDF files, developed by Chuck Denham. Not under active development.
- RSLICE: A GUI specifically for ROMS files. Accesses local NetCDF (or remote OpenDAP) files, and since it depends on SNCTOOLS, can work via Java without MEXNC.
- ROMS_TOOLS: GUI and tools specifically for ROMS files. An integral part of the ROMS-AGRIF system.
Other Tools
- NcVIEW: A general non-ROMS specific NetCDF viewer, good for quick exploration and animation. Plots in coordinate index space only, however.
- The Integrated Data Viewer (IDV): A GUI for visualizing a variety of file formats, including CF-Compliant NetCDF. A 100% Java application that uses the NetCDF-Java library.