PUBLIC INTERFACE ~ PUBLIC ROUTINES

Module generic_ERGOM

Contact: 
Reviewers: 
Change History: WebCVS Log


OVERVIEW

This module contains the generic version of ERGOM modified for the project GENUS. It is designed so that both GFDL Ocean models, GOLD and MOM, can use it. The genreal coding scheme follows that of the TOPAZ package

Implementation of routines to solve the ERGOM equations Fennel and Neumann S. Schaefer M. Schmidt, A Eggert, H. Radtke Some code pieces are reused from the TOPAZ code - no need to invent the wheel twice. Thanks to John Dunne and Niki Zadeh.


OTHER MODULES USED

coupler_types_mod
field_manager_mod
fms_mod
mpp_mod
time_manager_mod
fm_util_mod
diag_manager_mod
constants_mod
g_tracer_utils

PUBLIC INTERFACE

generic_ERGOM_init:
Initialize the generic ERGOM module
generic_ERGOM_update_from_coupler:
Modify the values obtained from the coupler if necessary.
sedimentation_and_resuspension:
Perform sedimentation and resuspension for all spm and sed tracers
generic_ERGOM_update_from_bottom:
Set values of bottom fluxes and reservoirs
generic_ERGOM_update_from_source:
Update tracer concentration fields due to the source/sink contributions.
generic_ERGOM_set_boundary_values:
Calculate and set coupler values at the surface / bottom
generic_ERGOM_find_vmove:
Calculates vertical movement of zooplankton
generic_ERGOM_vmove:
Performs vertical movement (up or down)
generic_ERGOM_end:
End the module.


PUBLIC ROUTINES

  1. generic_ERGOM_init

    call generic_ERGOM_init (tracer_list)
    DESCRIPTION
    This subroutine: Adds all the CFC Tracers to the list of generic Tracers passed to it via utility subroutine g_tracer_add(). Adds all the parameters used by this module via utility subroutine g_tracer_add_param(). Allocates all work arrays used in the module.


    INPUT
    tracer_list    Pointer to the head of generic tracer list.
       [type(g_tracer_type), pointer]

  2. generic_ERGOM_update_from_coupler

    call generic_ERGOM_update_from_coupler (tracer_list)
    DESCRIPTION
    Currently an empty stub for CFCs. Some tracer fields need to be modified after values are obtained from the coupler. This subroutine is the place for specific tracer manipulations.


    INPUT
    tracer_list    Pointer to the head of generic tracer list.
       [type(g_tracer_type), pointer]

  3. sedimentation_and_resuspension

    call sedimentation_and_resuspension (NUM_SPM, spm, NUM_SED, sed, & isc, iec, jsc, jec, isd, ied, jsd, jed, grid_kmt, dzt, rho_dzt, tau, dt, & sed_defs, current_wave_stress, bioerosion)
    DESCRIPTION
    All tracers that are able to be sedimented are stored in the spm array. All tracers that are able to be resuspended are stored in the sed array. This subroutine performs the sedimentation and resuspension.


  4. generic_ERGOM_update_from_bottom

    call generic_ERGOM_update_from_bottom (tracer_list,dt, tau, model_time)
    DESCRIPTION
    Some tracers have bottom fluxes and reservoirs. This subroutine is the place for specific tracer manipulations.


    INPUT
    tracer_list    Pointer to the head of generic tracer list.
       [type(g_tracer_type), pointer]
    dt    Time step increment
       [real]
    tau    Time step index to be used for %field
       [integer]

  5. generic_ERGOM_update_from_source

    DESCRIPTION
    Currently an empty stub for CFCs.


  6. generic_ERGOM_set_boundary_values

    call generic_ERGOM_set_boundary_values (tracer_list,SST,SSS,rho,ilb,jlb,tau)
    DESCRIPTION


    INPUT
    tracer_list    Pointer to the head of generic tracer list.
       [type(g_tracer_type), pointer]
    ilb,jlb    Lower bounds of x and y extents of input arrays on data domain
       [integer]
    SST    Sea Surface Temperature
       [real, dimension(ilb:,jlb:)]
    SSS    Sea Surface Salinity
       [real, dimension(ilb:,jlb:)]
    rho    Ocean density
       [real, dimension(ilb:,jlb:,:,:)]
    tau    Time step index of %field
       [integer]

  7. generic_ERGOM_find_vmove

    call generic_ERGOM_find_vmove 
    
    DESCRIPTION


  8. generic_ERGOM_vmove

    call generic_ERGOM_vmove 
    
    DESCRIPTION
    Updates particulate tracer concentrations


  9. generic_ERGOM_end

    call generic_ERGOM_end 
    
    DESCRIPTION
    Deallocate all work arrays



REFERENCES

  1. http://www.io-warnemuende.de


top