MOM6
mom_surface_forcing::surface_forcing_cs Type Reference

Detailed Description

Structure containing pointers to the forcing fields that may be used to drive MOM. All fluxes are positive into the ocean.

Definition at line 71 of file MOM_surface_forcing.F90.

Collaboration diagram for mom_surface_forcing::surface_forcing_cs:
[legend]

Public variables and constants

logical use_temperature
 if true, temp & salinity used as state variables
 
logical restorebuoy
 if true, use restoring surface buoyancy forcing
 
logical adiabatic
 if true, no diapycnal mass fluxes or surface buoyancy forcing
 
logical variable_winds
 if true, wind stresses vary with time
 
logical variable_buoyforce
 if true, buoyancy forcing varies with time.
 
real south_lat
 southern latitude of the domain
 
real len_lat
 domain length in latitude
 
real rho0
 Boussinesq reference density [kg m-3].
 
real g_earth
 gravitational acceleration [L2 Z-1 T-2 ~> m s-2]
 
real flux_const
 piston velocity for surface restoring [m s-1]
 
real flux_const_t
 piston velocity for surface temperature restoring [m s-1]
 
real flux_const_s
 piston velocity for surface salinity restoring [m s-1]
 
real latent_heat_fusion
 latent heat of fusion [J kg-1]
 
real latent_heat_vapor
 latent heat of vaporization [J kg-1]
 
real tau_x0
 Constant zonal wind stress used in the WIND_CONFIG="const" forcing.
 
real tau_y0
 Constant meridional wind stress used in the WIND_CONFIG="const" forcing.
 
real gust_const
 constant unresolved background gustiness for ustar [Pa]
 
logical read_gust_2d
 if true, use 2-dimensional gustiness supplied from a file
 
real, dimension(:,:), pointer gust => NULL()
 spatially varying unresolved background gustiness [Pa] gust is used when read_gust_2d is true.
 
real, dimension(:,:), pointer t_restore => NULL()
 temperature to damp (restore) the SST to [degC]
 
real, dimension(:,:), pointer s_restore => NULL()
 salinity to damp (restore) the SSS [ppt]
 
real, dimension(:,:), pointer dens_restore => NULL()
 density to damp (restore) surface density [kg m-3]
 
integer buoy_last_lev_read = -1
 The last time level read from buoyancy input files.
 
real gyres_taux_const
 A constant wind stress [Pa].
 
real gyres_taux_sin_amp
 The amplitude of cosine wind stress gyres [Pa], if WIND_CONFIG=='gyres'.
 
real gyres_taux_cos_amp
 The amplitude of cosine wind stress gyres [Pa], if WIND_CONFIG=='gyres'.
 
real gyres_taux_n_pis
 The number of sine lobes in the basin if if WIND_CONFIG=='gyres'.
 
logical answers_2018
 If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use a form of the gyre wind stresses that are rotationally invariant and more likely to be the same between compilers.
 
real t_north
 target temperatures at north used in buoyancy_forcing_linear
 
real t_south
 target temperatures at south used in buoyancy_forcing_linear
 
real s_north
 target salinity at north used in buoyancy_forcing_linear
 
real s_south
 target salinity at south used in buoyancy_forcing_linear
 
logical first_call_set_forcing = .true.
 True until after the first call to set_forcing.
 
logical archaic_omip_file = .true.
 If true use the variable names and data fields from a very old version of the OMIP forcing.
 
logical dataoverrideisinitialized = .false.
 If true, data override has been initialized.
 
real wind_scale
 value by which wind-stresses are scaled, ND.
 
real constantheatforcing
 value used for sensible heat flux when buoy_config="const"
 
character(len=8) wind_stagger
 A character indicating how the wind stress components are staggered in WIND_FILE. Valid values are A or C for now.
 
type(tracer_flow_control_cs), pointer tracer_flow_csp => NULL()
 A pointer to the structure that is used to orchestrate the calling of tracer packages.
 
type(mom_restart_cs), pointer restart_csp => NULL()
 A pointer to the restart control structure.
 
type(diag_ctrl), pointer diag
 structure used to regulate timing of diagnostic output
 
character(len=200) inputdir
 directory where NetCDF input files are.
 
character(len=200) wind_config
 indicator for wind forcing type (2gyre, USER, FILE..)
 
character(len=200) wind_file
 if wind_config is "file", file to use
 
character(len=200) buoy_config
 indicator for buoyancy forcing type
 
character(len=200) longwave_file = ''
 The file from which the longwave heat flux is read.
 
character(len=200) shortwave_file = ''
 The file from which the shortwave heat flux is read.
 
character(len=200) evaporation_file = ''
 The file from which the evaporation is read.
 
