dumbbell_surface_forcing module reference

Surface forcing for the dumbbell test case.

More…

Data Types

dumbbell_surface_forcing_cs

Control structure for the dumbbell test case forcing.

Functions/Subroutines

dumbbell_buoyancy_forcing()

Surface buoyancy (heat and fresh water) fluxes for the dumbbell test case.

dumbbell_dynamic_forcing()

Dynamic forcing for the dumbbell test case.

dumbbell_surface_forcing_init()

Reads and sets up the forcing for the dumbbell test case.

Detailed Description

Surface forcing for the dumbbell test case.

Type Documentation

type  dumbbell_surface_forcing/dumbbell_surface_forcing_cs

Control structure for the dumbbell test case forcing.

Type fields:
  • % use_temperature :: logical If true, temperature and salinity are used as state variables.

  • % restorebuoy :: logical If true, use restoring surface buoyancy forcing.

  • % g_earth :: real The gravitational acceleration [L2 Z-1 T-2 ~> m s-2].

  • % flux_const :: real The restoring rate at the surface [R Z T-1 ~> kg m-2 s-1].

  • % slp_amplitude :: real The amplitude of pressure loading [R L2 T-2 ~> Pa] applied to the reservoirs.

  • % slp_period :: real Period of sinusoidal pressure wave [days].

  • % forcing_mask :: real, dimension(:,:), allocatable A mask regulating where forcing occurs [nondim].

  • % s_restore :: real, dimension(:,:), allocatable The surface salinity field toward which to restore [S ~> ppt].

  • % diag :: type(diag_ctrl), pointer A structure that is used to regulate the timing of diagnostic output.

[source]

Function/Subroutine Documentation

subroutine dumbbell_surface_forcing/dumbbell_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)

Surface buoyancy (heat and fresh water) fluxes for the dumbbell test case.

Parameters:
  • sfc_state :: sfc_state [inout] A structure containing fields that describe the surface state of the ocean.

  • fluxes :: fluxes [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs.

  • day :: day [in] Time of the fluxes.

  • dt :: dt [in] The amount of time over which the fluxes apply [T ~> s]

  • g :: [in] The ocean’s grid structure

  • us :: [in] A dimensional unit scaling type

  • cs :: A control structure returned by a previous call to dumbbell_surface_forcing_init

Called from:

mom_surface_forcing::set_forcing

[source]

subroutine dumbbell_surface_forcing/dumbbell_dynamic_forcing(sfc_state, fluxes, day, dt, G, US, CS)

Dynamic forcing for the dumbbell test case.

Parameters:
  • sfc_state :: sfc_state [inout] A structure containing fields that describe the surface state of the ocean.

  • fluxes :: fluxes [inout] A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs.

  • day :: day [in] Time of the fluxes.

  • dt :: dt [in] The amount of time over which the fluxes apply [T ~> s]

  • g :: [in] The ocean’s grid structure

  • us :: [in] A dimensional unit scaling type

  • cs :: A control structure returned by a previous call to dumbbell_surface_forcing_init

[source]

subroutine dumbbell_surface_forcing/dumbbell_surface_forcing_init(Time, G, US, param_file, diag, CS)

Reads and sets up the forcing for the dumbbell test case.

Parameters:
  • time :: [in] The current model time.

  • g :: [in] The ocean’s grid structure

  • us :: [in] A dimensional unit scaling type

  • param_file :: param_file [in] A structure to parse for run-time parameters

  • diag :: diag [in] A structure that is used to regulate diagnostic output.

  • cs :: A pointer to the control structure for this module

Call to:

mom_error_handler::mom_error

[source]

[source]