MOM6
mom_forcing_type::forcing Type Reference

Detailed Description

Structure that contains pointers to the boundary forcing used to drive the liquid ocean simulated by MOM.

Data in this type is allocated in the module MOM_surface_forcing.F90, of which there are three: solo, coupled, and ice-shelf. Alternatively, they are allocated in MESO_surface_forcing.F90, which is a special case of solo_driver/MOM_surface_forcing.F90.

Definition at line 49 of file MOM_forcing_type.F90.

Collaboration diagram for mom_forcing_type::forcing:
[legend]

Public variables and constants

real, dimension(:,:), pointer ustar => NULL()
 surface friction velocity scale [Z T-1 ~> m s-1].
 
real, dimension(:,:), pointer ustar_gustless => NULL()
 surface friction velocity scale without any
 
real, dimension(:,:), pointer buoy => NULL()
 buoyancy flux [L2 T-3 ~> m2 s-3]
 
real, dimension(:,:), pointer sw => NULL()
 shortwave [W m-2]
 
real, dimension(:,:), pointer sw_vis_dir => NULL()
 visible, direct shortwave [W m-2]
 
real, dimension(:,:), pointer sw_vis_dif => NULL()
 visible, diffuse shortwave [W m-2]
 
real, dimension(:,:), pointer sw_nir_dir => NULL()
 near-IR, direct shortwave [W m-2]
 
real, dimension(:,:), pointer sw_nir_dif => NULL()
 near-IR, diffuse shortwave [W m-2]
 
real, dimension(:,:), pointer lw => NULL()
 longwave [W m-2] (typically negative)
 
real, dimension(:,:), pointer latent => NULL()
 latent [W m-2] (typically < 0)
 
real, dimension(:,:), pointer sens => NULL()
 sensible [W m-2] (typically negative)
 
real, dimension(:,:), pointer seaice_melt_heat => NULL()
 sea ice and snow melt or formation [W m-2] (typically negative)
 
real, dimension(:,:), pointer heat_added => NULL()
 additional heat flux from SST restoring or flux adjustments [W m-2]
 
real, dimension(:,:), pointer latent_evap_diag => NULL()
 latent [W m-2] from evaporating liquid water (typically < 0)
 
real, dimension(:,:), pointer latent_fprec_diag => NULL()
 latent [W m-2] from melting fprec (typically < 0)
 
real, dimension(:,:), pointer latent_frunoff_diag => NULL()
 latent [W m-2] from melting frunoff (calving) (typically < 0)
 
real, dimension(:,:), pointer evap => NULL()
 (-1)*fresh water flux evaporated out of the ocean [kg m-2 s-1]
 
real, dimension(:,:), pointer lprec => NULL()
 precipitating liquid water into the ocean [kg m-2 s-1]
 
real, dimension(:,:), pointer fprec => NULL()
 precipitating frozen water into the ocean [kg m-2 s-1]
 
real, dimension(:,:), pointer vprec => NULL()
 virtual liquid precip associated w/ SSS restoring [kg m-2 s-1]
 
real, dimension(:,:), pointer lrunoff => NULL()
 liquid river runoff entering ocean [kg m-2 s-1]
 
real, dimension(:,:), pointer frunoff => NULL()
 frozen river runoff (calving) entering ocean [kg m-2 s-1]
 
real, dimension(:,:), pointer seaice_melt => NULL()
 snow/seaice melt (positive) or formation (negative) [kg m-2 s-1]
 
real, dimension(:,:), pointer netmassin => NULL()
 Sum of water mass flux out of the ocean [kg m-2 s-1].
 
real, dimension(:,:), pointer netmassout => NULL()
 Net water mass flux into of the ocean [kg m-2 s-1].
 
real, dimension(:,:), pointer netsalt => NULL()
 Net salt entering the ocean [kgSalt m-2 s-1].
 
real, dimension(:,:), pointer heat_content_cond => NULL()
 heat content associated with condensating water [W m-2]
 
real, dimension(:,:), pointer heat_content_lprec => NULL()
 heat content associated with liquid >0 precip [W m-2] (diagnostic)
 
real, dimension(:,:), pointer heat_content_icemelt => NULL()
 heat content associated with snow/seaice melt/formation [W/m^2]
 
real, dimension(:,:), pointer heat_content_fprec => NULL()
 heat content associated with frozen precip [W m-2]
 
real, dimension(:,:), pointer heat_content_vprec => NULL()
 heat content associated with virtual >0 precip [W m-2]
 
