![]() |
FlowSieve
3.4.0
FlowSieve Coarse-Graining Documentation
|
Provide namespace for global constants (physical and computational). More...
Namespaces | |
| constants | |
| Provide namespace for global constants (physical and computational). | |
Macros | |
| #define | DEBUG 1 |
| Compile-time debug setting, specified in Makefile. More... | |
| #define | DEBUG 1 |
| Compile-time debug setting, specified in Makefile. More... | |
| #define | DEBUG 1 |
| Compile-time debug setting, specified in Makefile. More... | |
| #define | DEBUG 1 |
| Compile-time debug setting, specified in Makefile. More... | |
| #define | DEBUG 1 |
| Compile-time debug setting, specified in Makefile. More... | |
| #define | DEBUG 1 |
| Compile-time debug setting, specified in Makefile. More... | |
| #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... | |
| 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... | |
| 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... | |
| 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... | |
| 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... | |
| 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... | |
| 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_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 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... | |
Provide namespace for global constants (physical and computational).
| #define DEBUG 1 |
Compile-time debug setting, specified in Makefile.
| DEBUG | This is an integer than generally controls how much is printed during run-time. Higher values mean more print statements. |
| #define DEBUG 1 |
Compile-time debug setting, specified in Makefile.
| DEBUG | This is an integer than generally controls how much is printed during run-time. Higher values mean more print statements. |
| #define DEBUG 1 |
Compile-time debug setting, specified in Makefile.
| DEBUG | This is an integer than generally controls how much is printed during run-time. Higher values mean more print statements. |
| #define DEBUG 1 |
Compile-time debug setting, specified in Makefile.
| DEBUG | This is an integer than generally controls how much is printed during run-time. Higher values mean more print statements. |
| #define DEBUG 1 |
Compile-time debug setting, specified in Makefile.
| DEBUG | This is an integer than generally controls how much is printed during run-time. Higher values mean more print statements. |
| #define DEBUG 1 |
Compile-time debug setting, specified in Makefile.
| DEBUG | This is an integer than generally controls how much is printed during run-time. Higher values mean more print statements. |
| #define DEBUG 1 |
Compile-time debug setting, specified in Makefile.
| DEBUG | This is an integer than generally controls how much is printed during run-time. Higher values mean more print statements. |
| enum constants::ParticleRecycleType : int |
Variable indicating what recycling scheme should be used for particles.
| PARTICLE_RECYCLE_TYPE |
| enum constants::ParticleRecycleType : int |
Variable indicating what recycling scheme should be used for particles.
| PARTICLE_RECYCLE_TYPE |
| enum constants::ParticleRecycleType : int |
Variable indicating what recycling scheme should be used for particles.
| PARTICLE_RECYCLE_TYPE |
| enum constants::ParticleRecycleType : int |
Variable indicating what recycling scheme should be used for particles.
| PARTICLE_RECYCLE_TYPE |
| enum constants::ParticleRecycleType : int |
Variable indicating what recycling scheme should be used for particles.
| PARTICLE_RECYCLE_TYPE |
| enum constants::ParticleRecycleType : int |
Variable indicating what recycling scheme should be used for particles.
| PARTICLE_RECYCLE_TYPE |
| enum constants::ParticleRecycleType : int |
Variable indicating what recycling scheme should be used for particles.
| PARTICLE_RECYCLE_TYPE |
| const bool constants::APPLY_POSTPROCESS = true |
Boolean indicating whether or not the postprocess routines should be applied.
| APPLY_POSTPROCESS |
| const bool constants::CARTESIAN = false |
Boolean indicating if the coordinate system is Cartesian. (If false, then spherical)
| CARTESIAN |
| 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)
| CAST_TO_INT |
| 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)
| CAST_TO_SINGLE |
| const bool constants::COMP_BC_TRANSFERS = false |
Boolean indicating if baroclinic transfers (Lambda^m) should be computed.
| COMP_BC_TRANSFERS | Lambda transfers are currently in development and removed from main branch. This flag only activates PEtoKE conversion term using p and rho. |
| 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.
| COMP_TRANSFERS |
| const bool constants::COMP_VORT = true |
Boolean indicating if vorticity should be computed.
| COMP_VORT |
| const bool constants::COMP_WIND_FORCE = false |
Boolean to indicate if wind forcing should be computing (requires supplying wind terms)
| COMP_WIND_FORCE |
| const bool constants::DEFORM_AROUND_LAND = false |
Boolean indicating whether or not the kernel should deform around land.
| DEFORM_AROUND_LAND | If true, land is given zero weight (i.e. not factored into local average). If false, land is included in local average (treated as zero velocity |
| const int constants::DiffOrd = 4 |
Differentiation order for finite differencing (currently must be 2, 4, or 6).
| DiffOrd |
| const bool constants::DO_OKUBOWEISS_ANALYSIS = false |
Boolean to indicate if post-processing should also bin by Okubo-Weiss.
| DO_OKUBOWEISS_ANALYSIS |
| const bool constants::DO_TIMING = false |
Boolean indicating if we want to output internal timings.
| DO_TIMING |
| 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.
| EXTEND_DOMAIN_TO_POLES | If true, 'land' is added with a uniform grid spacing to make the domain reach both north and south poles If false, nothing happens. |
Set to false if not on a sphere
| const double constants::fill_value = -1e8 |
Fill value used to indicate land values in output files.
| fill_value |
| const signed short constants::fill_value_s = -32767 |
Fill value used to indicate land values in output files (signed short)
| fill_value_s |
| const bool constants::FILTER_OVER_LAND = true |
Boolean to indicate whether or not land values should be filled in with coarse-grained results.
| FILTER_OVER_LAND | If true, land values are filled in with the results of coarse-graining. Masks are removed when variables are loaded and filled in with constants If false, land values are maintained as land, and masked out |
Note that this does NOT affect the shape of filtering kernels.
| const bool constants::FULL_LON_SPAN = true |
Boolean indicating if the provided longitude grid spans the full periodic domain.
| FULL_LON_SPAN | i.e. is the first longitude point beside the last longitude point? |
This flag enables computational optimizations by allowing the kernel to simply be translated through lon, instead of having to recompute for each longitude index.
| const double constants::g = 9.81 |
(constant) acceleration due to gravity.
| g |
| const int constants::KERNEL_OPT = 4 |
Integer flag indicating the choice of kernel.
| KERNEL_OPT | 0 = tophat 1 = Hyper gaus ( exp( -x^4 ) ) 2 = Gaus ( exp( -x^2 ) ) 3 = sinc ( sinc( pi * x ) ) 4 = tanh ( 1 - tanh( (x - 1) / (0.1) ) ) |
| const double constants::KernPad = 2.5 |
Scale factor for kernel search radius.
| KernPad | Filter integral applied in circle of radius (filt_scale/2) * KernPad |
| const bool constants::MINIMAL_OUTPUT = true |
Boolean indicating if user wants a minimal output.
| MINIMAL_OUTPUT | Removes: fine velocities, coarse/fine KE, divergences |
| const bool constants::NO_FULL_OUTPUTS = true |
Indicates that no full fields should be produced.
| NO_FULL_OUTPUTS | Only results from APPLY_POSTPROCESS will be produced. |
If NO_FULL_OUTPUTS and not(APPLY_POSTPROCESS), the no outputs at all will be produced, so the code will simply halt immediately.
| const std::string constants::OkuboWeiss_average_description |
Human-friendly text that is added to all OkuboWeiss-average variables in postprocessing outputs.
| OkuboWeiss_average_description | i.e. for variables that are averaged over OkuboWeiss bins / histograms |
| const bool constants::PERIODIC_X = true |
Boolean indicating if the coordinate system is periodic in x / longitude.
| PERIODIC_X |
| const bool constants::PERIODIC_Y = false |
Boolean indicating if the coordinate system is periodic in y / latitute.
| PERIODIC_Y |
| const bool constants::POSTPROCESS_DO_TIME_MEANS = false |
Boolean indicating whether or not the postprocess routines should include time means (i.e. spatial maps)
| POSTPROCESS_DO_TIME_MEANS |
| const bool constants::POSTPROCESS_DO_ZONAL_MEANS = true |
Boolean indicating whether or not the postprocess routines should include zonal means.
| POSTPROCESS_DO_ZONAL_MEANS |
| const double constants::R_earth = 6371e3 |
Mean radius of the Earth.
| R_earth |
| const double constants::rho0 = 1025 |
Mean fluid density.
| rho0 |
| 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.
| spatial_average_description |
| 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.
| time_average_description |
| const bool constants::UNIFORM_LAT_GRID = true |
Boolean indicating if the latitude grid is uniform.
| UNIFORM_LAT_GRID |
| const bool constants::UNIFORM_LON_GRID = true |
Boolean indicating if the longitude grid is uniform.
| UNIFORM_LON_GRID |
| 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.
| USE_HIGH_PRECISION_DISTANCE | The default spherical distance caluclation, spherical law of cosines, has floating point errors for small distances (a couple metres or so). However, so long as your grid is very high resolution, this shouldn't be an issue. This is particularly true if: you are also using a continuous kernel and the filtering scales themselves also aren't very short (couple of metres or so). |
The test routine (Tests/distance_formulas.cpp) uses both methods on a specified grid and outputs the result. If you think you might need the high precision scheme, test it out there first.
| const std::map< std::string, std::string > constants::variable_descriptions |
A dictionary of variable descriptions to provide details in netcdf outputs.
| variable_descriptions |
| const std::map< std::string, std::string > constants::variable_units |
A dictionary of variable units to provide details in netcdf outputs.
| variable_units |
| 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.
| zonal_average_description |
| const bool constants::ZONAL_KERNEL_ONLY = false |
| ZONAL_KERNEL_ONLY |