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

Module ocean_riverspread_mod

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


OVERVIEW

Spread runoff or calving horizontally over a region determined by a table.

At some coastal ocean gridpoints, the runoff or calving flux contribution to (p-e+r) may be very large because of local insertion to ocean. Therefore, we may choose to spread the large river runoff over neighboring pairs of gridpoints. Annual mean river runoff greater than 0.05 m/day is considered to be very large.


OTHER MODULES USED

field_manager_mod
fms_mod
mpp_domains_mod
mpp_mod
ocean_domains_mod
ocean_types_mod

PUBLIC INTERFACE

ocean_riverspread_init:
spread_river_horz:
at_least_one_in_spread_domain:
on_comp_domain:
on_data_domain:


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. ocean_riverspread_init

    DESCRIPTION
    Initial set up for spreading of tracers

    (i,j) locations of points to be spread are set in data statements.

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

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

    User specified inputs in "USER INPUT" section:

    ispread and jspread = user specified i,j grid locations of data for spreading.

    is, ie, js, je = user specified i,j grid locations of the corners of the spreading regions. is and ie are the east and west coord of each region, js and je are the south and north coord of each region.



  2. spread_river_horz

    DESCRIPTION
    Provide conservative spreading of river runoff field.


  3. at_least_one_in_spread_domain

    DESCRIPTION
    Function to see if at least one of the points in the spreading region is within the computational domain for the processor.


    INPUT
    nsp    Integer labeling the particular spreading region
       [integer]

  4. on_comp_domain

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


  5. on_data_domain

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



NAMELIST

&ocean_riverspread_nml

use_this_module
Must be true to enable this module. Default=.false.
[logical]
debug_this_module
For debugging. Default=.false.
[logical]


DATA SETS

None.


ERROR MESSAGES

None.


REFERENCES

None.


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

Spreading in a 2D lat-long field is implemented in the following manner:

If the spreading region lives within the halo region (i.e., within same local_domain), then no added mpp communication required. However, more generally the spreading region can extend beyond the existing halo region. In this case, spread_domain is defined so that its halos incorporate the maximum separation of spreading points. New tracer and grid arrays are defined over this extended spread_domain. This added domain size will come at some computational cost, so it is advantageous to choose the spreading region carefully.

The current implementation of spreading has not been tested for a spreading region that is separated by either a zonal cyclic condition or across the tripolar fold.


FUTURE PLANS

None.


top