## page was renamed from TO/pyOM '''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 === * Fully incompressible thermodynamics * Boussinesq approximation . ( Volume conservation and Buoyancy perturbations in gravity term) * Cartesian and beta-plane approximation === Resources === * Model Manual [[attachment:pyOM.pdf|Here]] * Ocean Model Source Code [[attachment:pyOM_1.1.tar.gz|Here]] == Prerequisites and Installation == === Prerequisites === 1. Unix system 2. Fortran 90 compiler 3. Fortran and Python front ends NetCDF-library === Installation (only for students of UHH) === 1. Login at the remote server thunder1 {{{ ssh thunder1 }}} 2. Once you logged in, make a new directory where the model code should be placed. Name the directory as dir (for instance) 3. Find home directory of u241155 {{{ finger u241155 }}} and copy the following directory to your new directory to get src files for compiling {{{ cp home/zmaw/u241155/pyOM_thunder }}} 4. Now all model code and Fortran subroutines and Python methods for the model configuration can be found in List of Directories in * ''./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 === [[https://wiki.zmaw.de/ifm/TO/pyOM/Kelvin-Helmholtz%20Instability|Content Here]] {{{ kelvin_helm1.py }}} === Rayleigh–Bénard Convection === [[https://wiki.zmaw.de/ifm/TO/pyOM/Rayleigh–Bénard%20Convection|Content Here]] {{{ rayleigh.py }}} === Eady's Baroclinic Instability === [[https://wiki.zmaw.de/ifm/TO/pyOM/Rayleigh–Bénard%20Convection|Content Here]] {{{ eady1.py / eady2.py }}} === Eddy-driven zonal jets === [[https://wiki.zmaw.de/ifm/TO/pyOM/Eddy-driven%20Zonal%20Jets|Content Here]] {{{ jets1.py }}} === Thermohaline Circulation === [[https://wiki.zmaw.de/ifm/TO/pyOM/Thermohaline%20Circulation|Content Here]] {{{ THC1.py }}} === Southern Ocean Circulation === [[https://wiki.zmaw.de/ifm/TO/pyOM/Southern%20Ocean%20Circulation|Content Here]] {{{ acc1.py }}} === ENSO Response === [[https://wiki.zmaw.de/ifm/TO/pyOM/ENSO%20Response|Content Here]] {{{ enso1.py }}} === Equatorial Waves === [[https://wiki.zmaw.de/ifm/TO/pyOM/Equatorial%20Waves|Content Here]] {{{ eq_waves1.py }}} === Isopycnal Diffusion === [[https://wiki.zmaw.de/ifm/TO/pyOM/Isopycnal%20Diffusion|Content Here]] {{{ isopyc_test1.py }}} An example of the python GUI for Eady's baroclinic instability case is shown below. {{attachment:pyOM.png}}