PUBLIC INTERFACE ~ PUBLIC ROUTINES ~ NAMELIST

Module ocean_nphysics_flux_mod

Contact:  Tim Leslie Stephen M. Griffies
Reviewers: 
Change History: WebCVS Log


OVERVIEW

Compute the neutral physics fluxes.

This module computes the neutral physics fluxes.


OTHER MODULES USED

              constants_mod
fms_mod
mpp_domains_mod
mpp_mod
ocean_domains_mod
ocean_nphysics_util_new_mod
ocean_operators_mod
ocean_types_mod
ocean_util_mod

PUBLIC INTERFACE

ocean_nphysics_flux_init:
register fields:
flux_calculations:
compute_mass_diff:
geometric_terms:
compute_33_term:
compute_fluxes:
apply_tracer_limits:
update_tendencies:


PUBLIC ROUTINES

  1. ocean_nphysics_flux_init

    DESCRIPTION
    Initialise namelist variables and prepare diagnostics.


  2. register fields

    DESCRIPTION
    Register diagnostic fields.


  3. flux_calculations

    DESCRIPTION
    This function computes the thickness weighted tendency of tracers due to neutral physics as well as the implicit vertical diffusivity term.


  4. compute_mass_diff

    DESCRIPTION
    Subroutine computes the vertical neutral diffusion tracer flux component. Compute this component for all tracers at level k. Surface and bottom boundary condition fz(k=0)=fz(k=kmt(i,j))=0 fz has physical dimensions (density*diffusivity*tracer gradient) This is nearly the same as the subroutine in ocean_nphysicsA.


  5. geometric_terms

    DESCRIPTION
    Calculate the density weighted quarter cell volumes of the triads.


  6. compute_33_term

    DESCRIPTION
    K33 is the (3,3) term in small angle Redi diffusion tensor. It is broken into an explicit in time piece and implicit in time piece. It is weighted by density for non-Boussinesq and rho0 for Boussinesq. K33 has units (kg/m^3)*m^2/sec.


  7. compute_fluxes

    DESCRIPTION
    Computes the tracer fluxes due to neutral diffusion and skew diffusion. Fluxes are computed at the tracer cell faces and have units of [kg*T/s].


  8. apply_tracer_limits

    DESCRIPTION
    If the neutral_physics_limit flag is set, then the flux used in regions of large tracer gradients (as defined by T_prog(n)tmask_limit) are set to have purely horizontal diffusion, with no vertical or skew terms.


  9. update_tendencies

    DESCRIPTION
    Update the tendency for each tracer in each cell based on the total flux flowing through each of the six cell faces. The tendency is calculated separately for the flux due to neutral diffusion and due skew diffusion.



NAMELIST

&ocean_nphysics_flux_nml

diffusion_all_explicit
To compute K33 explicitly in time. This setting is meant only for debugging tests, since in general the simulation will go unstable. Default diffusion_all_explicit=.false.
[logical]
neutral_physics_limit
Revert to horizontal diffusion when tracer falls outside specified range. Default neutral_physics_limit=.true., so to keep tracers from going too far outside of physical range.
[logical]


REFERENCES

  1. S.M. Griffies Fundamentals of Ocean Climate Models (FOCM) (2004) Princeton University Press
  2. S.M. Griffies: Elements of MOM (2012)


top