Differences between revisions 2 and 51 (spanning 49 versions)
Revision 2 as of 2014-09-13 10:28:57
Size: 2799
Editor: CarstenEden
Comment:
Revision 51 as of 2014-09-13 15:26:47
Size: 2743
Editor: CarstenEden
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
== Introduction == === Introduction ===
pyOM2 is a numerical circulation ocean model powered by [[https://www.python.org|Python]].
Features are:
Line 7: Line 9:
* Cartesian or pseudo-spherical coordinate systems
Line 8: Line 11:
pyOM2.0 (Python Ocean Model) is a numerical circulation ocean model which was written for educational
purpose. It is meant to be a simple and easy to use numerical
tool to configure and to integrate idealized and realistic numerical simulations of the ocean
in Boussinesq approximation.
Non-hydrostatic situations as well as large-scale oceanic flows can be considered,
Cartesian or pseudo-spherical coordinate systems can be used.
Several idealized experiments and examples are preconfigured and can be easily
chosen and modified using two alternative configuration methods based on Fortran90 or Python.
Prerequisites for the installation is a Fortran 90 compiler and the Lapack library,
and for the Fortran front the NetCDF-library (since IO is realized mainly using the NetCDF format).
For the Python front end, the numerical module \verb+numpy+ is required and several
other modules can be used in addition, e.g. to provide
 a graphical user interface. Both version are based on identical Fortran90
 code which is fully parallelized based on the MPI-library to enhance performance.
* Hydrostatic or non-hydrostatic configurations
Line 23: Line 13:
* energetically consistent parameterisations
Line 24: Line 15:
=== Resources ===
 * Model Manual [[attachment:pyOM2.pdf|Here]]
* Fortran and Python front end
Line 27: Line 17:
 * Ocean Model Source Code [[attachment:pyOM_2.1.tar.gz|Here]] * Graphical User Interface
Line 29: Line 19:
== Prerequisites and Installation ==
=== Prerequisites ===
* fully parallelized using [[http://www.mpi-forum.org/|MPI]]
Line 32: Line 21:
... Idealized and realistic configurations are simple and easy to configure and to integrate. Fortran and a Python version are based on the identical Fortran90 core code. Several idealized and realistic examples are preconfigured and can be easily chosen and modified using two alternative configuration methods based on Fortran90 or Python.
Line 34: Line 23:
=== Installation === === Downloads ===
 * [[attachment:pyOM2.pdf|Documentation]]
Line 36: Line 26:
...  * Source code as [[attachment:pyOM2.1.0.tar.gz|tar ball]]
Line 38: Line 28:
 * pyOM2 installed on lightweight Debian system as Virtual box client
Line 39: Line 30:
== Sample Configurations ==
=== Kelvin-Helmholtz Instability ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Kelvin-Helmholtz%20Instability|Content Here]]
=== Prerequisites and Installation ===
Prerequisites for the Fortran front are Fortran 90 compiler, Lapack and NetCDF library
Line 43: Line 33:
{{{
kelvin_helm1.py
}}}
=== Rayleigh–Bénard Convection ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Rayleigh–Bénard%20Convection|Content Here]]
Prerequisites for the Python front end is Python and the module Numpy, several other modules can be used to provide a graphical user interface, Netcdf IO, etc
Line 49: Line 35:
{{{
rayleigh.py
}}}
=== Eady's Baroclinic Instability ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Rayleigh–Bénard%20Convection|Content Here]]
For installation details refer to the [[attachment:pyOM2.pdf|Documentation]]
Line 55: Line 37:
{{{
eady1.py / eady2.py
}}}
=== Eddy-driven zonal jets ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Eddy-driven%20Zonal%20Jets|Content Here]]
=== Idealized configurations ===
* Vertical shear instability in a non-hydrostatic [[TO/pyOM2/Kelvin Helmholtz|configuration]]
Line 61: Line 40:
{{{
jets1.py
}}}
=== Thermohaline Circulation ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Thermohaline%20Circulation|Content Here]]
* Holmboe instability in a non-hydrostatic [[TO/pyOM2/Holmboe|configuration]]
Line 67: Line 42:
{{{
THC1.py
}}}
=== Southern Ocean Circulation ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Southern%20Ocean%20Circulation|Content Here]]
* Internal gravity wave beams in a non-hydrostatic [[TO/pyOM2/internal wave|configuration]]
Line 73: Line 44:
{{{
acc1.py
}}}
=== ENSO Response ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/ENSO%20Response|Content Here]]
* Rayleigh-Bernard convection in a non-hydrostatic [[TO/pyOM2/Rayleigh Bernard|configuration]]
Line 79: Line 46:
{{{
enso1.py
}}}
=== Equatorial Waves ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Equatorial%20Waves|Content Here]]
* eddy-driven zonal jets in a wide hydrostatic channel [[TO/pyOM2/zonal jets|configuration]]
Line 85: Line 48:
{{{
eq_waves1.py
}}}
=== Isopycnal Diffusion ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Isopycnal%20Diffusion|Content Here]]
* the classical Eady problem in a narrow hydrostatic channel [[TO/pyOM2/Eady 1|configuration]]
Line 91: Line 50:
{{{
isopyc_test1.py
}}}
An example of the python GUI for Eady's baroclinic instability case is shown below.
* another Eady setup with linear stability analysis [[TO/pyOM2/Eady 2|configuration]]
Line 96: Line 52:
{{attachment:pyOM.png}} * small closed basin with wind-driven channel [[TO/pyOM2/ACC 1|configuration]]

