PUBLIC INTERFACE / ROUTINES / NAMELIST / ERRORS / NOTES


module bgrid_sponge_mod

     Contact:   B. Wyman
     Reviewers:
     Change history: WebCVS Log for bgrid_sponge.f90


OVERVIEW


    Eddy damping of prognostic fields at the top level of the model.

     Damping is done using a 5-point Shapiro filter.
     For temperature, tracers, and zonal wind the zonal mean is
     removed before applying the filter.  For meridional wind,
     the entire field is damped.  Coefficients are controlled
     through namelist input.


OTHER MODULES USED


   bgrid_horiz_mod
   bgrid_masks_mod
   bgrid_prog_var_mod
   bgrid_change_grid_mod
   bgrid_halo_mod
   fms_mod
   mpp_domains_mod


PUBLIC INTERFACE


   use bgrid_sponge_mod [ ,only: sponge_init,
                                      sponge_driver  ]

   sponge_init
        Mandatory initialization routine for bgrid_sponge_mod.
        Initializes sponge control parameters.

   sponge_driver
        Computes tendencies for sponge damping.

   NOTES

      * A namelist interface called bgrid_sponge_nml is read
        from file input.nml.


PUBLIC ROUTINES



call sponge_init ( Hgrid )

DESCRIPTION
  This routine reads the bgrid_sponge_nml namelist and then defines
  sponge control parameters (stored internally in sponge_control_type).

INPUT
   Hgrid    Data structure containing horizontal grid constants.
               [horiz_grid_type]



call sponge_driver ( Hgrid, nplev, dt, dpde, Var, Var_dt ) DESCRIPTION Updates the prognostic variable tendencies with sponge (eddy damping) tendencies. The damping coefficients are controlled by namelist. INPUT nplev number of "pure" pressure levels at the top of the model [integer] dt adjustment time step [real] dpde current pressure thickness of model layers [real, dimension(Hgrid%ilb:,Hgrid%jlb:,:)] Var prognostic variables at the end of the last dynamics time step [prog_var_type] INPUT/OUTPUT Hgrid horizontal grid constants [horiz_grid_type] Var_dt prognostic variable tendencies accumulated since the variables were updated in Var [prog_var_type] NOTES The eddy damping is applied to "current" fields that have been updated with their time tendencies. For example, temp(current) = Var % t + dt * Var_dt % t.

NAMELIST


 &bgrid_sponge_nml

  num_sponge_levels     The number of uppermost model levels where 
                        the sponge damping is applied.  Currently,
                        this cannot exceed one level.   
                           [integer, default = 0]

  sponge_coeff_wind     Normalized [0,1] sponge damping coefficients
  sponge_coeff_temp     for the top model level.
  sponge_coeff_tracer      [real, default = 0.]


ERROR MESSAGES


FATAL errors in bgrid_sponge_mod

   initialization not called
      Interface sponge_driver was called before calling sponge_init.

   numlev > 1
      This version applies the sponge at only one model level.
      The namelist value cannot be set > 1.


NOTES


     None.


FUTURE PLANS


     None.