real, dimension(:,:), pointer heat_content_lrunoff => NULL()
 heat content associated with liquid runoff [W m-2]
 
real, dimension(:,:), pointer heat_content_frunoff => NULL()
 heat content associated with frozen runoff [W m-2]
 
real, dimension(:,:), pointer heat_content_massout => NULL()
 heat content associated with mass leaving ocean [W m-2]
 
real, dimension(:,:), pointer heat_content_massin => NULL()
 heat content associated with mass entering ocean [W m-2]
 
real, dimension(:,:), pointer salt_flux => NULL()
 net salt flux into the ocean [kgSalt m-2 s-1]
 
real, dimension(:,:), pointer salt_flux_in => NULL()
 salt flux provided to the ocean from coupler [kgSalt m-2 s-1]
 
real, dimension(:,:), pointer salt_flux_added => NULL()
 additional salt flux from restoring or flux adjustment before adjustment
 
real, dimension(:,:), pointer p_surf_full => NULL()
 Pressure at the top ocean interface [Pa]. if there is sea-ice, then p_surf_flux is at ice-ocean interface.
 
real, dimension(:,:), pointer p_surf => NULL()
 Pressure at the top ocean interface [Pa] as used to drive the ocean model. If p_surf is limited, p_surf may be smaller than p_surf_full, otherwise they are the same.
 
real, dimension(:,:), pointer p_surf_ssh => NULL()
 Pressure at the top ocean interface [Pa] that is used in corrections to the sea surface height field that is passed back to the calling routines. p_surf_SSH may point to p_surf or to p_surf_full.
 
logical accumulate_p_surf = .false.
 If true, the surface pressure due to the atmosphere and various types of ice needs to be accumulated, and the surface pressure explicitly reset to zero at the driver level when appropriate.
 
real, dimension(:,:), pointer tke_tidal => NULL()
 tidal energy source driving mixing in bottom boundary layer [W m-2]
 
real, dimension(:,:), pointer ustar_tidal => NULL()
 tidal contribution to bottom ustar [Z T-1 ~> m s-1]
 
real, dimension(:,:), pointer ustar_berg => NULL()
 iceberg contribution to top ustar [Z T-1 ~> m s-1].
 
real, dimension(:,:), pointer area_berg => NULL()
 area of ocean surface covered by icebergs [m2 m-2]
 
real, dimension(:,:), pointer mass_berg => NULL()
 mass of icebergs [kg m-2]
 
real, dimension(:,:), pointer ustar_shelf => NULL()
 Friction velocity under ice-shelves [Z T-1 ~> m s-1]. as computed by the ocean at the previous time step.
 
real, dimension(:,:), pointer frac_shelf_h => NULL()
 Fractional ice shelf coverage of h-cells, nondimensional from 0 to 1. This is only associated if ice shelves are enabled, and are exactly 0 away from shelves or on land.
 
real, dimension(:,:), pointer iceshelf_melt => NULL()
 Ice shelf melt rate (positive) or freezing (negative) [m year-1].
 
real vprecglobaladj
 adjustment to restoring vprec to zero out global net [kg m-2 s-1]
 
real saltfluxglobaladj
 adjustment to restoring salt flux to zero out global net [kgSalt m-2 s-1]
 
real netfwglobaladj
 adjustment to net fresh water to zero out global net [kg m-2 s-1]
 
real vprecglobalscl
 scaling of restoring vprec to zero out global net ( -1..1 ) [nondim]
 
real saltfluxglobalscl
 scaling of restoring salt flux to zero out global net ( -1..1 ) [nondim]
 
real netfwglobalscl
 scaling of net fresh water to zero out global net ( -1..1 ) [nondim]
 
logical fluxes_used = .true.
 If true, all of the heat, salt, and mass fluxes have been applied to the ocean.
 
real dt_buoy_accum = -1.0
 The amount of time over which the buoyancy fluxes should be applied [s]. If negative, this forcing type variable has not yet been inialized.
 
real c_p
 heat capacity of seawater [J kg-1 degC-1]. C_p is is the same value as in thermovar_ptrs_type.
 
type(coupler_2d_bc_type) tr_fluxes
 This structure contains arrays of of named fields used for passive tracer fluxes. All arrays in tr_fluxes use the coupler indexing, which has no halos. This is not a convenient convention, but imposed on MOM6 by the coupler.
 
integer num_msg = 0
 Number of messages issued about excessive SW penetration.
 
integer max_msg = 2
 Maximum number of messages to issue about excessive SW penetration.
 

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