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

Module ocean_xlandinsert_mod

Contact:  S.M. Griffies K.W. Dixon
Reviewers:  M.J. Harrison
Change History: WebCVS Log


OVERVIEW

Tracer and mass source from cross-land insertion.

Compute thickness and density weighted tendency [rho*tracer*meter/sec] of tracer associated with cross-land insertion. Also compute mass source from cross-land insertion.


OTHER MODULES USED

       constants_mod
diag_manager_mod
field_manager_mod
fms_mod
mpp_domains_mod
mpp_mod
ocean_domains_mod
ocean_parameters_mod
ocean_types_mod
ocean_workspace_mod

PUBLIC INTERFACE

ocean_xlandinsert_init:
xlandinsert:
xlandinsert_mass:
at_least_one_in_comp_domain:
on_comp_domain:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. ocean_xlandinsert_init

    DESCRIPTION
    Initial set up for crossland insertion of tracers and eta

    Checks are performed to ensure that the crossland mixing grid locations are valid according to model configuration.

    A summary of the locations of crossland points is written out.

    User specified inputs in "USER INPUT" section:

    ixland and jxland = user specified nxland pairs of i,j grid locations

    kxland = user specified uppermost (ktop=kxland(n,1)) and deepest (kbot=kxland(n,2)) levels over which crossland will be done for each crossland pair. Note the for xlandinsert, kxland(nxl,1)=1 is required, since the aim is to move excess volume from one column to another.

    tauxland = user specified time constant (seconds) setting the rate of transport via upwind advection.

    NOTE: for ixland, jxland, and kxland pairs, values of the (n,1) element should be < the corresponding (n,2) value.



  2. xlandinsert

    DESCRIPTION
    Compute thickness and density weighted tracer source [(kg/m^3)*tracer*m/s] and mass source (kg/m^3)*(m/s) associated with discharge of tracer from surface of a thick column into a set of boxes within a thin column.

    NOTE: Compute rho_dzt_x as if using a geopotential model, since the xlandinsert rates are typically first tuned with geopotential models. also, we wish to have the transport proportional to differences in eta_t, which for zstar and pstar are generally must larger than differences in dzt.

    Modified by Keith.Dixon@noaa.gov (January 2004)

    Modified by Stephen.Griffies@noaa.gov for general vertical coordinates January 2005 and August 2006.



  3. xlandinsert_mass

    DESCRIPTION
    Compute the mass source (kg/m^3)*meter/sec.

    Note that xlandinsert has already been called, so xland_rho_dzt has been filled.


  4. at_least_one_in_comp_domain

    DESCRIPTION
    Function to see if at least one of the two points in a crossland pair is within the computational domain for the processor.


    INPUT
    nxl    Integer labeling the particular xlandinsert pair
       [integer]

  5. on_comp_domain

    DESCRIPTION
    Determine if the point is in comp-domain for the processor


    INPUT
    nxl    Integer labeling the particular xlandinsert pair
       [integer]
    lx    lx=1,2 labels the point within an xlandinsert pair
       [integer]


NAMELIST

&ocean_xlandinsert_nml

use_this_module
Needs to be true in order to use this scheme. Default is false.
[logical]
verbose_init
For verbose initialization information.
[logical]
debug_this_module
For debugging.
[logical]


DATA SETS

None.


ERROR MESSAGES

None.


REFERENCES

  1. S.M. Griffies, M.J. Harrison, R. C. Pacanowski, and A. Rosati A Technical Guide to MOM4 (2003) NOAA/Geophysical Fluid Dynamics Laboratory


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

Algorithm ensures both total tracer and total mass is conserved. Algorithm sets up the insertion points as in xlandmix, and transports between the columns as in rivermix.

2D domain decomposition is implemented according to following notions. If the two points in an xlandinsert pair live within halo of each other (i.e., within same local_domain), then no added mpp communication required. However, nore generally the two points live further away. In this case, xland_domain is defined so that its halos incorporate the maximum separation of xlandinsert points. New tracer, eta, and grid arrays are defined over this extended xland_domain. This added domain size will come at some computational cost, so it is advantageous to limit the separation between points within an xlandinsert pair.

The current implementation of xlandinsert has not been generalized to allow for communication between points separated by the tripolar fold. The problem is in the logic used to compute xland_domain. There is nothing fundamental limiting a generalization of the logic used to generate xland_domain.

Many of the user specified values given in USER INPUT are model dependent since unresolved straits can become resolved in finer mesh models.


FUTURE PLANS

None.


top