Size: 4054
Comment:
|
Size: 4082
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
=== Python Ocean Model (pyOM) === | '''Python Ocean Model (pyOM)''' |
Line 5: | Line 6: |
A numerical Ocean Circulation Model to configure and to integrate idealized numerical simulations with an easy to use python (GUI) and a standard Fortran90 frontend. | A numerical Ocean Circulation Model to configure and to integrate idealized numerical simulations with python (GUI) and a standard Fortran90 frontend. |
Line 73: | Line 74: |
== Model configurations: == '''This routine/method is called only once before allocating the model variables. ''' |
== Model Configurations == '''Allocating the model variables''' |
Line 76: | Line 77: |
* ''set_parameter'' :sets all important fixed model parameter | * set_parameter :sets all important fixed model parameter |
Line 78: | Line 79: |
'''This routine/method is only called once during the model setup. ''' | '''In the model setup''' |
Line 86: | Line 87: |
'''This routine/method is called for each time step. ''' | '''For each time step''' |
Line 97: | Line 98: |
=== Kelvin-Helmholtz Instabilities More === | === Kelvin-Helmholtz Instability === [[https://wiki.zmaw.de/ifm/TO/pyOM/Kelvin-Helmholtz%20Instability|Content Here]] |
Line 101: | Line 104: |
=== Rayleigh–Bénard Convection === [[https://wiki.zmaw.de/ifm/TO/pyOM/Rayleigh–Bénard%20Convection|Content Here]] {{{ rayleigh.py }}} |
|
Line 102: | Line 111: |
[[https://wiki.zmaw.de/ifm/TO/pyOM/Rayleigh–Bénard%20Convection|Content Here]] |
|
Line 106: | Line 117: |
[[https://wiki.zmaw.de/ifm/TO/pyOM/Eddy-driven%20Zonal%20Jets|Content Here]] |
|
Line 110: | Line 123: |
[[https://wiki.zmaw.de/ifm/TO/pyOM/Thermohaline%20Circulation|Content Here]] |
|
Line 113: | Line 128: |
=== Meridional Overturning Circulation === | === Southern Ocean Circulation === [[https://wiki.zmaw.de/ifm/TO/pyOM/Southern%20Ocean%20Circulation|Content Here]] |
Line 118: | Line 135: |
[[https://wiki.zmaw.de/ifm/TO/pyOM/ENSO%20Response|Content Here]] |
|
Line 121: | Line 140: |
=== Equatorial Wave === | === Equatorial Waves === [[https://wiki.zmaw.de/ifm/TO/pyOM/Equatorial%20Waves|Content Here]] |
Line 125: | Line 146: |
=== Significant Wave Height (Rayleigh distribution) === {{{ rayleigh.py }}} === Isopycnal Diffusion Problem === |
=== Isopycnal Diffusion === [[https://wiki.zmaw.de/ifm/TO/pyOM/Isopycnal%20Diffusion|Content Here]] |
Line 133: | Line 152: |
== //pyOM (Python Ocean Model) == is a numerical ocean circulation model with an easy to use python (GUI) and a standard Fortran90 frontend. In both cases, the dynamical core of the model is written in Fortran90. Some features are * surface pressure or implicit linear free surface formulation * nonhydrostatic version * 1D domain decomposition for parallel computation * Documentation available as [[attachment:pyOM.pdf|pdf file]] |
|
Line 148: | Line 155: |
Source code [[attachment:pyOM_1.1.tar.gz]] |
Python Ocean Model (pyOM)
Introduction
A numerical Ocean Circulation Model to configure and to integrate idealized numerical simulations with python (GUI) and a standard Fortran90 frontend.
In both cases, the dynamical core of the model is written in Fortran90.
Features
- Surface pressure or implicit linear free surface formulation
- Non-hydrostatic version
- 1D domain decomposition for parallel computation
Assumptions and Approximations
- Neglecting of thermodynamic equation
- Boussinesq approximation
- ( Volume conservation and Buoyancy perturbations in gravity term)
- Cartesian and beta-plane approximation
Resources
Prerequisites and Installation
Prerequisites
1. Unix system
2. Fortran 90 compiler
3. Fortran and Python front ends NetCDF-library
Installation
1. Make a new directory where the model code should be placed. Name the directory as dir(for instance)
2. Get into the remote server thunder1 (Only for students in UHH)
ssh thunder1
3. Once you log in, find u241155 (Prof. Eden directory)
finger u241155
and copy this directory to your new directory to get src file for compiling.
cp home/zmaw/u241155/pyOM_thunder
4. Then, by different Fortran subroutines and Python methods in the model configuration
environments in specific realizations can be shown.
List of Directories
* ./for_src: Fortran subroutines used by both Fortran and Python front end
* ./py_src: Python modules and extension modules
* ./py_config: Configuration examples of Python front end
* ./for_config: Configuration examples for Fortran front end
* ./doc: contains documentation
* ./bin: contains executable of Fortran front end after successful compilation
Model Configurations
Allocating the model variables
* set_parameter :sets all important fixed model parameter
In the model setup
* set_coriolis : sets the (vertical and horizontal) Coriolis parameter.
* initial_conditions :sets the initial conditions.
* topography : set the topography.
For each time step
* boundary_conditions : set the surface boundary conditions.
* restoring_zones : set the interior sources and sinks for density.
* momentum_restoring_zones : set the interior sources and sinks for momentum.
* tracer_sources : set interior sources and sinks for the passive tracer. Also sets the surface boundary conditions.
Sample Configurations
Kelvin-Helmholtz Instability
kelvin_helm1.py
Rayleigh–Bénard Convection
rayleigh.py
Eady's Baroclinic Instability
eady1.py / eady2.py
Eddy-driven zonal jets
jets1.py
Thermohaline Circulation
THC1.py
Southern Ocean Circulation
acc1.py
ENSO Response
enso1.py
Equatorial Waves
eq_waves1.py
Isopycnal Diffusion
isopyc_test1.py
An example of the python GUI for Eady's baroclinic instability case is shown below.