AtmosAnalyzer

class Data_Reduction.tipping.AtmosAnalyzer(datacube)

Bases: object

Analyzer for environmental data contained in a weather data cube

Weather data cubes are created with the DSNFITSexaminer method get_wx_datacubes(), or the SessionAnalyzer method get_good_weather_data(). A weather data cube is a dict with keys ‘TAMBIENT’, ‘WINDDIRE’, ‘UNIXtime’, ‘TSYS’, ‘HUMIDITY’, ‘PRESSURE’, ‘ELEVATIO’, ‘WINDSPEE’. The data asociated with each key is a dict with numpy array for (SIG state) True and for False. The ‘TSYS’ array has four axes representing:

time index   - 0-based sequence in order of matplotlib datenum
subchannel   - CYCLE value
beam         - 1-based number sequence
IF           - 1-based number sequence, usually representing pol

The other keys have only a time axis.

Methods Summary

fit_Tsys_to_airmass([Tatm, linear])

Fit tipping curve data implicit in sessions elev and Tsys data

Methods Documentation

fit_Tsys_to_airmass(Tatm=250, linear=True)

Fit tipping curve data implicit in sessions elev and Tsys data

Returns numpy arrays with indices for sig/ref state, subchannel, beam, IF.

When linear=True then a straight line fit is performed. This would be appropriate when the TSYS units are not kelvin but count or something else. The parameters are zero airmass power intercept and its standard deviation, and power per airmass and its standard deviation.

If the Tsys units are in K, then a linear=False fit is appropriate, which fits the data to a radiative transfer model. The returned parameters are then the system temperature above the atmosphere, its standard deviation, and the optical depth per airmass and its standard deviation. The average of the physical temperature of the atmosphere defaults to 250 K.

:param Tatm : air temperature along line of sight :type Tatm : float

:param linear : use the linear (low tau) approximation :type linear : True