Difference between revisions of "Modules"
From WikiROMS
Jump to navigationJump to search (stab at outline) (change visibility) |
|||
Line 4: | Line 4: | ||
<section begin=mod_arrays.F />;<span id="mod_arrays.F"></span>[[mod_arrays.F]] | <section begin=mod_arrays.F />;<span id="mod_arrays.F"></span>[[mod_arrays.F]] | ||
:. | :This is actually a subroutine, not a module, but it calls the allocate and initialize routines for all the modules containing allocatable arrays.<section end=mod_arrays.F /> | ||
<section end=mod_arrays.F /> | |||
<section begin=mod_average.F />;<span id="mod_average.F"></span>[[mod_average.F]] | <section begin=mod_average.F />;<span id="mod_average.F"></span>[[mod_average.F]] | ||
:. | :If [[Options#AVERAGES | AVERAGES]] is '''#defined''', this will provide the storage for the running means of the fields you are averaging.<section end=mod_average.F /> | ||
<section end=mod_average.F /> | |||
<section begin=mod_bbl.F />;<span id="mod_bbl.F"></span>[[mod_bbl.F]] | <section begin=mod_bbl.F />;<span id="mod_bbl.F"></span>[[mod_bbl.F]] | ||
:. | :If [[Options#BBL_MODEL | BBL_MODEL]] is '''#defined''', this will provide the storage for the bottom boundary fields.<section end=mod_bbl.F /> | ||
<section end=mod_bbl.F /> | |||
<section begin=mod_biology.F />;<span id="mod_biology.F"></span>[[mod_biology.F]] | <section begin=mod_biology.F />;<span id="mod_biology.F"></span>[[mod_biology.F]] | ||
:. | :If [[Options#BIOLOGY | BIOLOGY]] is '''#defined''', this will provide the storage for the biology interaction parameters.<section end=mod_biology.F /> | ||
<section end=mod_biology.F /> | |||
<section begin=mod_boundary.F />;<span id="mod_boundary.F"></span>[[mod_boundary.F]] | <section begin=mod_boundary.F />;<span id="mod_boundary.F"></span>[[mod_boundary.F]] | ||
:. | :This contains the storage for the open boundary conditions. If they aren't provided analytically, this will also provide the storage for fields read from a file that need to be time-interpolated.<section end=mod_boundary.F /> | ||
<section end=mod_boundary.F /> | |||
<section begin=mod_clima.F />;<span id="mod_clima.F"></span>[[mod_clima.F]] | <section begin=mod_clima.F />;<span id="mod_clima.F"></span>[[mod_clima.F]] | ||
:. | :If one of [[Options#CLIMATOLOGY | CLIMATOLOGY]], [[Options#AD_SENSITIVITY | AD_SENSITIVITY}}, [[Options#OPT_OBSERVATIONS | OPT_OBSERVATIONS]], or [[Options#SO_SEMI | SO_SEMI]] is '''#defined''', this will provide the storage for the climatological fields.<section end=mod_clima.F /> | ||
<section end=mod_clima.F /> | |||
<section begin=mod_coupler.F />;<span id="mod_coupler.F"></span>[[mod_coupler.F]] | <section begin=mod_coupler.F />;<span id="mod_coupler.F"></span>[[mod_coupler.F]] | ||
:. | :If either [[Options#MODEL_COUPLING | MODEL_COUPLING]] or [[Options#ESMF_LIB | ESMF_LIB]] is '''#defined''', this will set up the requisite fields and data structures for the coupling. | ||
<section end=mod_coupler.F /> | <section end=mod_coupler.F /> | ||
<section begin=mod_coupling.F />;<span id="mod_coupling.F"></span>[[mod_coupling.F]] | |||
:If [[Options#SOLVE3D | SOLVE3D]] is '''#defined''', this will provide the storage for the fields used in coupling the 2-D and 3-D components of the simulation.<section end=mod_coupling.F /> | |||
<section begin=mod_diags.F />;<span id="mod_diags.F"></span>[[mod_diags.F]] | <section begin=mod_diags.F />;<span id="mod_diags.F"></span>[[mod_diags.F]] | ||
:. | :If [[Options#DIAGNOSTICS | DIAGNOSTICS]] is '''#defined''', this will provide the storage for the various tendency terms.<section end=mod_diags.F /> | ||
<section end=mod_diags.F /> | |||
<section begin=mod_eclight.F />;<span id="mod_eclight.F"></span>[[mod_eclight.F]] | <section begin=mod_eclight.F />;<span id="mod_eclight.F"></span>[[mod_eclight.F]] | ||
:. | :If both [[Options#BIOLOGY | BIOLOGY]] and [[Options#ECOSIM | ECOSIM]] are '''#defined''', this will set up the spectral irradiance variables.<section end=mod_eclight.F /> | ||
<section end=mod_eclight.F /> | |||
<section begin=mod_eoscoef.F />;<span id="mod_eoscoef.F"></span>[[mod_eoscoef.F]] | <section begin=mod_eoscoef.F />;<span id="mod_eoscoef.F"></span>[[mod_eoscoef.F]] | ||
:. | :If [[Options#NONLIN_EOS | NONLIN_EOS]] is '''#defined''', this will provide the polynomial expansion coefficients for the nonlinear equation of state for sea water.<section end=mod_eoscoef.F /> | ||
<section end=mod_eoscoef.F /> | |||
<section begin=mod_floats.F />;<span id="mod_floats.F"></span>[[mod_floats.F]] | <section begin=mod_floats.F />;<span id="mod_floats.F"></span>[[mod_floats.F]] | ||
:. | :If [[Options#FLOATS | FLOATS]] is '''#defined''', this will provide the storage for the float tracking variables.<section end=mod_floats.F /> | ||
<section end=mod_floats.F /> | |||
<section begin=mod_forces.F />;<span id="mod_forces.F"></span>[[mod_forces.F]] | <section begin=mod_forces.F />;<span id="mod_forces.F"></span>[[mod_forces.F]] | ||
:. | :This provides the storage for the surface and bottom forcing fields.<section end=mod_forces.F /> | ||
<section end=mod_forces.F /> | |||
<section begin=mod_fourdvar.F />;<span id="mod_fourdvar.F"></span>[[mod_fourdvar.F]] | <section begin=mod_fourdvar.F />;<span id="mod_fourdvar.F"></span>[[mod_fourdvar.F]] | ||
:. | :If either [[Options#FOUR_DVAR | FOUR_DVAR]] or [[Options#VERIFICATION | VERIFICATION]] is '''#defined''', this will set up the variational data assimilation variables.<section end=mod_fourdvar.F /> | ||
<section end=mod_fourdvar.F /> | |||
<section begin=mod_grid.F />;<span id="mod_grid.F"></span>[[mod_grid.F]] | <section begin=mod_grid.F />;<span id="mod_grid.F"></span>[[mod_grid.F]] | ||
:. | :This provides the storage for the model grid fields.<section end=mod_grid.F /> | ||
<section end=mod_grid.F /> | |||
<section begin=mod_iounits.F />;<span id="mod_iounits.F"></span>[[mod_iounits.F]] | <section begin=mod_iounits.F />;<span id="mod_iounits.F"></span>[[mod_iounits.F]] | ||
:. | :.<section end=mod_iounits.F /> | ||
<section end=mod_iounits.F /> | |||
<section begin=mod_kinds.F />;<span id="mod_kinds.F"></span>[[mod_kinds.F]] | <section begin=mod_kinds.F />;<span id="mod_kinds.F"></span>[[mod_kinds.F]] | ||
:. | :.<section end=mod_kinds.F /> | ||
<section end=mod_kinds.F /> | |||
<section begin=mod_mixing.F />;<span id="mod_mixing.F"></span>[[mod_mixing.F]] | <section begin=mod_mixing.F />;<span id="mod_mixing.F"></span>[[mod_mixing.F]] |
Revision as of 19:54, 17 June 2008
Modules
Now that we are using Fortran 90, the method of choice for managing data structures are modules. The ROMS/Modules directory contains all of the ROMS modules that contain globally used variables. The complete list is:
- mod_arrays.F
- This is actually a subroutine, not a module, but it calls the allocate and initialize routines for all the modules containing allocatable arrays.
- mod_average.F
- If AVERAGES is #defined, this will provide the storage for the running means of the fields you are averaging.
- mod_biology.F
- If BIOLOGY is #defined, this will provide the storage for the biology interaction parameters.
- mod_boundary.F
- This contains the storage for the open boundary conditions. If they aren't provided analytically, this will also provide the storage for fields read from a file that need to be time-interpolated.
- mod_clima.F
- If one of CLIMATOLOGY, [[Options#AD_SENSITIVITY | AD_SENSITIVITY}}, OPT_OBSERVATIONS, or SO_SEMI is #defined, this will provide the storage for the climatological fields.
- mod_coupler.F
- If either MODEL_COUPLING or ESMF_LIB is #defined, this will set up the requisite fields and data structures for the coupling.
- mod_coupling.F
- If SOLVE3D is #defined, this will provide the storage for the fields used in coupling the 2-D and 3-D components of the simulation.
- mod_diags.F
- If DIAGNOSTICS is #defined, this will provide the storage for the various tendency terms.
- mod_eclight.F
- If both BIOLOGY and ECOSIM are #defined, this will set up the spectral irradiance variables.
- mod_eoscoef.F
- If NONLIN_EOS is #defined, this will provide the polynomial expansion coefficients for the nonlinear equation of state for sea water.
- mod_floats.F
- If FLOATS is #defined, this will provide the storage for the float tracking variables.
- mod_forces.F
- This provides the storage for the surface and bottom forcing fields.
- mod_fourdvar.F
- If either FOUR_DVAR or VERIFICATION is #defined, this will set up the variational data assimilation variables.
- mod_grid.F
- This provides the storage for the model grid fields.