Git Product home page Git Product logo

pyroms's Introduction

Welcome to Pyroms!

Pyroms is a collection of tools to help with input and output files
from the Regional Ocean Modeling System (ROMS). It was originally
started by Rob Hetland as a googlecode project, then he morphed it
into octant, also at googlecode. Frederic Castruccio then created a
fork and renamed it back to pyroms. This version is still rather
rough around the edges.

Prerequisites
-------------

Meanwhile, you can prepare by installing Enthought Python
(http://www.enthought.com/) or by this collection of packages:

   * Python itself. You will need a version that's at least 2.4 and
     less than 3.0.

   * numpy. Get a version that's reasonably new, don't count on the
     version 1.0.1 that you found already on the system. How do you
     tell the version? At the interactive prompt from python, type
     "import numpy" then "numpy.__version__".

   * scipy.

   * matplotlib. This is a plotting package to reproduce the Matlab
     plotting, complete with everything you might not like about
     Matlab plotting. This also contains the gui tools, but it
     depends on an underlying gui package, be that tk, wx, X11, or
     qt. If it can't find any of them, it's time to install one.

   * basemap from matplotlib. These are the map tools for Python,
     complete with etopo2 in the examples directory (user beware).

   * netCDF4 from Jeff Whitaker. This sits on top of the hdf5 and
     netcdf4 libraries.

   * ipython. Fred Castruccio recommends using "ipython --pylab" for
     interactive fun. It preloads both numpy and the matplotlib
     pylab package.

We may also add pyngl and pynio from NCAR to this list. Or ESMPy.
Or Python 3...

If you want a package manager for these bits, check out Anaconda.

Installing
----------

Pyroms is currently in three different packages, pyroms itself,
pyroms_toolbox, and bathy_smoother. We are in the process of creating
setup.py scripts for each, plus an examples directory.

For now,

  cd pyroms_toolbox; python setup.py build --fcompiler=gnu95;
                     python setup.py install --prefix=xxx;
                     cd ..

The above may or may not need something along these lines:
setenv LDFLAGS '-L/usr/local/pkg/python/python-2.7.2/lib -shared'

  cd bathy_smoother; python setup.py build;
                     python setup.py install --prefix=xxx;
                     cd ..
  cd pyroms; check the paths in the install script and see if it runs...

If you needed the LDFLAGS above, you'll need to add it to the
install script too, at least for the build of scrip.

For creep.so:

  cd pyroms_toolbox/pyroms_toolbox/Grid_HYCOM//makefile; make

Then move creep.so into a directory in your PYTHONPATH.

Running
-------

We have a gridid.txt file that's pointed to by the PYROMS_GRIDID_FILE
environment variable. If you are operating on files containing
sufficient grid information already, you won't need to use this.
An example is provided in the examples directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.