Difference between revisions of "Tools"

From WikiROMS
Jump to navigationJump to search
Line 23: Line 23:
$ sudo python setup.py install
$ sudo python setup.py install


== Visualization ==


See also [[Visualization]]
ROMS output files are NetCDF CF-1.0 Compliant files.
 
There are a variety of tools you can use for visualizing ROMS output.
 
* [http://meteora.ucsd.edu/~pierce/ncview_home_page.html NcVIEW]: A general non-ROMS specific NetCDF viewer, good for quick exploration and animation.  Plots in coordinate index space only, however.
* Matlab Tools
** [http://marine.rutgers.edu/~jevans/rslice/rslice/doc/html/ch01.html RSLICE]: A GUI specifically for ROMS files.  Works with ROMS files served via OpenDAP also.
** [http://www.brest.ird.fr/Roms_tools/ ROMS_TOOLS]: GUI and tools specifically for ROMS output files (ROMS-AGRIF).
* The [http://www.unidata.ucar.edu/software/idv/ 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.
* Python Tools
* NCAR_Graphics Environment

Revision as of 22:30, 6 November 2006

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

Visualization

ROMS output files are NetCDF CF-1.0 Compliant files.

There are a variety of tools you can use for visualizing ROMS output.

  • NcVIEW: A general non-ROMS specific NetCDF viewer, good for quick exploration and animation. Plots in coordinate index space only, however.
  • Matlab Tools
    • RSLICE: A GUI specifically for ROMS files. Works with ROMS files served via OpenDAP also.
    • ROMS_TOOLS: GUI and tools specifically for ROMS output files (ROMS-AGRIF).
  • 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.
  • Python Tools
  • NCAR_Graphics Environment