mom_surface_forcing module reference¶
Functions that calculate the surface wind stresses and fluxes of buoyancy or temperature/salinity and fresh water, in ocean-only (solo) mode.
Data Types¶
Structure containing pointers to the forcing fields that may be used to drive MOM. |
Functions/Subroutines¶
Calls subroutines in this file to get surface forcing fields. |
|
Sets the surface wind stresses to constant values. |
|
Sets the surface wind stresses to set up two idealized gyres. |
|
Sets the surface wind stresses to set up a single idealized gyre. |
|
Sets the surface wind stresses to set up idealized gyres. |
|
Sets the surface wind stresses, forcestaux and forcestauy for the Neverworld forcing configuration. |
|
Sets the zonal wind stresses to a piecewise series of s-curves. |
|
Returns the value of a cosine-bell function evaluated at x/L. |
|
Translate the wind stresses into the friction velocity, including effects of background gustiness. |
|
Specifies zero surface buoyancy fluxes from input files. |
|
Specifies zero surface buoyancy fluxes from data over-ride. |
|
This subroutine specifies zero surface buoyancy fluxes. |
|
Sets up spatially and temporally constant surface heat fluxes. |
|
Sets surface fluxes of heat and salinity by restoring to temperature and salinity profiles that vary linearly with latitude. |
|
Return a time record to read from a file based on the model time, the number of time records in that file and the number of time records per model day. |
|
Sets the necessary MARBL forcings via the data override facility. |
|
Save a restart file for the forcing fields. |
|
Initialize the surface forcing module. |
|
Deallocate memory associated with the surface forcing module. |
Detailed Description¶
These functions are called every time step, even if the wind stresses or buoyancy fluxes are constant in time - in that case these routines return quickly without doing anything. In addition, any I/O of forcing fields is controlled by surface_forcing_init, located in this file.
Type Documentation¶
-
type
mom_surface_forcing/surface_forcing_cs¶ Structure containing pointers to the forcing fields that may be used to drive MOM. All fluxes are positive into the ocean.
- Type fields:
%urf_cs[type( user_revise_forcing_cs ),pointer] :: Control structures for named forcing packages.%user_forcing_csp[type( user_surface_forcing_cs ),pointer] :: Control structures for named forcing packages.%bfb_forcing_csp[type( bfb_surface_forcing_cs ),pointer] :: Control structures for named forcing packages.%dumbbell_forcing_csp[type( dumbbell_surface_forcing_cs ),pointer] :: Control structures for named forcing packages.%meso_forcing_csp[type( meso_surface_forcing_cs ),pointer] :: Control structures for named forcing packages.%idealized_hurricane_csp[type( idealized_hurricane_cs ),pointer] :: Control structures for named forcing packages.%scm_cvmix_tests_csp[type( scm_cvmix_tests_cs ),pointer] :: Control structures for named forcing packages.%marbl_forcing_csp[type( marbl_forcing_cs ),pointer] :: Control structures for named forcing packages.%use_temperature[logical] :: if true, temp & salinity used as state variables%restorebuoy[logical] :: if true, use restoring surface buoyancy forcing%adiabatic[logical] :: if true, no diapycnal mass fluxes or surface buoyancy forcing%nonbous[logical] :: If true, this run is fully non-Boussinesq.%variable_winds[logical] :: if true, wind stresses vary with time%variable_buoyforce[logical] :: if true, buoyancy forcing varies with time.%south_lat[real] :: southern latitude of the domain [degrees_N] or [km] or [m]%len_lat[real] :: domain length in latitude [degrees_N] or [km] or [m]%rho0[real] :: Boussinesq reference density [R ~> kg m-3].%g_earth[real] :: gravitational acceleration [L2 Z-1 T-2 ~> m s-2]%flux_const[real] :: piston velocity for surface restoring [Z T-1 ~> m s-1]%flux_const_t[real] :: piston velocity for surface temperature restoring [Z T-1 ~> m s-1]%flux_const_s[real] :: piston velocity for surface salinity restoring [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].%latent_heat_fusion[real] :: latent heat of fusion times [Q ~> J kg-1]%latent_heat_vapor[real] :: latent heat of vaporization [Q ~> J kg-1]%tau_x0[real] :: Constant zonal wind stress used in the WIND_CONFIG=”const” forcing [R L Z T-2 ~> Pa].%tau_y0[real] :: Constant meridional wind stress used in the WIND_CONFIG=”const” forcing [R L Z T-2 ~> Pa].%taux_mag[real] :: Peak magnitude of the zonal wind stress for several analytic profiles [R L Z T-2 ~> Pa].%gust_const[real] :: constant unresolved background gustiness for ustar [R Z2 T-2 ~> Pa]%read_gust_2d[logical] :: if true, use 2-dimensional gustiness supplied from a file%gust[real(:,:),pointer] :: spatially varying unresolved background gustiness [R L Z T-2 ~> Pa] gust is used when read_gust_2d is true.%t_restore[real(:,:),pointer] :: temperature to damp (restore) the SST to [C ~> degC]%s_restore[real(:,:),pointer] :: salinity to damp (restore) the SSS [S ~> ppt]%dens_restore[real(:,:),pointer] :: density to damp (restore) surface density [R ~> kg m-3]%gyres_taux_const[real] :: A constant wind stress [R L Z T-2 ~> Pa].%gyres_taux_sin_amp[real] :: The amplitude of cosine wind stress gyres [R L Z T-2 ~> Pa], if WIND_CONFIG==’gyres’.%gyres_taux_cos_amp[real] :: The amplitude of cosine wind stress gyres [R L Z T-2 ~> Pa], if WIND_CONFIG==’gyres’.%gyres_taux_n_pis[real] :: The number of sine lobes in the basin if WIND_CONFIG==’gyres’ [nondim].%answer_date[integer] :: This 8-digit integer gives the approximate date with which the order of arithmetic and expressions were added to the code. Dates before 20190101 use original answers. Dates after 20190101 use a form of the gyre wind stresses that are rotationally invariant and more likely to be the same between compilers.%ustar_gustless_bug[logical] :: If true, include a bug in the time-averaging of the gustless wind friction velocity.%use_marbl_tracers[logical] :: If true, allocate memory for forcing needed by MARBL.%scurves_ydata[real(20)] :: Latitudes of scurve nodes [degreesN].%scurves_taux[real(20)] :: Zonal wind stress values at scurve nodes [R L Z T-2 ~> Pa].%t_north[real] :: Target temperatures at north used in buoyancy_forcing_linear [C ~> degC].%t_south[real] :: Target temperatures at south used in buoyancy_forcing_linear [C ~> degC].%s_north[real] :: Target salinity at north used in buoyancy_forcing_linear [S ~> ppt].%s_south[real] :: Target salinity at south used in buoyancy_forcing_linear [S ~> ppt].%first_call_set_forcing[logical] :: True until after the first call to set_forcing.%archaic_omip_file[logical] :: If true use the variable names and data fields from a very old version of the OMIP forcing.%dataoverrideisinitialized[logical] :: If true, data override has been initialized.%wind_scale[real] :: value by which wind-stresses are scaled [nondim]%constantheatforcing[real] :: value used for sensible heat flux when buoy_config=”const” [Q R Z T-1 ~> W m-2]%wind_stagger[character (len=8)] :: A character indicating how the wind stress components are staggered in WIND_FILE. Valid values are A or C for now.%tracer_flow_csp[type( tracer_flow_control_cs ),pointer] :: A pointer to the structure that is used to orchestrate the calling of tracer packages.%restart_csp[type( mom_restart_cs ),pointer] :: A pointer to the restart control structure.%diag[type( diag_ctrl ),pointer] :: structure used to regulate timing of diagnostic output%inputdir[character (len=200)] :: directory where NetCDF input files are.%wind_config[character (len=200)] :: indicator for wind forcing type (2gyre, USER, FILE..)%wind_file[character (len=200)] :: if wind_config is “file”, file to use%buoy_config[character (len=200)] :: indicator for buoyancy forcing type%longwave_file[character (len=200)] :: The file from which the longwave heat flux is read.%shortwave_file[character (len=200)] :: The file from which the shortwave heat flux is read.%evaporation_file[character (len=200)] :: The file from which the evaporation is read.%sensibleheat_file[character (len=200)] :: The file from which the sensible heat flux is read.%latentheat_file[character (len=200)] :: The file from which the latent heat flux is read.%rain_file[character (len=200)] :: The file from which the rainfall is read.%snow_file[character (len=200)] :: The file from which the snowfall is read.%runoff_file[character (len=200)] :: The file from which the runoff is read.%longwaveup_file[character (len=200)] :: The file from which the upward longwave heat flux is read.%shortwaveup_file[character (len=200)] :: The file from which the upward shortwave heat flux is read.%sstrestore_file[character (len=200)] :: The file from which to read the sea surface temperature to restore toward.%salinityrestore_file[character (len=200)] :: The file from which to read the sea surface salinity to restore toward.%stress_x_var[character (len=80)] :: X-wind stress variable name in the input file.%stress_y_var[character (len=80)] :: Y-wind stress variable name in the input file.%ustar_var[character (len=80)] :: ustar variable name in the input file%lw_var[character (len=80)] :: longwave heat flux variable name in the input file%sw_var[character (len=80)] :: shortwave heat flux variable name in the input file%latent_var[character (len=80)] :: latent heat flux variable name in the input file%sens_var[character (len=80)] :: sensible heat flux variable name in the input file%evap_var[character (len=80)] :: evaporation variable name in the input file%rain_var[character (len=80)] :: rainfall variable name in the input file%snow_var[character (len=80)] :: snowfall variable name in the input file%lrunoff_var[character (len=80)] :: liquid runoff variable name in the input file%frunoff_var[character (len=80)] :: frozen runoff variable name in the input file%sst_restore_var[character (len=80)] :: target sea surface temperature variable name in the input file%sss_restore_var[character (len=80)] :: target sea surface salinity variable name in the input file%wind_days_per_rec[integer] :: If positive the number of days of wind stress per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%sw_days_per_rec[integer] :: If positive the number of days shortwave heat flux per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%lw_days_per_rec[integer] :: If positive the number of days longwave heat flux per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%latent_days_per_rec[integer] :: If positive the number of days latent heat flux per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%sens_days_per_rec[integer] :: If positive the number of days sensible heat flux per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%evap_days_per_rec[integer] :: If positive the number of days evaporation per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%precip_days_per_rec[integer] :: If positive the number of days precipitation per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%runoff_days_per_rec[integer] :: If positive the number of days runoff per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%sst_days_per_rec[integer] :: If positive the number of days target SST per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%sss_days_per_rec[integer] :: If positive the number of days target SSS per forcing file time level, or if negative the number of time levels per day. If 31 change forcing monthly, or if 0 the model will guess the right value based on the file size.%wind_nlev[integer] :: The number of time levels in the file of wind stress.%sw_nlev[integer] :: The number of time levels in the file of shortwave heat flux.%lw_nlev[integer] :: The number of time levels in the file of longwave heat flux.%latent_nlev[integer] :: The number of time levels in the file of latent heat flux.%sens_nlev[integer] :: The number of time levels in the file of sensible heat flux.%evap_nlev[integer] :: The number of time levels in the file of evaporation.%precip_nlev[integer] :: The number of time levels in the file of precipitation.%runoff_nlev[integer] :: The number of time levels in the file of runoff.%sst_nlev[integer] :: The number of time levels in the file of target SST.%sss_nlev[integer] :: The number of time levels in the file of target SSS.%wind_last_lev[integer] :: The last time level read of wind stress.%sw_last_lev[integer] :: The last time level read of shortwave heat flux.%lw_last_lev[integer] :: The last time level read of longwave heat flux.%latent_last_lev[integer] :: The last time level read of latent heat flux.%sens_last_lev[integer] :: The last time level read of sensible heat flux.%evap_last_lev[integer] :: The last time level read of evaporation.%precip_last_lev[integer] :: The last time level read of precipitation.%runoff_last_lev[integer] :: The last time level read of runoff.%sst_last_lev[integer] :: The last time level read of target SST.%sss_last_lev[integer] :: The last time level read of target SSS.%handles[type( forcing_diags ),public] :: A structure with diagnostics handles.
Function/Subroutine Documentation¶
-
subroutine
mom_surface_forcing/set_forcing(sfc_state, forces, fluxes, day_start, day_interval, G, US, CS)¶ Calls subroutines in this file to get surface forcing fields.
It also allocates and initializes the fields in the forcing and mech_forcing types the first time it is called.
- 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
fluxes :: [inout] A structure containing thermodynamic forcing fields
day_start :: [in] The start time of the fluxes
day_interval :: [in] Length of time over which these fluxes applied
g :: [inout] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
buoyancy_forcing_constbuoyancy_forcing_from_data_overridebuoyancy_forcing_from_filesbuoyancy_forcing_linearbuoyancy_forcing_zeromom_tracer_flow_control::call_tracer_set_forcingmom_error_handler::calltree_entermom_error_handler::calltree_leavedumbbell_surface_forcing::dumbbell_buoyancy_forcingid_clock_forcingmarbl_forcing_from_data_overrideneverworld_wind_forcingscurve_wind_forcingwind_forcing_1gyrewind_forcing_2gyrewind_forcing_by_data_overridewind_forcing_constwind_forcing_from_filewind_forcing_gyres- Called from:
mom6
-
subroutine
mom_surface_forcing/wind_forcing_const(sfc_state, forces, tau_x0, tau_y0, day, G, US, CS)¶ Sets the surface wind stresses to constant values.
- 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
tau_x0 :: [in] The zonal wind stress [R Z L T-2 ~> Pa]
tau_y0 :: [in] The meridional wind stress [R Z L T-2 ~> Pa]
day :: [in] The time of the fluxes
g :: [in] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leave- Called from:
-
subroutine
mom_surface_forcing/wind_forcing_2gyre(sfc_state, forces, day, G, US, CS)¶ Sets the surface wind stresses to set up two idealized gyres.
- 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 :: [in] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leavestresses_to_ustar- Called from:
-
subroutine
mom_surface_forcing/wind_forcing_1gyre(sfc_state, forces, day, G, US, CS)¶ Sets the surface wind stresses to set up a single idealized gyre.
- 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 :: [in] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leavestresses_to_ustar- Called from:
-
subroutine
mom_surface_forcing/wind_forcing_gyres(sfc_state, forces, day, G, US, CS)¶ Sets the surface wind stresses to set up idealized gyres.
- 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 :: [in] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leavestresses_to_ustar- Called from:
-
subroutine
mom_surface_forcing/neverworld_wind_forcing(sfc_state, forces, day, G, US, CS)¶ Sets the surface wind stresses, forcestaux and forcestauy for the Neverworld forcing configuration.
- 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] Time used for determining the fluxes.
g :: [inout] Grid structure.
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
- Called from:
-
subroutine
mom_surface_forcing/scurve_wind_forcing(sfc_state, forces, day, G, US, CS)¶ Sets the zonal wind stresses to a piecewise series of s-curves.
- 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] Time used for determining the fluxes.
g :: [inout] Grid structure.
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
- Called from:
-
function
mom_surface_forcing/scurve(x, L) [real]¶ Returns the value of a cosine-bell function evaluated at x/L.
- Parameters:
x :: [in] non-dimensional position [nondim]
l :: [in] non-dimensional width [nondim]
- Called from:
-
subroutine
mom_surface_forcing/wind_forcing_from_file(sfc_state, forces, day, G, US, CS)¶ - 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 :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leaveget_file_time_levelmom_string_functions::uppercase- Called from:
-
subroutine
mom_surface_forcing/wind_forcing_by_data_override(sfc_state, forces, day, G, US, CS)¶ - 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 :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leave- Called from:
-
subroutine
mom_surface_forcing/stresses_to_ustar(forces, G, US, CS)¶ Translate the wind stresses into the friction velocity, including effects of background gustiness.
- Parameters:
forces :: [inout] A structure with the driving mechanical forces
g :: [in] Grid structure.
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Called from:
neverworld_wind_forcingscurve_wind_forcingwind_forcing_1gyrewind_forcing_2gyrewind_forcing_gyres
-
subroutine
mom_surface_forcing/buoyancy_forcing_from_files(sfc_state, fluxes, day, dt, G, US, CS)¶ Specifies zero surface buoyancy fluxes from input files.
- 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 :: [inout] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leaveget_file_time_level- Called from:
-
subroutine
mom_surface_forcing/buoyancy_forcing_from_data_override(sfc_state, fluxes, day, dt, G, US, CS)¶ Specifies zero surface buoyancy fluxes from data over-ride.
- 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 :: [inout] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leave- Called from:
-
subroutine
mom_surface_forcing/buoyancy_forcing_zero(sfc_state, fluxes, day, dt, G, CS)¶ This subroutine specifies zero surface buoyancy fluxes.
- 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
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leave- Called from:
-
subroutine
mom_surface_forcing/buoyancy_forcing_const(sfc_state, fluxes, day, dt, G, US, CS)¶ Sets up spatially and temporally constant surface heat fluxes.
- 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 :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leave- Called from:
-
subroutine
mom_surface_forcing/buoyancy_forcing_linear(sfc_state, fluxes, day, dt, G, US, CS)¶ Sets surface fluxes of heat and salinity by restoring to temperature and salinity profiles that vary linearly with latitude.
- 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 :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leave- Called from:
-
function
mom_surface_forcing/get_file_time_level(Time, nlev_file, days_per_rec) [integer]¶ Return a time record to read from a file based on the model time, the number of time records in that file and the number of time records per model day.
- Parameters:
time :: [in] The time of the fluxes
nlev_file :: [in] The number of time records in a forcing file
days_per_rec :: [in] If positive, the number of days spanned by each time record in a file, if negative the number time records per day, or if 0 determine this by guessing based on the number of records in the file. If this is 31, the time levels will be based on the months of the calendar. Setting this larger than 1000000 will always cause the time level to be set to 1.
- Return:
undefined :: The time level in a file that will be read.
- Called from:
-
subroutine
mom_surface_forcing/marbl_forcing_from_data_override(fluxes, day, G, US, CS)¶ Sets the necessary MARBL forcings via the data override facility.
- Parameters:
fluxes :: [inout] A structure containing thermodynamic forcing fields
day :: [in] The time of the fluxes
g :: [inout] The ocean’s grid structure
us :: [in] A dimensional unit scaling type
cs :: pointer to control structure returned by a previous surface_forcing_init call
- Call to:
mom_error_handler::calltree_entermom_error_handler::calltree_leavemarbl_forcing_mod::convert_driver_fields_to_forcings- Called from:
-
subroutine
mom_surface_forcing/forcing_save_restart(CS, G, Time, directory, time_stamped, filename_suffix)¶ Save a restart file for the forcing fields.
- Parameters:
cs :: pointer to control structure returned by a previous surface_forcing_init call
g :: [inout] The ocean’s grid structure
time :: [in] model time at this call; needed for mpp_write calls
directory :: [in] directory into which to write these restart files
time_stamped :: [in] If true, the restart file names include a unique time stamp; the default is false.
filename_suffix :: [in] optional suffix (e.g., a time-stamp) to append to the restart file name
- Call to:
- Called from:
mom6
-
subroutine
mom_surface_forcing/surface_forcing_init(Time, G, US, param_file, diag, CS, tracer_flow_CSp)¶ Initialize the 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 :: [inout] structure used to regulate diagnostic output
cs :: pointer to control structure returned by a previous surface_forcing_init call
tracer_flow_csp :: Forcing for tracers?
- Call to:
bfb_surface_forcing::bfb_surface_forcing_initmom_get_input::get_mom_inputid_clock_forcingidealized_hurricane::idealized_hurricane_wind_initmeso_surface_forcing::meso_surface_forcing_initmom_io::num_timelevelsmom_restart::restart_init_endmom_restart::restore_stateuser_surface_forcing::user_surface_forcing_init- Called from:
mom6
-
subroutine
mom_surface_forcing/surface_forcing_end(CS, fluxes)¶ Deallocate memory associated with the surface forcing module.
- Parameters:
cs :: pointer to control structure returned by a previous surface_forcing_init call
fluxes :: [inout] A structure containing thermodynamic forcing fields
- Call to: