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(:,:),allocatable] :: A mask regulating where forcing occurs [nondim].

  • % s_restore [real(:,:),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.

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 :: [inout] A structure containing fields that describe the surface state of the ocean.

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

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

  • 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

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 :: [inout] A structure containing fields that describe the surface state of the ocean.

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

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

  • 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

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 :: [in] A structure to parse for run-time parameters

  • 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