user_surface_forcing module reference
Template for user to code up surface forcing.
Data Types
This control structure should be used to store any run-time variables associated with the user-specified forcing. |
Functions/Subroutines
This subroutine sets the surface wind stresses, forcestaux and forcestauy, in [R Z L T-2 ~> Pa]. |
|
This subroutine specifies the current surface fluxes of buoyancy or temperature and fresh water. |
|
This subroutine initializes the USER_surface_forcing module. |
Detailed Description
Template for user to code up surface forcing.
Type Documentation
- type user_surface_forcing/user_surface_forcing_cs
This control structure should be used to store any run-time variables associated with the user-specified forcing.
- Type fields:
% use_temperature ::
logicalIf true, temperature and salinity are used as state variables.% restorebuoy ::
logicalIf true, use restoring surface buoyancy forcing.% rho0 ::
realThe density used in the Boussinesq approximation [R ~> kg m-3].% g_earth ::
realThe gravitational acceleration [L2 Z-1 T-2 ~> m s-2].% flux_const ::
realThe restoring rate at the surface [Z T-1 ~> m s-1].% rho_restore ::
realThe density that is used to convert piston velocities into salt or heat fluxes with salinity or temperature restoring [R ~> kg m-3].% gust_const ::
realA constant unresolved background gustiness that contributes to ustar [R Z2 T-2 ~> Pa].% diag ::
type(diag_ctrl), pointerA structure that is used to regulate the timing of diagnostic output.
Function/Subroutine Documentation
- subroutine user_surface_forcing/user_wind_forcing(sfc_state, forces, day, G, US, CS)
This subroutine sets the surface wind stresses, forcestaux and forcestauy, in [R Z L T-2 ~> Pa]. These are the stresses in the direction of the model grid (i.e. the same direction as the u- and v- velocities).
- Parameters:
sfc_state ::
sfc_state[inout] A structure containing fields that describe the surface state of the ocean.forces ::
forces[inout] A structure with the driving mechanical forcesday ::
day[in] The time of the fluxesg :: [inout] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: A pointer to the control structure returned by a previous call to user_surface_forcing_init
- Call to:
- subroutine user_surface_forcing/user_buoyancy_forcing(sfc_state, fluxes, day, dt, G, US, CS)
This subroutine specifies the current surface fluxes of buoyancy or temperature and fresh water. It may also be modified to add surface fluxes of user provided tracers.
- Parameters:
sfc_state ::
sfc_state[inout] A structure containing fields that describe the surface state of the ocean.fluxes ::
fluxes[inout] A structure containing thermodynamic forcing fieldsday ::
day[in] The time of the fluxesdt ::
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 pointer to the control structure returned by a previous call to user_surface_forcing_init
- Call to:
- subroutine user_surface_forcing/user_surface_forcing_init(Time, G, US, param_file, diag, CS)
This subroutine initializes the USER_surface_forcing module.
- 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 parametersdiag ::
diag[in] A structure that is used to regulate diagnostic output.cs :: A pointer that is set to point to the control structure for this module
- Call to:
- Called from: