Tools: Difference between revisions
No edit summary (change visibility) |
No edit summary (change visibility) |
||
Line 1: | Line 1: | ||
== 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. | 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. | ||
Line 10: | Line 15: | ||
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: | 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 | $ 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 | 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 | $ cd python-roms/roms | ||
python setup.py build | |||
sudo python setup.py install | $ python setup.py build | ||
$ sudo python setup.py install |
Revision as of 22:18, 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