FlowSieve  3.4.0
FlowSieve Coarse-Graining Documentation
constants.hpp File Reference

Provide namespace for global constants (physical and computational). More...

#include <map>
#include <string>
Include dependency graph for constants.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 constants
 Provide namespace for global constants (physical and computational).
 

Macros

#define DEBUG   1
 Compile-time debug setting, specified in Makefile. More...
 

Enumerations

enum  constants::ParticleRecycleType : int {
  FixedInterval, Stochastic, FixedInterval, Stochastic,
  FixedInterval, Stochastic, FixedInterval, Stochastic,
  FixedInterval, Stochastic, FixedInterval, Stochastic,
  FixedInterval, Stochastic
}
 Variable indicating what recycling scheme should be used for particles. More...
 

Variables

const double constants::R_earth = 6371e3
 Mean radius of the Earth. More...
 
const bool constants::USE_HIGH_PRECISION_DISTANCE = false
 If spatial resolution is very high on sphere (less than ~50 metres or so), and high presision is needed in distance calculations, turn this on. More...
 
const double constants::rho0 = 1025
 Mean fluid density. More...
 
const double constants::g = 9.81
 (constant) acceleration due to gravity. More...
 
const int constants::DiffOrd = 4
 Differentiation order for finite differencing (currently must be 2, 4, or 6). More...
 
const double constants::fill_value = -1e8
 Fill value used to indicate land values in output files. More...
 
const signed short constants::fill_value_s = -32767
 Fill value used to indicate land values in output files (signed short) More...
 
const bool constants::DEFORM_AROUND_LAND = false
 Boolean indicating whether or not the kernel should deform around land. More...
 
const bool constants::FILTER_OVER_LAND = true
 Boolean to indicate whether or not land values should be filled in with coarse-grained results. More...
 
const bool constants::ZONAL_KERNEL_ONLY = false
 
const bool constants::EXTEND_DOMAIN_TO_POLES = true
 Boolean to indicate whether or not the input domain should have the latitude extended to reach the poles. More...
 
const bool constants::CARTESIAN = false
 Boolean indicating if the coordinate system is Cartesian. (If false, then spherical) More...
 
const bool constants::PERIODIC_X = true
 Boolean indicating if the coordinate system is periodic in x / longitude. More...
 
const bool constants::PERIODIC_Y = false
 Boolean indicating if the coordinate system is periodic in y / latitute. More...
 
const bool constants::UNIFORM_LON_GRID = true
 Boolean indicating if the longitude grid is uniform. More...
 
const bool constants::UNIFORM_LAT_GRID = true
 Boolean indicating if the latitude grid is uniform. More...
 
const bool constants::FULL_LON_SPAN = true
 Boolean indicating if the provided longitude grid spans the full periodic domain. More...
 
const bool constants::COMP_VORT = true
 Boolean indicating if vorticity should be computed. More...
 
const bool constants::COMP_TRANSFERS = true
 Boolean indicating if non-linear transfers (Pi) should be computed. For coarse_grain.x, this is required to get fine (sub-filter) KE. More...
 
const bool constants::COMP_PI_HELMHOLTZ = false
 
const bool constants::COMP_BC_TRANSFERS = false
 Boolean indicating if baroclinic transfers (Lambda^m) should be computed. More...
 
const bool constants::COMP_WIND_FORCE = false
 Boolean to indicate if wind forcing should be computing (requires supplying wind terms) More...
 
const bool constants::DO_OKUBOWEISS_ANALYSIS = false
 Boolean to indicate if post-processing should also bin by Okubo-Weiss. More...
 
const bool constants::MINIMAL_OUTPUT = true
 Boolean indicating if user wants a minimal output. More...
 
const bool constants::NO_FULL_OUTPUTS = true
 Indicates that no full fields should be produced. More...
 
const bool constants::CAST_TO_SINGLE = false
 Boolean indicating if user wants to cast to float (single) output (reduces output size by factor 2, but also reduces precision) More...
 
const bool constants::CAST_TO_INT = false
 Boolean indicating if user wants to cast to int output (further reduces output size by factor 2, but also reduces precision) More...
 
const bool constants::DO_TIMING = false
 Boolean indicating if we want to output internal timings. More...
 
const bool constants::APPLY_POSTPROCESS = true
 Boolean indicating whether or not the postprocess routines should be applied. More...
 
const bool constants::POSTPROCESS_DO_ZONAL_MEANS = true
 Boolean indicating whether or not the postprocess routines should include zonal means. More...
 
const bool constants::POSTPROCESS_DO_TIME_MEANS = false
 Boolean indicating whether or not the postprocess routines should include time means (i.e. spatial maps) More...
 
const int constants::KERNEL_OPT = 4
 Integer flag indicating the choice of kernel. More...
 
const double constants::KernPad = 2.5
 Scale factor for kernel search radius. More...
 
const int constants::PARTICLE_RECYCLE_TYPE = ParticleRecycleType::FixedInterval
 
const std::map< std::string, std::string > constants::variable_descriptions
 A dictionary of variable descriptions to provide details in netcdf outputs. More...
 
const std::map< std::string, std::string > constants::variable_units
 A dictionary of variable units to provide details in netcdf outputs. More...
 
const std::string constants::spatial_average_description = "The lat/lon average computed over each defined region (see region dimension)."
 Human-friendly text that is added to all region-average variables in postprocessing outputs. More...
 
const std::string constants::zonal_average_description = "The zonal (longitudinal) average computed at each latitude."
 Human-friendly text that is added to all zonal-average variables in postprocessing outputs. More...
 
const std::string constants::time_average_description = "Time average over the entire provided dataset."
 Human-friendly text that is added to all time-average variables in postprocessing outputs. More...
 
const std::string constants::OkuboWeiss_average_description
 Human-friendly text that is added to all OkuboWeiss-average variables in postprocessing outputs. More...
 

Detailed Description

Provide namespace for global constants (physical and computational).

This header file provides a namespace to give a consistent source of constants.

Usage:

#include "constants.hpp"
...