PUBLIC INTERFACE ~ PUBLIC ROUTINES ~ NAMELIST

Module ocean_vert_gotm_mod

Contact:  Martin Schmidt Mike Herzfeld Russell Fiedler Stephen M. Griffies
Reviewers: 
Change History: WebCVS Log


OVERVIEW

Vertical viscosity and diffusivity according GOTM.

This module contains interfaces to initialize and invoke the Generalized Ocean Turbulence Model (GOTM) parameterizations. Full documentation of the schemes available with GOTM can be found at www.gotm.net. MOM is distributed with the basic routines from the 4.0 release of GOTM. Questions about GOTM should be directed to the GOTM users group at www.gotm.net. This module assumes a twolevel time stepping scheme is used to update the turbulence scalar fields tke and diss. Presently it has only been implemented assuming Bgrid. So it needs to be updated for Cgrid layout. Here is a brief outline of the GOTM scheme: The non-conservative part of the tke equation is P+B-diss, where P=shear production, B=buoyancy production. The non-conservative part of the diss equation is a linear combination of tke, P, B and diss. The conservatie part of both tke and diss equations is 3D advection. So vertical shear and buoyancy contribute to the source and sinks (respectively) of tke and dissipation. The mixing coefficients are the product of a stability function, sqrt(tke), and turbulence length scale (the latter a non-linear function of tke and diss). In the hydro model (i.e., MOM), buoyancy fluxes are the surface boundary conditions for vertical diffusion of temp (heat fluxes) and salt (freshwater fluxes), which in turn determine the density, and thus enter GOTM via the calculation of buoyancy production. Hence, buoyancy fluxes are NOT directly required as surface boundary conditions for GOTM. Wind stress provides the surface boundary condition for vertical momentum mixing in MOM. This information then enters GOTM via the shear production calculation. However, wind stress can enter the GOTM tke equation as the surface boundary condition for vertical diffusion of tke (i.e. the prescribed, or Dirichlet, condition). This information is typically used in Mellor-Yamada turbulence models. An alternate no-flux (Neumann) condition is used in the k-e models, and so do not require wind stress. Boundary conditions for vertical diffusion of diss involve roughness, tke, and constants (both Neumann and Dirichlet).


OTHER MODULES USED

       constants_mod
diag_manager_mod
fms_mod
fms_io_mod
mpp_domains_mod
mpp_mod
mtridiagonal
turbulence
ocean_domains_mod
ocean_parameters_mod
ocean_types_mod
ocean_util_mod
ocean_workspace_mod
ocean_obc_mod

PUBLIC INTERFACE

ocean_vert_gotm_init:
vert_mix_gotm_bgrid:
advect_gotm_compute:
advect_gotm_upwind:
advect_gotm_sweby:
ocean_vert_gotm_restart:
ocean_vert_gotm_end:


PUBLIC ROUTINES

  1. ocean_vert_gotm_init

    DESCRIPTION
    Initialization for the MOM wrapper to the GOTM vertical mixing scheme. For restarts: We use twolevel time stepping scheme to update tke and diss, so only need to read in the taup1_gotm value. call mpp_update_domains since need tke and diss in halos for the advection calculation. We need viscosity and diffusivity saved to restarts in order to update the tke and diss fields within GOTM.


  2. vert_mix_gotm_bgrid

    DESCRIPTION
    This subroutine computes the vertical diffusivity and viscosity according to the GOTM mixing model. The tke, diss, NN, and SS arrays are computed on tracer cells. Use smf_bgrid since this array uses the primary smf array read in from the coupler in ocean_core/ocean_sbc.F90 when using the FMS coupler.


  3. advect_gotm_compute

    DESCRIPTION
    Wrapper for advection of GOTM scalar fields tke and diss. Horizontally tke and diss are on tracer cells, so advection just as if they were tracers. Vertically they are between tracer cells. We do not average but shift tke and diss upward to tracer points for vertical advection. At the bottom tke and diss are define by the Dirichlet boundary condition. Since use a two-level time stepping scheme for tke and diss, it is necessary to advect these scalars with an upwind biased advection scheme.


  4. advect_gotm_upwind

    DESCRIPTION
    First order upwind to advect GOTM scalar turbulence quantities tke and diss.


  5. advect_gotm_sweby

    DESCRIPTION
    Sweby scheme to advect GOTM scalar turbulence quantities tke and diss.


  6. ocean_vert_gotm_restart

    DESCRIPTION
    Write out restart files registered through register_restart_file


  7. ocean_vert_gotm_end

    DESCRIPTION
    Save the advection term for restarting the next time step.



NAMELIST

&ocean_vert_gotm_nml

use_this_module
Must be true to use this module. Default is .false.
[logical]
debug_this_module
For debugging. Default is .false.
[logical]
do_turbulence_gotm
For debugging. If do_turbulence_gotm=.false., then will not invoke the GOTM scheme. Will only advect tke and diss using 3d advection scheme. Default is .true., so that will invoke GOTM scheme.
[logical]
do_advection_gotm
For debugging. If do_advection_gotm=.false., then will not invoke the advection of tke and diss. Default is .true., so that will 3d advect tke and diss.
[logical]
write_a_restart
Set true to write a restart. False setting only for rare cases where wish to benchmark model without measuring the cost of writing restarts and associated chksums. Default is write_a_restart=.true.
[logical]
advect_gotm_method
For choosing how to advect the GOTM scalar fields tke and diss. Options are advect_gotm_method='upwind' (the default) advect_gotm_method='sweby'
[character]
diff_cbt_min
Background diffusivity. Default is 1.0e-5.
[real, units: m^2/sec]
visc_cbu_min
Background viscosity. Default is 1.0e-5.
[real, units: m^2/sec]
z0s
Surface roughness length. Default is 1m.
[real, units: m]
z0b
Bottom roughness length. Default is .002m.
[real, units: m]
min_tke
Minimum turbulent kinetic energy. Default=1.0e-6.
[real, units: m^2/s^2]
min_diss
Minimum energy dissipation. Default=1.0e-10.
[real, units: m^2/s^3]


REFERENCES

  1. Burchard, H., K. Bolding and M. R. Villarreal GOTM, a general ocean turbulence model. Theory implementation and test cases. European Communities, EUR 18745 EN, 1999


top