MOM6
|
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.
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. | |