GFDL - Geophysical Fluid Dynamics Laboratory

module atmosphere_mod

Contact: Isaac Held
Reviewers: Peter Phillipps


OVERVIEW

A spectral transform model for two-dimensional, non-divergent flow on the
surface of the sphere.


DESCRIPTION

Integrates the barotropic vorticity equation for nondivergent flow on the
sphere using the spectral transform technique. Also allows for the
inclusion of a passive tracer advected by the same spectral advection
algorithm as the vorticity, and a gridpoint tracer advected with a finite
volume algorithm on the transform grid. The default initial condition
provided as an example is a zonal flow resembling that in the Northern
winter, plus a sinusoidal disurbance localized in midlatitudes.

For a full description of the model and algorithms used, see barotropic.pdf

The interfaces in this module are the generic intefaces required by the
main program that can be used to drive various idealized atmospheric
models within FMS. Model resolution and related paramters are set in
namelists within the modules barotropic_xxx.


OTHER MODULES USED

     fms_mod
     constants_mod
     transforms_mod
     time_manager_mod
     diag_manager_mod
     barotropic_dynamics_mod
     barotropic_physics_mod
     barotopic_diagnostics_mod

PUBLIC INTERFACE

  use atmosphere_mod [,only: atmosphere_init,
                             atmosphere,
			     atmosphere_end]

PUBLIC DATA

  There are no pubic data types

PUBLIC ROUTINES

subroutine atmosphere_init. Initializes the model.
subroutine atmosphere. Integrates forward one time step
subroutine atmosphere_end. Terminates model, cleaning up memory and finalizing diagnostics.
subroutine atmosphere_init(Time_init, Time, Time_step) input: type(time_type) :: Time_init -- Initial model time type(time_type) :: Time -- Model time type(time_type) :: Time_step -- Time step When Time=Time_init, the first time step is a forward step rather than leap frog because a cold start is assumed. The FMS main program that runs the solo atmospheric models obtains Time_init from the diag_table and Time from its namelist.

subroutine atmosphere(Time)
 input:
 type(time_type) :: Time -- Model time
 Integrates forward one time step

subroutine atmosphere_end(Atmos) 
No calling arguments.
Terminates model, cleaning up memory and finalizing diagnostics

NAMELIST

&atmosphere_nml

   print_interval, integer : time interval in seconds between prints of global mean energy and enstrophy to standard output

ERROR MESSAGES

  Fatal error message if any public routine is called prior to atmosphere_init