Differences between revisions 2 and 47 (spanning 45 versions)
Revision 2 as of 2014-09-13 10:28:57
Size: 2799
Editor: CarstenEden
Comment:
Revision 47 as of 2014-09-13 15:22:56
Size: 2678
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]]
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.
Features are:
Line 23: Line 13:
* 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 [[http://www.mpi-forum.org/|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 realistics experiments and examples are preconfigured and can be easily
chosen and modified using two alternative configuration methods based on Fortran90 or Python.
Line 25: Line 32:
 * Model Manual [[attachment:pyOM2.pdf|Here]]
Line 27: Line 33:
 * Ocean Model Source Code [[attachment:pyOM_2.1.tar.gz|Here]]  * [[attachment:pyOM2.pdf|Documentation]]
Line 29: Line 35:
== Prerequisites and Installation ==
=== Prerequisites ===
 * Source code as [[attachment:pyOM2.1.0.tar.gz|tar ball]]
Line 32: Line 37:
...  * pyOM2 installed on lightweight Debian system as Virtual box client
Line 34: Line 39:
=== Installation  === === Prerequisites and Installation ===
Line 36: Line 41:
... Prerequisites for the Fortran front are
Fortran 90 compiler, Lapack and NetCDF library
Line 38: Line 44:
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 39: Line 48:
== Sample Configurations ==
=== Kelvin-Helmholtz Instability ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Kelvin-Helmholtz%20Instability|Content Here]]
For installation details refer to the [[attachment:pyOM2.pdf|Documentation]]
Line 43: Line 50:
{{{
kelvin_helm1.py
}}}
=== Rayleigh–Bénard Convection ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Rayleigh–Bénard%20Convection|Content Here]]
=== Idealized configurations ===
Line 49: Line 52:
{{{
rayleigh.py
}}}
=== Eady's Baroclinic Instability ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Rayleigh–Bénard%20Convection|Content Here]]
* Vertical shear instability in a non-hydrostatic [[/Kelvin Helmholtz|configuration]]
Line 55: Line 54:
{{{
eady1.py / eady2.py
}}}
=== Eddy-driven zonal jets ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Eddy-driven%20Zonal%20Jets|Content Here]]
* Holmboe instability in a non-hydrostatic [[/Holmboe|configuration]]
Line 61: Line 56:
{{{
jets1.py
}}}
=== Thermohaline Circulation ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Thermohaline%20Circulation|Content Here]]
* Internal gravity wave beams in a non-hydrostatic [[/internal wave|configuration]]
Line 67: Line 58:
{{{
THC1.py
}}}
=== Southern Ocean Circulation ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Southern%20Ocean%20Circulation|Content Here]]
* Rayleigh-Bernard convection in a non-hydrostatic [[/Rayleigh Bernard|configuration]]
Line 73: Line 60:
{{{
acc1.py
}}}
=== ENSO Response ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/ENSO%20Response|Content Here]]
* eddy-driven zonal jets in a wide hydrostatic channel [[/zonal jets|configuration]]
Line 79: Line 62:
{{{
enso1.py
}}}
=== Equatorial Waves ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Equatorial%20Waves|Content Here]]
* the classical Eady problem in a narrow hydrostatic channel [[/Eady 1|configuration]]
Line 85: Line 64:
{{{
eq_waves1.py
}}}
=== Isopycnal Diffusion ===
[[https://wiki.zmaw.de/ifm/TO/pyOM/Isopycnal%20Diffusion|Content Here]]
* another Eady setup with linear stability analysis [[/Eady 2|configuration]]
Line 91: Line 66:
{{{
isopyc_test1.py
}}}
An example of the python GUI for Eady's baroclinic instability case is shown below.
* small closed basin with wind-driven channel [[/ACC 1|configuration]]
Line 96: Line 68:
{{attachment:pyOM.png}} * large closed basin and hydrostatic channel [[/ACC 2|configuration]]

=== Realistic configurations ===

* 4x4 deg global ocean [[/4x4 global model|model]]

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

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

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

* 4/3 x 4/3 deg North Atlantic regional [[/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 realistics experiments and examples are preconfigured and can be easily chosen and modified using two alternative configuration methods based on Fortran90 or Python.

Resources

  • 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)