* large closed basin and hydrostatic channel [[TO/pyOM2/ACC 2|configuration]]

=== Realistic configurations ===
* 4x4 deg global ocean [[TO/pyOM2/4x4 global model|model]]

* 4x4 deg global ocean with 45 levels [[TO/pyOM2/4x4 global model 15 levels|model]]

* 2x2 deg global ocean [[TO/pyOM2/2x2 global model|model]]

* 1x1 deg global ocean [[TO/pyOM2/1x1 global model|model]]

* 4/3 x 4/3 deg North Atlantic regional [[TO/pyOM2/1.3x1.3 North Atlantic model|model]]

* 1/3 x 1/3 deg North Atlantic regional model

* 1/12 x 1/12 deg North Atlantic regional model

Python Ocean Model 2.0 (pyOM2)

Introduction

pyOM2 is a numerical circulation ocean model powered by Python. Features are:

* Cartesian or pseudo-spherical coordinate systems

* Hydrostatic or non-hydrostatic configurations

* energetically consistent parameterisations

* Fortran and Python front end

* Graphical User Interface

* fully parallelized using MPI

Idealized and realistic configurations are simple and easy to configure and to integrate. Fortran and a Python version are based on the identical Fortran90 core code. Several idealized and realistic examples are preconfigured and can be easily chosen and modified using two alternative configuration methods based on Fortran90 or Python.

Downloads

  • Documentation

  • Source code as tar ball

  • pyOM2 installed on lightweight Debian system as Virtual box client

Prerequisites and Installation

Prerequisites for the Fortran front are Fortran 90 compiler, Lapack and NetCDF library

Prerequisites for the Python front end is Python and the module Numpy, several other modules can be used to provide a graphical user interface, Netcdf IO, etc

For installation details refer to the Documentation

Idealized configurations

* Vertical shear instability in a non-hydrostatic configuration

* Holmboe instability in a non-hydrostatic configuration

* Internal gravity wave beams in a non-hydrostatic configuration

* Rayleigh-Bernard convection in a non-hydrostatic configuration

* eddy-driven zonal jets in a wide hydrostatic channel configuration

* the classical Eady problem in a narrow hydrostatic channel configuration

* another Eady setup with linear stability analysis configuration

* small closed basin with wind-driven channel configuration

* large closed basin and hydrostatic channel configuration

Realistic configurations

* 4x4 deg global ocean model

* 4x4 deg global ocean with 45 levels model

* 2x2 deg global ocean model

* 1x1 deg global ocean model

* 4/3 x 4/3 deg North Atlantic regional model

* 1/3 x 1/3 deg North Atlantic regional model

* 1/12 x 1/12 deg North Atlantic regional model

IfmWiki: TO/pyOM2 (last edited 2024-09-15 09:34:39 by CarstenEden)