MOM6
|
Tidal contributions to geopotential.
Data Types | |
type | tidal_forcing_cs |
The control structure for the MOM_tidal_forcing module. More... | |
Functions/Subroutines | |
subroutine, public | tidal_forcing_init (Time, G, param_file, CS) |
This subroutine allocates space for the static variables used by this module. The metrics may be effectively 0, 1, or 2-D arrays, while fields like the background viscosities are 2-D arrays. ALLOC is a macro defined in MOM_memory.h for allocate or nothing with static memory. More... | |
subroutine | find_in_files (filenames, varname, array, G) |
This subroutine finds a named variable in a list of files and reads its values into a domain-decomposed 2-d array. More... | |
subroutine, public | tidal_forcing_sensitivity (G, CS, deta_tidal_deta) |
This subroutine calculates returns the partial derivative of the local geopotential height with the input sea surface height due to self-attraction and loading. More... | |
subroutine, public | calc_tidal_forcing (Time, eta, eta_tidal, G, CS, deta_tidal_deta, m_to_Z) |
This subroutine calculates the geopotential anomalies that drive the tides, including self-attraction and loading. Optionally, it also returns the partial derivative of the local geopotential height with the input sea surface height. For now, eta and eta_tidal are both geopotential heights in depth units, but probably the input for eta should really be replaced with the column mass anomalies. More... | |
subroutine, public | tidal_forcing_end (CS) |
This subroutine deallocates memory associated with the tidal forcing module. More... | |
Variables | |
integer, parameter | max_constituents = 10 |
The maximum number of tidal constituents that could be used. More... | |
integer | id_clock_tides |
CPU clock for tides. More... | |
subroutine, public mom_tidal_forcing::calc_tidal_forcing | ( | type(time_type), intent(in) | Time, |
real, dimension(szi_(g),szj_(g)), intent(in) | eta, | ||
real, dimension(szi_(g),szj_(g)), intent(out) | eta_tidal, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(tidal_forcing_cs), pointer | CS, | ||
real, intent(out), optional | deta_tidal_deta, | ||
real, intent(in), optional | m_to_Z | ||
) |
This subroutine calculates the geopotential anomalies that drive the tides, including self-attraction and loading. Optionally, it also returns the partial derivative of the local geopotential height with the input sea surface height. For now, eta and eta_tidal are both geopotential heights in depth units, but probably the input for eta should really be replaced with the column mass anomalies.
[in] | g | The ocean's grid structure. |
[in] | time | The time for the caluculation. |
[in] | eta | The sea surface height anomaly from a time-mean geoid [Z ~> m]. |
[out] | eta_tidal | The tidal forcing geopotential height anomalies [Z ~> m]. |
cs | The control structure returned by a previous call to tidal_forcing_init. | |
[out] | deta_tidal_deta | The partial derivative of eta_tidal with the local value of eta [nondim]. |
[in] | m_to_z | A scaling factor from m to the units of eta. |
Definition at line 400 of file MOM_tidal_forcing.F90.
References id_clock_tides.
Referenced by mom_pressureforce_afv::pressureforce_afv_bouss(), mom_pressureforce_afv::pressureforce_afv_nonbouss(), mom_pressureforce_blk_afv::pressureforce_blk_afv_bouss(), mom_pressureforce_blk_afv::pressureforce_blk_afv_nonbouss(), mom_pressureforce_mont::pressureforce_mont_bouss(), and mom_pressureforce_mont::pressureforce_mont_nonbouss().
|
private |
This subroutine finds a named variable in a list of files and reads its values into a domain-decomposed 2-d array.
[in] | filenames | The names of the files to search for the named variable |
[in] | varname | The name of the variable to read |
[in] | g | The ocean's grid structure |
[out] | array | The array to fill with the data |
Definition at line 347 of file MOM_tidal_forcing.F90.
References mom_error_handler::mom_error().
Referenced by tidal_forcing_init().
subroutine, public mom_tidal_forcing::tidal_forcing_end | ( | type(tidal_forcing_cs), pointer | CS | ) |
This subroutine deallocates memory associated with the tidal forcing module.
cs | The control structure returned by a previous call to tidal_forcing_init; it is deallocated here. |
Definition at line 489 of file MOM_tidal_forcing.F90.
subroutine, public mom_tidal_forcing::tidal_forcing_init | ( | type(time_type), intent(in) | Time, |
type(ocean_grid_type), intent(inout) | G, | ||
type(param_file_type), intent(in) | param_file, | ||
type(tidal_forcing_cs), pointer | CS | ||
) |
This subroutine allocates space for the static variables used by this module. The metrics may be effectively 0, 1, or 2-D arrays, while fields like the background viscosities are 2-D arrays. ALLOC is a macro defined in MOM_memory.h for allocate or nothing with static memory.
[in] | time | The current model time. |
[in,out] | g | The ocean's grid structure. |
[in] | param_file | A structure to parse for run-time parameters. |
cs | A pointer that is set to point to the control structure for this module. |
Definition at line 67 of file MOM_tidal_forcing.F90.
References find_in_files(), id_clock_tides, max_constituents, and mom_error_handler::mom_error().
Referenced by mom_dynamics_split_rk2::initialize_dyn_split_rk2(), mom_dynamics_unsplit::initialize_dyn_unsplit(), and mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2().
subroutine, public mom_tidal_forcing::tidal_forcing_sensitivity | ( | type(ocean_grid_type), intent(in) | G, |
type(tidal_forcing_cs), pointer | CS, | ||
real, intent(out) | deta_tidal_deta | ||
) |
This subroutine calculates returns the partial derivative of the local geopotential height with the input sea surface height due to self-attraction and loading.
[in] | g | The ocean's grid structure. |
cs | The control structure returned by a previous call to tidal_forcing_init. | |
[out] | deta_tidal_deta | The partial derivative of eta_tidal with the local value of eta [nondim]. |
Definition at line 379 of file MOM_tidal_forcing.F90.
Referenced by mom_barotropic::btstep(), and mom_barotropic::set_dtbt().
integer mom_tidal_forcing::id_clock_tides |
CPU clock for tides.
Definition at line 57 of file MOM_tidal_forcing.F90.
Referenced by calc_tidal_forcing(), and tidal_forcing_init().
|
private |
The maximum number of tidal constituents that could be used.
Definition at line 22 of file MOM_tidal_forcing.F90.
Referenced by tidal_forcing_init().