PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module ocean_bih_friction_mod

Contact:  R. C. Pacanowski
Reviewers:  Stephen M. Griffies
Change History: WebCVS Log


OVERVIEW

Thickness weighted time tendency for velocity from horizontal biharmonic friction

This module computes the thickness weighted time tendency for horizontal velocity arising from horizontal biharmonic friction. The viscosity used to determine the strength of the tendency can be a general function of space yet it is constant in time. A namelist option exists that determines this viscosity as a local function of the grid spacing.


OTHER MODULES USED

      constants_mod
diag_manager_mod
fms_mod
mpp_domains_mod
mpp_mod
ocean_domains_mod
ocean_operators_mod
ocean_types_mod

PUBLIC INTERFACE

ocean_bih_friction_init:
horz_bih_friction:
delsq_velocity:
horz_bih_viscosity_check:
horz_bih_reynolds_check:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. ocean_bih_friction_init

    DESCRIPTION
    Initialize the horizontal biharmonic friction module by registering fields for diagnostic output and performing some numerical checks to see that viscosity is set appropriately.


  2. horz_bih_friction

    DESCRIPTION
    This function computes the thickness weighted acceleration on horizontal velocity arising from horizontal biharmonic friction.


  3. delsq_velocity

    DESCRIPTION
    Subroutine computes the laplacian operator acting on velocity. Resulting array del2_vel has dimensions [m^-1 * sec^-1]


  4. horz_bih_viscosity_check

    DESCRIPTION
    Subroutine to perform linear stability check for the biharmonic operator given a value for the horizontal biharmonic viscosity.


  5. horz_bih_reynolds_check

    DESCRIPTION
    Subroutine to compute the biharmonic grid Reynolds number. Large Reynolds numbers indicate regions where solution may experience some grid noise due to lack of enough horizontal friction.



NAMELIST

&ocean_bih_friction_const_nml

bih_friction_on
Must be true to use this module.
[logical]
abih
This is the value for the space-time constant biharmonic viscosity.
[real, units: m^4/sec]
velocity_mix_micom
If .true., then the viscosity is set according to a velocity scale times the cube of the grid spacing. It is based on an approach recommended by Eric Chassignet that is used in the Miami Isopycnal Model.
[logical]
vel_micom
Velocity scale that is used for computing the MICOM viscosity.
[real, units: m/sec]
eq_vel_micom
Velocity scale that is used for computing the MICOM viscosity within a latitude band surrounding the equator. This is useful for some models of enhanced equatorial resolution that can maintain numerical integrity in this region with less friction than outside the tropical band.
[real, units: m/sec]
eq_lat_micom
Equatorial latitude band (degrees) within which the MICOM viscosity is set according to eq_vel_micom.
[real]


DATA SETS

None.


ERROR MESSAGES

None.


REFERENCES

  1. R. J. Murray and C. J. C. Reason, A curvilinear version of the Bryan-Cox ocean model Journal Computational Physics (2002), vol 171, pages 1--46
  2. R.C. Pacanowski and A. Gnanadesikan, Transient response in a z-level ocean model that resolves topography with partial-cells Monthly Weather Review (1998), vol 126, pages 3248-3270


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

The numerical implementation requires one call to mpp_update_domains if running the model with halo=1.

This scheme has been found to be faster than the Smagorinsky viscosity scheme. However, the algorithm here is less robust since it contains null modes in the terms associated with the sphericity of the earth. Hence, there may be flow configurations that are not dissipated.

The model can generally run with both Laplacian and biharmonic friction enabled at the same time. Such has been found useful for some eddying ocean simulations.


FUTURE PLANS

None.


top