Difference between revisions of "Tools"

From WikiROMS
Jump to navigationJump to search
Line 30: Line 30:
** MEXNC: For maximum flexibility accessing NetCDF files with Matlab, you need to install the machine-dependent MEXNC for your system.   
** 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.
** 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 Toolkit: 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 output files (ROMS-AGRIF).
* [http://www.brest.ird.fr/Roms_tools/ ROMS_TOOLS]: GUI and tools specifically for ROMS output files (ROMS-AGRIF).

Revision as of 23:02, 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:


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 output files (ROMS-AGRIF).

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.