MOM6
user_revise_forcing Module Reference

Detailed Description

Provides a template for users to code updating the forcing fluxes.

Data Types

type  user_revise_forcing_cs
 Control structure for user_revise_forcing. More...
 

Functions/Subroutines

subroutine, public user_alter_forcing (state, fluxes, day, G, CS)
 This subroutine sets the surface wind stresses. More...
 
subroutine, public user_revise_forcing_init (param_file, CS)
 Initialize the user_revise_forcing control structure. More...
 

Variables

character(len=40) mdl = "user_revise_forcing"
 This module's name. More...
 

Function/Subroutine Documentation

◆ user_alter_forcing()

subroutine, public user_revise_forcing::user_alter_forcing ( type(surface), intent(in)  state,
type(forcing), intent(inout)  fluxes,
type(time_type), intent(in)  day,
type(ocean_grid_type), intent(in)  G,
type(user_revise_forcing_cs), pointer  CS 
)

This subroutine sets the surface wind stresses.

Parameters
[in]stateA structure containing fields that describe the surface state of the ocean.
[in,out]fluxesA structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs.
[in]dayTime of the fluxes.
[in]gThe ocean's grid structure.
csA pointer to the control structure returned by a previous call to surface_forcing_init.

Definition at line 34 of file user_revise_forcing.F90.

34  type(surface), intent(in) :: state !< A structure containing fields that
35  !! describe the surface state of the ocean.
36  type(forcing), intent(inout) :: fluxes !< A structure containing pointers to any
37  !! possible forcing fields. Unused fields
38  !! have NULL ptrs.
39  type(time_type), intent(in) :: day !< Time of the fluxes.
40  type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure.
41  type(user_revise_forcing_CS), pointer :: CS !< A pointer to the control structure
42  !! returned by a previous call to
43  !! surface_forcing_init.
44 

◆ user_revise_forcing_init()

subroutine, public user_revise_forcing::user_revise_forcing_init ( type(param_file_type), intent(in)  param_file,
type(user_revise_forcing_cs), pointer  CS 
)

Initialize the user_revise_forcing control structure.

Parameters
[in]param_fileA structure indicating the open file to parse for model parameter values.
csA pointer to the control structure returned by a previous call to surface_forcing_init.

Definition at line 49 of file user_revise_forcing.F90.

49  type(param_file_type), intent(in) :: param_file !< A structure indicating the open file to
50  !! parse for model parameter values.
51  type(user_revise_forcing_CS), pointer :: CS !< A pointer to the control structure
52  !! returned by a previous call to
53  !! surface_forcing_init.
54 
55  call log_version(param_file, mdl, version)
56 

References mdl.

Variable Documentation

◆ mdl

character(len=40) user_revise_forcing::mdl = "user_revise_forcing"

This module's name.

Definition at line 29 of file user_revise_forcing.F90.

29  character(len=40) :: mdl = "user_revise_forcing" !< This module's name.

Referenced by user_revise_forcing_init().