Module: tabularAtmosphere¶
Executive Summary¶
The purpose of this module is to implement a tabular atmospheric model that returns density and temperature values at a specified altitude and planet. The module linearly interpolates tables and is a child of the base class Atmosphere.
The module is a sub-class of the Module: atmosphereBase base class. See that class for the nominal messages used and general instructions.
Detailed Module Description¶
The tabularAtmosphere module handles the following behavior:
- Linear interpolation when requested altitude lies within the range of values on the atmosphere table but is not already included in the list. 
- Iterates through the list until the requested altitude is greater than the previous value in the list and less than the next value. 
- Will interpolate between the altitude and return the interpolated density and temperature. 
Module Assumptions and Limitations¶
Returns density = 0 kg/m^3 and temperature = 0 K when altitude is outside range of provided data
OR if outside range set by (envMinReach, envMaxReach) if those module parameters are defined.
This module uses a python helper function as access to different atmospheric tables for various planets.
See Basilisk\supportData\AtmosphereData\support\README.txt for more detail on python
helper function and currently provided data tables.
User Guide¶
Required variables are altList, rhoList, and tempList, each a standard vector of doubles.
The lists must be sorted corresponding to ascending altitude, and be of the same nonzero length.
Altitude must be provided in meters, density in kg/m^3, and temperature in Kelvin.
- 
class TabularAtmosphere : public AtmosphereBase¶
- #include <tabularAtmosphere.h>tabular atmosphere model Public Functions - 
TabularAtmosphere()¶
- The constructor method initializes data list lengths to zero. - Returns
- void 
 
 - 
~TabularAtmosphere()¶
- Empty destructor method. - Returns
- void 
 
 Public Members - 
std::vector<double> altList¶
- vector of doubles of altitude values extracted from the atmosphere table 
 - 
std::vector<double> rhoList¶
- vector of doubles of density values extracted from the atmosphere table 
 - 
std::vector<double> tempList¶
- vector of doubles of temperature values extracted from the atmosphere table 
 - 
BSKLogger bskLogger¶
- — BSK Logging 
 Private Functions - 
void evaluateAtmosphereModel(AtmoPropsMsgPayload *msg, double currentTime)¶
- evaluate function interpolates from given data lists. Sets density and temp to 0 if altitude outside bounds of input lists OR if outside bounds of envMinReach and envMaxReach. - Returns
- void 
 
 - 
virtual void customReset(uint64_t CurrentClock)¶
- Reset method checks that the data lists for altitude, density, and temperature have been defined with equal nonzero lengths. - Returns
- void 
 
 
- 
TabularAtmosphere()¶