Skip to content

omuse-geoscience/omuse

Repository files navigation

OMUSE

OMUSE stands for Oceanographic MUltipurpose Software Environment. It is a package to conduct numerical experiments in oceanography and other Earth sciences. Example OMUSE applications can be found in the examples repository.

For whom is OMUSE?

OMUSE aims to be useable by any researcher or student with a basic knowledge of the Python programming language.

What is this repository for?

This repository contains the source tree for OMUSE, including OMUSE specific framework components and community codes.

How do I get set up?

While there are some packages available on pipy, we recommend at the moment to do a pip developer install:

  • setup a python environment, e.g. using virtualenv, and activate it.
  • in a suitable working directory clone the AMUSE repository: git clone https://github.com/amusecode/amuse
  • go into the created directory: cd amuse
  • do the developer install from here: pip install -e . [MPI] The MPI is optional.
  • Going back to the working directory (cd ..) also clone the OMUSE repository: git clone https://github.com/omuse-geoscience/omuse,
  • go into the source directory cd omuse and set the environment variable DOWNLOAD_CODES, e.g. export DOWNLOAD_CODES=latest.
  • now, do pip install -e . from the root of the package
  • type python setup.py build_codes --inplace to build the codes.
  • the file build.log will report any errors in the build process.

This installs amuse-devel and omuse-devel. The community codes of OMUSE can be build manually by going into each directory:

  • src/omuse/community/adcirc
  • src/omuse/community/swan
  • etc

and typing: first make download (for some) and then make

OMUSE has been tested on OSX and linux machines, with ifort and gfortran compilers, on desktop machines and on the Carthesius supercomputer.

In addition to the AMUSE dependencies, OMUSE needs/ can use the following packages:

  • matplotlib basemap
  • netCDF and netCDF for fortran and the python bindings
  • GRIB_API

Documentation

Documentation can be found here. In addition the base AMUSE documentation can be consulted.

Reporting issues

Issues can be reported at the OMUSE issue tracker; for framework issues, report them at the AMUSE repository.

Contribution guidelines

Contributions are welcome. Note that most framework development happens at the AMUSE repository A primer for writing code interfaces and other documentation can be found on the amuse website.