Differences between revisions 9 and 10
Revision 9 as of 2013-05-08 09:54:26
Size: 635
Editor: anonymous
Comment:
Revision 10 as of 2013-11-26 15:29:52
Size: 3826
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Python Ocean Model (pyOM) =
Line 3: Line 4:
== pyOM (Python Ocean Model) == == Introduction ==
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.

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 ===
 * Model Manual [[attachment:pyOM.pdf|Here]]

 * Ocean Model tar-archive [[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 ===
1. Make a new directory where the model code should be placed. Name the directory as dir(for instance)

2. Extract the tar-archive containing pyOM in dir.

3.1 In Python platform, get into the remote server thunder1 (Only for student in UHH)

{{{
ssh thunder1
}}}
3.2 Once you log in, find u241155 (Prof. Eden directory)

{{{
finger u241155
}}}
and change into this directory cd u241155 to get src file for compiling.

{{{
home/zmaw/u241155/pyOM_thunder
}}}
3.3 Then, by different Fortran subroutines and Python methods in the model configuration

{{{
Fortran and Python front end : ./py_config and ./for_config
}}}
environments in specific realizations can be shown. See list of Directories below.

3.4 In Fortran platform (not recommended), in order to compile the file, specify the path to the location of directory of 'netcdf.inc' in the file dir/for_src/Makefile.

== 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: ==
'''This routine/method is called only once before allocating the model variables. '''

* ''set_parameter'' :sets all important fixed model parameter

'''This routine/method is only called once during the model setup. '''

* '' set_coriolis'' : sets the (vertical and horizontal) Coriolis parameter.

*'' initial_conditions'' :sets the initial conditions.

* '' topography'' : set the topography.

'''This routine/method is called 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.

== //pyOM (Python Ocean Model) ==
Line 19: Line 118:

Python Ocean Model (pyOM)

Introduction

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.

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

  • Model Manual Here

  • Ocean Model tar-archive Here

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. Extract the tar-archive containing pyOM in dir.

3.1 In Python platform, get into the remote server thunder1 (Only for student in UHH)

ssh thunder1

3.2 Once you log in, find u241155 (Prof. Eden directory)

finger u241155

and change into this directory cd u241155 to get src file for compiling.

home/zmaw/u241155/pyOM_thunder

3.3 Then, by different Fortran subroutines and Python methods in the model configuration

Fortran and  Python front end : ./py_config and ./for_config

environments in specific realizations can be shown. See list of Directories below.

3.4 In Fortran platform (not recommended), in order to compile the file, specify the path to the location of directory of 'netcdf.inc' in the file dir/for_src/Makefile.

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:

This routine/method is called only once before allocating the model variables.

* set_parameter :sets all important fixed model parameter

This routine/method is only called once during the model setup.

* set_coriolis : sets the (vertical and horizontal) Coriolis parameter.

* initial_conditions :sets the initial conditions.

* topography : set the topography.

This routine/method is called 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.

//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 pdf file

An example of the python GUI for Eady's baroclinic instability case is shown below.

pyOM.png

Source code pyOM_1.1.tar.gz

IfmWiki: TO/outdated/pyOM (last edited 2014-09-13 14:56:24 by CarstenEden)