PUBLIC INTERFACE / DATA / ROUTINES / NAMELIST / ERRORS


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.ps

   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