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)
dzt_min_max
DESCRIPTION
Compute the global min and max for dzt.
Modified by Stephen.Griffies from subroutine tracer_min_max
tracer_prog_chksum
DESCRIPTION
Compute checksums for prognostic tracers
tracer_diag_chksum
DESCRIPTION
Compute checksums for diagnostic tracers
tracer_psom_chksum
DESCRIPTION
Compute checksums for PSOM advection second order moments.
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
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
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.
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
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]