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
[logical] :: If true, temperature and salinity are used as state variables.%
restorebuoy
[logical] :: If true, use restoring surface buoyancy forcing.%
rho0
[real] :: The density used in the Boussinesq approximation [R ~> kg m-3].%
g_earth
[real] :: The gravitational acceleration [L2 Z-1 T-2 ~> m s-2].%
flux_const
[real] :: The restoring rate at the surface [Z T-1 ~> m s-1].%
rho_restore
[real] :: The density that is used to convert piston velocities into salt or heat fluxes with salinity or temperature restoring [R ~> kg m-3].%
gust_const
[real] :: A constant unresolved background gustiness that contributes to ustar [R L Z T-2 ~> Pa].%
diag
[type( diag_ctrl ),pointer] :: A 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 :: [inout] A structure containing fields that describe the surface state of the ocean.
forces :: [inout] A structure with the driving mechanical forces
day :: [in] The time of the fluxes
g :: [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 :: [inout] A structure containing fields that describe the surface state of the ocean.
fluxes :: [inout] A structure containing thermodynamic forcing fields
day :: [in] The 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 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 :: [in] A structure to parse for run-time parameters
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: