PUBLIC INTERFACE ~ PUBLIC ROUTINES ~ NAMELIST

Module ocean_tracer_util_mod

Contact:  S. M. Griffies
Reviewers: 
Change History: WebCVS Log


OVERVIEW

This module contains many routines of use for tracer diagnostics in MOM.

Tracer utility module for MOM. Of use for tracer diagnostics.


OTHER MODULES USED

       constants_mod
fms_mod
mpp_mod
platform_mod
ocean_domains_mod
ocean_parameters_mod
ocean_types_mod
ocean_util_mod
ocean_workspace_mod

PUBLIC INTERFACE

ocean_tracer_util_init:
tracer_min_max:
dzt_min_max:
tracer_prog_chksum:
tracer_diag_chksum:
tracer_psom_chksum:
sort_pick_array:
sort_shell_array:
rebin_onto_rho:
diagnose_mass_of_layer_orig:
diagnose_mass_of_layer:


PUBLIC ROUTINES

  1. ocean_tracer_util_init

    DESCRIPTION
    Initialize MOM tracer utilities.


  2. tracer_min_max

    DESCRIPTION
    Compute the global min and max for tracers. Vectorized using maxloc() and minloc() intrinsic functions by Russell.Fiedler@csiro.au (May 2005). Modified by Zhi.Liang (July 2005)


  3. dzt_min_max

    DESCRIPTION
    Compute the global min and max for dzt. Modified by Stephen.Griffies from subroutine tracer_min_max


  4. tracer_prog_chksum

    DESCRIPTION
    Compute checksums for prognostic tracers


  5. tracer_diag_chksum

    DESCRIPTION
    Compute checksums for diagnostic tracers


  6. tracer_psom_chksum

    DESCRIPTION
    Compute checksums for PSOM advection second order moments.


  7. sort_pick_array

    DESCRIPTION
    Simplest, and slowest, sorting algorithm from Numerical Recipes. Called "sort_pick" in Numerical Recipes. Input are two arrays, first array defines the ascending sort and second is a slave to the sort. Typical example is sorting a vector of water parcels lightest to densest, with slave being volume of the parcels. More sophisticated sorting algorithms exist, and may need to be coded should this method prove too slow. This scheme has order N^2 operations, which is a lot. output has array(1) smallest and a(nsortpts) largest with corresponding slave array. coded Stephen.Griffies June 2005


  8. sort_shell_array

    DESCRIPTION
    Shell (or diminishing increment) sort from Numerical Recipes. Called "sort_shell" in Numerical Recipes. Input are two arrays, first array defines the ascending sort and second is a slave to the sort array. Typical example is sorting a vector of water parcels lightest to densest, with slave being volume of the parcels. More sophisticated sorting algorithms exist, and may need to be coded should this method prove too slow. This scheme has order N^(5/4) operations. output has array(1) smallest and a(nsortpts) largest, with corresponding ordering for slave array. coded Stephen.Griffies June 2005


  9. rebin_onto_rho

    DESCRIPTION
    Bin a level input tendency field according to density classes. The binning is meant for tendencies and transports, as used in particular for the neut_rho, wdian_rho, and tform_rho diagnostics. Note that if use rebin_onto_rho_all_values=.false. then will not be consistent with transport_on_nrho calculation, which includes bins all grid cells, including those outside of range for the bounds. Stephen.Griffies April 2012: algorithm made identical to transport_on_nrho as computed in ocean_adv_vel_diag.


  10. diagnose_mass_of_layer_orig

    DESCRIPTION
    Diagnose the mass of a layer as a function of layer and (i,j). Method uses linear interpolation to find the mass per area of layer boundaries, which are then used to get mass per area of layer, and then mass through multipication by area. Scheme currently does not forward (backwards) interpolate if layer boundary lies within lowest (uppermost) grid cell. Diagnostic only makes sense when layer_level is monotonically increasing as go deeper in water column. layer_bounds = neutral density of layer interfaces mass_level = mass per area at bottom of tracer cell layer_level = neutral density of model grid levels mass_layer = diagnosed mass of a neutral density layer


  11. diagnose_mass_of_layer

    DESCRIPTION
    Diagnose the mass of a layer as a function of layer and (i,j). Method uses linear interpolation to find the mass per area of layer boundaries, which are then used to get mass per area of layer, and then mass through multipication by area. Diagnostic only makes sense when layer_level is monotonically increasing as go deeper in water column.



NAMELIST

&ocean_tracer_util_nml

rebin_onto_rho_all_values
Set true to if wish to bin all values into density classes, even those cells whose density is outside the max and min range of the density bins. The default is rebin_onto_rho_all_values=.true., which means those cells with extreme density values will be included. This default is consistent with the default computation of transport_on_nrho.
[logical]
debug_diagnose_mass_of_layer
To help debug the algorithm to diagnose mass of fluid within a neutral density layer. Default: debug_diagnose_mass_of_layer=.false.
[logical]
epsln_diagnose_mass_of_layer
Relative mass difference allowable between layer and level total mass. Default: epsln_diagnose_mass_of_layer=1e-4.
[real]


top