namespace mom_tidal_forcing

Overview

Tidal contributions to geopotential. More…

namespace mom_tidal_forcing {

// global variables

integer id_clock_tides;

// global functions

subroutine, public tidal_forcing_init(Time Time, G G, param_file param_file, CS CS);
subroutine, public tidal_forcing_sensitivity(G G, CS CS, deta_tidal_deta deta_tidal_deta);

subroutine, public calc_tidal_forcing(
    Time Time,
    eta eta,
    eta_tidal eta_tidal,
    G G,
    CS CS,
    deta_tidal_deta deta_tidal_deta,
    m_to_Z m_to_Z
    );

subroutine, public tidal_forcing_end(CS CS);

} // namespace mom_tidal_forcing

Detailed Documentation

Tidal contributions to geopotential.

Global Variables

integer id_clock_tides

CPU clock for tides.

Global Functions

subroutine, public tidal_forcing_init(
    Time Time,
    G G,
    param_file param_file,
    CS 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.

Parameters:

time

The current model time.

g

The ocean’s grid structure.

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.

subroutine, public tidal_forcing_sensitivity(
    G G,
    CS CS,
    deta_tidal_deta 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.

Parameters:

g

The ocean’s grid structure.

cs

The control structure returned by a previous call to tidal_forcing_init.

deta_tidal_deta

The partial derivative of eta_tidal with the local value of eta [nondim].

subroutine, public calc_tidal_forcing(
    Time Time,
    eta eta,
    eta_tidal eta_tidal,
    G G,
    CS CS,
    deta_tidal_deta deta_tidal_deta,
    m_to_Z 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.

Parameters:

g

The ocean’s grid structure.

time

The time for the caluculation.

eta

The sea surface height anomaly from a time-mean geoid [Z ~> m].

eta_tidal

The tidal forcing geopotential height anomalies [Z ~> m].

cs

The control structure returned by a previous call to tidal_forcing_init.

deta_tidal_deta

The partial derivative of eta_tidal with the local value of eta [nondim].

m_to_z

A scaling factor from m to the units of eta.

subroutine, public tidal_forcing_end(CS CS)

This subroutine deallocates memory associated with the tidal forcing module.

Parameters:

cs

The control structure returned by a previous call to tidal_forcing_init; it is deallocated here.