character(len=200) sensibleheat_file = ''
 The file from which the sensible heat flux is read.
 
character(len=200) latentheat_file = ''
 The file from which the latent heat flux is read.
 
character(len=200) rain_file = ''
 The file from which the rainfall is read.
 
character(len=200) snow_file = ''
 The file from which the snowfall is read.
 
character(len=200) runoff_file = ''
 The file from which the runoff is read.
 
character(len=200) longwaveup_file = ''
 The file from which the upward longwave heat flux is read.
 
character(len=200) shortwaveup_file = ''
 The file from which the upward shorwave heat flux is read.
 
character(len=200) sstrestore_file = ''
 The file from which to read the sea surface temperature to restore toward.
 
character(len=200) salinityrestore_file = ''
 The file from which to read the sea surface salinity to restore toward.
 
character(len=80) stress_x_var = ''
 X-windstress variable name in the input file.
 
character(len=80) stress_y_var = ''
 Y-windstress variable name in the input file.
 
character(len=80) ustar_var = ''
 ustar variable name in the input file
 
character(len=80) lw_var = ''
 lonngwave heat flux variable name in the input file
 
character(len=80) sw_var = ''
 shortwave heat flux variable name in the input file
 
character(len=80) latent_var = ''
 latent heat flux variable name in the input file
 
character(len=80) sens_var = ''
 sensible heat flux variable name in the input file
 
character(len=80) evap_var = ''
 evaporation variable name in the input file
 
character(len=80) rain_var = ''
 rainfall variable name in the input file
 
character(len=80) snow_var = ''
 snowfall variable name in the input file
 
character(len=80) lrunoff_var = ''
 liquid runoff variable name in the input file
 
character(len=80) frunoff_var = ''
 frozen runoff variable name in the input file
 
character(len=80) sst_restore_var = ''
 target sea surface temeperature variable name in the input file
 
character(len=80) sss_restore_var = ''
 target sea surface salinity variable name in the input file
 
integer wind_nlev = -1
 The number of time levels in the file of wind stress.
 
integer sw_nlev = -1
 The number of time levels in the file of shortwave heat flux.
 
integer lw_nlev = -1
 The number of time levels in the file of longwave heat flux.
 
integer latent_nlev = -1
 The number of time levels in the file of latent heat flux.
 
integer sens_nlev = -1
 The number of time levels in the file of sensible heat flux.
 
integer evap_nlev = -1
 The number of time levels in the file of evaporation.
 
integer precip_nlev = -1
 The number of time levels in the file of precipitation.
 
integer runoff_nlev = -1
 The number of time levels in the file of runoff.
 
integer sst_nlev = -1
 The number of time levels in the file of target SST.
 
integer sss_nlev = -1
 The number of time levels in the file of target SSS.
 
integer wind_last_lev = -1
 The last time level read of wind stress.
 
integer sw_last_lev = -1
 The last time level read of shortwave heat flux.
 
integer lw_last_lev = -1
 The last time level read of longwave heat flux.
 
integer latent_last_lev = -1
 The last time level read of latent heat flux.
 
integer sens_last_lev = -1
 The last time level read of sensible heat flux.
 
integer evap_last_lev = -1
 The last time level read of evaporation.
 
integer precip_last_lev = -1
 The last time level read of precipitation.
 
integer runoff_last_lev = -1
 The last time level read of runoff.
 
integer sst_last_lev = -1
 The last time level read of target SST.
 
integer sss_last_lev = -1
 The last time level read of target SSS.
 
type(forcing_diags), public handles
 A structure with diagnostics handles.
 
type(user_revise_forcing_cs), pointer urf_cs => NULL()
 Control structures for named forcing packages.
 
type(user_surface_forcing_cs), pointer user_forcing_csp => NULL()
 Control structures for named forcing packages.
 
type(bfb_surface_forcing_cs), pointer bfb_forcing_csp => NULL()
 Control structures for named forcing packages.
 
type(dumbbell_surface_forcing_cs), pointer dumbbell_forcing_csp => NULL()
 Control structures for named forcing packages.
 
type(meso_surface_forcing_cs), pointer meso_forcing_csp => NULL()
 Control structures for named forcing packages.
 
type(neverland_surface_forcing_cs), pointer neverland_forcing_csp => NULL()
 Control structures for named forcing packages.
 
type(idealized_hurricane_cs), pointer idealized_hurricane_csp => NULL()
 Control structures for named forcing packages.
 
type(scm_cvmix_tests_cs), pointer scm_cvmix_tests_csp => NULL()
 Control structures for named forcing packages.
 

The documentation for this type was generated from the following file: