Postprocessing Modules

AL52CO

Warning

This module depreciated for flights after 2021-01-12

Process CO concentration from the AL5002 instrument. The instrument provides counts, concentration, sensitivity, and zero. However, the sensitivity and zero step change after calibrations, which propogate through to the CO concentration provided by the instrument. To avoid post-calibration step changes, we assume that the sensitivity and zero drift linearly between calibrations, and interpolate across the step changes to produce smoother sensitivity and zero-offset curves. The CO concentration is then given by

\[\text{CO} = \frac{c - z_i}{S_i},\]

where \(c\) is the count reported by ther instrument, \(z_i\) is the linearly interpolated zero and \(S_i\) is the linearly interpolated sensitivity.

After a calibration, data continue to be flagged for 5 seconds, to allow for calibration gasses to be flushed from the system. Where available, the state of the V1 valve on the Fast Greenhouse Gas Analyser (FGGA) is used to identify and flag span calibrations.

Outputs

  • CO_AERO
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: CO_AERO_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Aero-Laser GmbH

    • instrument_model: AL5002

    • long_name: Mole fraction of Carbon Monoxide in air from the AERO AL5002 instrument

    • standard_name: mole_fraction_of_carbon_monoxide_in_air

    • units: ppb

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - The aircraft is on the ground, as indicated by WOW_IND.

  • co_out_of_range - The derived CO concentration is considered out of valid range.

  • in_calibration - The instrument is currently, or has recently been, in calibration. Data should be disregarded.

  • no_calibration - No calibration has yet been performed. Data should be disregarded.

  • counts_zero - The instrument is reporting zero counts. This is most likely erroneous.

AirSpeed

Calculates aircraft indicated and true air speeds. Mach number, \(M\), is calculated from static and dynamic pressures (here \(p\) and \(q\), derived as PS_RVSM and Q_RVSM, in processing module p_rvsm.py) using the standard calculation sp_mach defined in ppodd.utils.calcs:

\[M = \sqrt{5\left(1 + \frac{q}{p}\right)^{2/7} - 1}\]

Indicated airspeed is then given as

\[\text{IAS} = V_s M \sqrt{\frac{p}{P_\text{std}}},\]

where \(V_s\) is the speed of sound at standard temperature and pressure, and \(P_{std}\) is the surface pressure in the ICAO standard atmosphere.

True airspeed is given as

\[\text{TAS} = T_c V_s M \sqrt{\frac{T_\text{di}}{T_\text{std}}},\]

where \(T_c\) is a TAS correction term, defined in the flight constants, \(T_\text{di}\) is the temperature from the de-iced temperature sensor, and \(T_\text{std}\) is the surface temperature in the ICAO standard atmosphere.

Outputs

  • IAS_RVSM
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IAS_RVSM_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Indicated air speed from the aircraft RVSM (air data) system

    • units: m s-1

  • TAS_RVSM
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TAS_RVSM_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: True air speed from the aircraft RVSM (air data) system and deiced temperature

    • standard_name: platform_speed_wrt_air

    • units: m s-1

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • mach_out_of_range - Either static or dynamic pressure out of acceptable limits during calculation of mach number.

BBRFlux

Caluclates the corrected fluxes from the upper and lower clear dome and red dome pyranometers.

Note

Prior to software version 24.3.0, the BBRs were incorrectly labelled as manufactured by Kipp & Zonen. This has been corrected to The Eppley Laboratory inc. from version 24.3.0 onwards.

The thermistors in the pyranometers have a characteristic non-linear temperature dependence due to the manufacturing process. If not corrected for, this can lead to errors in temperature of up to 1 \(^\circ\text{C}\). A quintic equation has been fitted to the manufacturer provided corrections for a range of temperatures, providing a correction between \(-50 ^\circ\) C and \(40 ^\circ\) C to within \(\pm0.07\) \(^\circ\) C.

\[T_c = T + \left(\alpha_0 + T\left(\alpha_1 + T\left(\alpha_2 + T\left(\alpha_3 + T\left(\alpha_4 + T\alpha_5\right)\right)\right)\right)\right).\]

The polynomial coefficents \(\alpha_0\ldots\alpha_5\) are hard-coded, and take the values

\[\left[-0.774, 6.08\times10^{-2}, 2.47\times10^{-3}, -6.29\times10^{-5}, -8.78\times10^{-7}, 1.37\times10^{-8}\right].\]

The flux for each dome, \(F_d\), is calculated by subtracting a 10 second running mean of the zero from the signal. The flux is then corrected for temperature sensitivity using

\[F_{d_c} = \frac{F_d}{1 + T_c\left(\gamma_1 + T_c\left(\gamma_2 + T_c\gamma_3\right)\right)},\]

where \(T_c\) is the corrected dome thermistor temperature, and \(\gamma_n\) are the first \(n\) values in the dome constants array.

A threshold value, \(F_{\text{crit}} = 920\cos(\zeta)^{1.28}\), is used to determine whether the dome is in direct or diffuse radiation, with fluxes above \(F_{\text{crit}}\) (or \(F_{\text{crit}} / 2\) for red domes) assumed to indicate direct radiation. This expression for \(F_{\text{crit}}\) approximates the ‘German’ equation (ref?) but is simpler and remains positive at low sun elevations. If the flux is determined to be direct, then the upper radiometers are corrected for the pitch and roll of the aircraft (Ref: M/MRF/13/5):

\[F = \frac{F_{d_c}}{1 -f_r(\zeta)\left(1-c(\zeta)\frac{\cos\beta}{\cos\zeta} \right)}.\]

Here, \(f_r(\zeta)\) is the ratio of of direct:direct+diffuse radiation, currently assumed to be 0.95 for all solar zenith angles, \(c(\zeta)\) is a correction term for the cosine effect (Ref: Tech note 8, table 4). The angle between the solar zenith and normal-to-instrument, \(\beta\), is given by

\[\begin{split}\cos\beta &= \sin\phi\sin\zeta\sin\psi \\ &+ \cos\phi\cos\theta\cos\zeta \\ &- \cos\phi\sin\theta\sin\zeta\cos\psi,\end{split}\]

where \(\phi\) is the aircraft roll, \(\zeta\) is the solar zenith angle, \(\psi\) is the ‘sun heading’, the difference between the solar azimuth angle and the aircraft heading, and \(\theta\) is the aircraft pitch angle. Ref: Tech. note 7, page 10. Prior to this correction, platform relative pitch and roll offsets, determined through flying clear sky box patterns, are added to the instrument-derived pitch and roll. These are given as elements 4 and 5 in the flight constants for each dome.

Outputs

  • SW_DN_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SW_DN_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: The Eppley Laboratory inc.

    • instrument_model: PSP

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected downward short wave irradiance, clear dome

    • standard_name: downwelling_shortwave_flux_in_air

    • units: W m-2

  • SW_UP_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SW_UP_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: The Eppley Laboratory inc.

    • instrument_model: PSP

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected upward short wave irradiance, clear dome

    • standard_name: upwelling_shortwave_flux_in_air

    • units: W m-2

  • RED_DN_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: RED_DN_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: The Eppley Laboratory inc.

    • instrument_model: PSP

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected downward short wave irradiance, red dome

    • units: W m-2

  • RED_UP_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: RED_UP_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: The Eppley Laboratory inc.

    • instrument_model: PSP

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected upward short wave irradiance, red dome

    • units: W m-2

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • roll_limit_exceeded - The aircraft is in a roll exceeding the specified max roll limit of 7.0 degrees from horizontal.

  • low_sun_angle - The sun is low relative to the axis of the aircraft, exceeding the maximum allowed limit of 80.0 degrees.

  • flux_out_of_range - The calculated is outside of the specified allowable flux range [-20.0, 700.0] W/m2

BBRSols

Converts the raw voltages on the BBR channels to physical values via a linear calibration, using coefficients defined in the flight constants. Each radiometer provides a signal, a zero and a thermopile temperature.

Required calibration coefficients are CALUP1S, CALUP2S, CALLP1S, and CALLP2S. The forth character in each of these identifies whether the calibration is for an (U)pper or (L)ower radiometer, and the fifth and sixth characters indicate whether the calibration is for position 1 (P1) or position 2 (P2). The first two constants in each calibration array are \(n_0\) and \(n_1\) linear coefficents for the sensitivity, while the second two are the linear coefficients for the thermopile temperature.

Outputs

  • UP1S
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UP1S_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP VIS CLR SIG

    • units: W m-2

  • UP2S
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UP2S_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP VIS RED SIG

    • units: W m-2

  • UIRS
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UIRS_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP I/R SIGNAL

    • units: W m-2

  • UP1Z
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UP1Z_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP VIS CLR ZERO

    • units: W m-2

  • UP2Z
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UP2Z_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP VIS RED ZERO

    • units: W m-2

  • UIRZ
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UIRZ_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP I/R ZERO

    • units: W m-2

  • UP1T
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UP1T_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP VIS CLR TEMP

    • units: degree C

  • UP2T
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UP2T_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP VIS RED TEMP

    • units: degree C

  • UIRT
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: UIRT_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: UPP I/R TEMP

    • units: degree C

  • LP1S
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LP1S_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR VIS CLR SIG

    • units: W m-2

  • LP2S
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LP2S_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR VIS RED SIG

    • units: W m-2

  • LIRS
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LIRS_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR I/R SIGNAL

    • units: W m-2

  • LP1Z
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LP1Z_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR VIS CLR ZERO

    • units: W m-2

  • LP2Z
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LP2Z_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR VIS RED ZERO

    • units: W m-2

  • LIRZ
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LIRZ_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR I/R ZERO

    • units: W m-2

  • LP1T
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LP1T_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR VIS CLR TEMP

    • units: degree C

  • LP2T
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LP2T_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR VIS RED TEMP

    • units: degree C

  • LIRT
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LIRT_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: LWR I/R TEMP

    • units: degree C

Flags

Variables in this module use classic, value based flagging.

  • UP1S_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • UP2S_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • UIRS_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • UP1Z_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • UP2Z_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • UIRZ_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • UP1T_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • UP2T_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • UIRT_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LP1S_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LP2S_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LIRS_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LP1Z_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LP2Z_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LIRZ_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LP1T_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LP2T_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • LIRT_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

BuckCR2

This documentation adapted from FAAM document FAAM010015A (H. Price, 2016).

For further details see the FAAM Met. Handbook.

The core processed data for the Buck CR2 includes the mirror temperature and the volume mixing ratio of water vapour. Prior to September 2016, the water vapour pressure was calculated using using the parameterisation given by Hardy (1998), which is based on the ITS-90 formulations. In September 2016, the data processing was updated to use the Murphy and Koop (2000) parameterisation for water vapour pressure. The vapour pressure over liquid water is now calculated according to

\[\begin{split}\ln(p_{\text{liq}}) &= 54.842763 - \frac{6763.22}{T} - 4.21\ln{T} +0.000367 T\\ &+ \tanh\left(0.0415\left(T - 218.8\right)\right)\left(53.878 - \frac{331.22}{T} - 9.44523 \ln T + 0.014025 T \right),\end{split}\]

valid for \(123 < T < 332\) K. The vapour pressure over ice is calculated as follows:

\[\ln(p_\text{ice}) = 9.550426 - \frac{5723.265}{T} + 3.53068 \ln T -0.00728332 T,\]

valid above 110 K. The water vapour pressure inside the instrument, \(p_{\text{H}_2\text{O,Buck}}\) is calculated using either equation 1 or 2 depending on whether a dew point or a frost point has been observed. Above 273.15 K, a dew point is clearly observed. Below 243.15 K, we can be confident that a frost point is being measured. Between 243.15 and 273.15 K, a dew point is assumed if the mirror has not been below 243.15 K since it was last above 273.15 K and it has been below 273.15 K for less than ten minutes. If the mirror temperature is within the supercooled water regime but has been below 243.15 K since it was last at 273.15 K, or it has been below 273.15 K for more than ten minutes, a frost point is assumed. The fact that these are assumptions is reflected in the measurement uncertainty, described below.

The vapour pressure is converted to volume mixing ratio, \(r_{\text{H}_2\text{O}}\), as follows:

\[r_{\text{H}_2\text{O}} = \frac{e_f p_{\text{H}_2\text{O,Buck}}}{p_\text{Buck} - e_f p_{\text{H}_2\text{O,Buck}}},\]

where \(e_f\) is the enhancement factor given by Hardy (1998) and \(p_\text{Buck}\) is the air pressure inside the instrument.

A corrected dew or frost point is calculated, which is slightly different to the mirror temperature, correcting for the difference between the pressure inside the insturment and the static air pressure outside the aircraft. The water vapour pressure outside the aircraft is

\[p_{\text{H}_2\text{o,outside}} = \frac{p_s r_{\text{H}_2\text{O}}}{e_f + e_f r_{\text{H}_2\text{O}}},\]

where \(p_s\) is the static air pressure. A dew or frost point is then calculated using the Murphy and Koop (2005) parameterisation. Frost points are calculated using an equation given in the paper:

\[T_\text{frost,outside} = \frac{1.814625\ln{p_{\text{H}_2\text{O,outside}}} + 6190.134}{29.120 - \ln{p_{\text{H}_2\text{O,outside}}}}.\]

In the the absence of an equation to calculate dew point, a numerical solving routine is used to find \(T_\text{dew,outside}\) from Equation 1.

The uncertainty associated with the Buck CR2 measurements have several sources

  • The uncertainty associated with the calibration performed at NPL (where applicable). This is derived from the NPL expanded uncertainty and fit to a power law.

  • The repeatability of the calibration. This is derived from the NPL calibration measurements of different dew points and fit to a power law.

  • The response time of the instrument and the atmospheric variability. This is based on an assessment of the standard deviation of subsequent readings to give an indication of atmospheric variability.

  • The uncertainty involved in the interpolation of data between calibration datapoints. This is a function of temperature, increasing below 233.15 K.

  • The bias associated with the uncertainty about whether there is water or ice on the mirror between 243.15 and 273.15 K. This is calculated using a flagging scheme according to the temperature history of the mirror.

These are combined to produce one uncertainty value for the mirror temperature, which may be propagated through to the volume mixing ratio and the pressure-corrected dew or frost point. Note that prior to software version 0.10.1 the uncertainties are expanded uncertainties. From software version 0.10.1 onwards, the uncertainties are combined uncertainties, for consistency with other variables in the core dataset which have an associated uncertainty.

Outputs

  • VMR_CR2
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: VMR_CR2_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Buck Research Instruments

    • instrument_model: CR2 Chilled Mirror Hygrometer

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Water vapour volume mixing ratio measured by the Buck CR2

    • units: ppmv

  • VMR_C_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: VMR_C_U_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 1

    • instrument_manufacturer: Buck Research Instruments

    • instrument_model: CR2 Chilled Mirror Hygrometer

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Combined uncertainty estimate for water vapour volume mixing ratio measured by the Buck CR2

    • units: ppmv

  • TDEW_CR2
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TDEW_CR2_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Buck Research Instruments

    • instrument_model: CR2 Chilled Mirror Hygrometer

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Mirror Temperature measured by the Buck CR2 Hygrometer

    • standard_name: dew_point_temperature

    • units: degK

  • TDEW_C_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TDEW_C_U_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 1

    • instrument_manufacturer: Buck Research Instruments

    • instrument_model: CR2 Chilled Mirror Hygrometer

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Combined uncertainty estimate for Buck CR2 Mirror Temperature

    • units: degK

  • TDEWCR2C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TDEWCR2C_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Buck Research Instruments

    • instrument_model: CR2 Chilled Mirror Hygrometer

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected dew point temperature measured by the Buck CR2 Hygrometer

    • standard_name: dew_point_temperature

    • units: degK

Flags

Variables in this module use classic, value based flagging.

  • VMR_CR2_FLAG
    • 0: data_good - Data are considered valid

    • 1: not_controlling - The instrument is not controlling on a dew point

    • 2: mirror_contaminated - The instrument is reporting contamination on the mirror

    • 3: in_balance_cycle - The instrument is in a balance cycle and not recording a dew point

    • 4: data_missing - Data are expected but are not present

  • VMR_C_U_FLAG
    • 0: data_good - Data are considered valid

    • 1: not_controlling - The instrument is not controlling on a dew point

    • 2: mirror_contaminated - The instrument is reporting contamination on the mirror

    • 3: in_balance_cycle - The instrument is in a balance cycle and not recording a dew point

    • 4: data_missing - Data are expected but are not present

  • TDEW_CR2_FLAG
    • 0: data_good - Data are considered valid

    • 1: not_controlling - The instrument is not controlling on a dew point

    • 2: mirror_contaminated - The instrument is reporting contamination on the mirror

    • 3: in_balance_cycle - The instrument is in a balance cycle and not recording a dew point

    • 4: data_missing - Data are expected but are not present

  • TDEW_C_U_FLAG
    • 0: data_good - Data are considered valid

    • 1: not_controlling - The instrument is not controlling on a dew point

    • 2: mirror_contaminated - The instrument is reporting contamination on the mirror

    • 3: in_balance_cycle - The instrument is in a balance cycle and not recording a dew point

    • 4: data_missing - Data are expected but are not present

  • TDEWCR2C_FLAG
    • 0: data_good - Data are considered valid

    • 1: not_controlling - The instrument is not controlling on a dew point

    • 2: mirror_contaminated - The instrument is reporting contamination on the mirror

    • 3: in_balance_cycle - The instrument is in a balance cycle and not recording a dew point

    • 4: data_missing - Data are expected but are not present

CPC

Reports particle counts from the TSI 3786 condensation particle counter. Counts are reported as-is from the instrument; this module only provides flagging information.

Note

Prior to v23.3.0, the CPC included flags for both sample flow and sheath flow. These have been combined into a single flag, and a cloud flag has been added, as CPC data are not valid in cloud. The cloud flag is added by a separate flagging module.

Outputs

  • CPC_CNTS
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: CPC_CNTS_FLAG

    • comment: Sampled through a modified Rosemount Aerospace Inc. Type 102 Total Temperature Housing.

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 10

    • instrument_manufacturer: TSI Incorporated

    • instrument_model: Modified Water Filled 3786 Condensation Particle Counter

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Condensation Particle Counts measured by the TSI 3786

    • units: 1

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • saturator_over_temp - The saturator temperature is above 6 C

  • growth_tube_temp_out_of_range - Growth tube temperature is outside the valid range [40.5, 49.5] C

  • optics_temp_out_of_range - Optics temperature is outside the valid range [40.5, 49.5] C

  • sample_or_sheath_flow_out_of_range - Sample or sheath flows are outside the valid range [270, 330]

  • counter_saturated - Counter has exceeded its saturation value, 1000000

CabinPressure

Derives cabin pressure from a pressure transducer located in the core console. A polynomial fit, with coefficients provided in the constants variable CALCABP, converts DLU counts \(\rightarrow\) transducer voltage \(\rightarrow\) pressure.

Outputs

  • CAB_PRES
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: CAB_PRES_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Cabin Pressure

    • sensor_manufacturer: Rosemount Aerospace Inc.

    • sensor_model: 1201F2

    • sensor_serial_number: <str: derived_from_file>

    • units: hPa

Flags

Variables in this module use classic, value based flagging.

  • CAB_PRES_FLAG
    • 0: data_good - Data are considered valid

    • 1: pressure_out_of_range - Data are outside the valid range [650, 1050] hPa

CabinTemp

Derives cabin temperature from a sensor located on the right of the core console. A polynomial fit, with coefficients provided in the constants variable CALCABT, converts DLU counts \(\rightarrow\) raw \(\rightarrow\) temperature.

Outputs

  • CAB_TEMP
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: CAB_TEMP_FLAG

    • comment: Should be considered a qualitative measure only, due to lack of calibration and proximity to the core console

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Cabin temperature at the core consoles

    • units: degC

Flags

Variables in this module use classic, value based flagging.

  • CAB_TEMP_FLAG
    • 0: data_good - Data are considered valid

    • 1: sensor_uncalibrated - Indicates that the sensor is considered to be poorly calibrated. Temperatures are to be considered qualitative.

    • 2: data_missing - Data are expected, but are missing

DryMach

This module calculate a dry-air Mach number using RVSM pressure measurements.

Dry-air Mach number, \(M\), is given by

\[M = \sqrt{\left(\frac{2c_v}{R_a}\right)\left(\left(\frac{p+q}{q}\right)^\frac{R_a}{c_p} - 1\right)},\]

The module also provides the parameter SH_GAMMA, which is the ratio of specific heats at constant pressure and constant volume, along with uncertainty estimates for MACH and SH_GAMMA. The former is the combined uncertainty of the uncertainy in BAe report 127 and the uncertainty in gamma, while the latter is a constant and assumed to be 0.003, which is derived from the impact of neglecting humidity at the highest expected VMR of 35000 at 1100 hPa.

Outputs

  • MACH
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: MACH_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Dry air Mach derived from and RVSM

    • units: 1

  • SH_GAMMA
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SH_GAMMA_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Ratio of specific heats at constant pressure and constant pressure

    • units: 1

  • SH_GAMMA_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SH_GAMMA_CU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Uncertainty estimate for SH_GAMMA

    • units: 1

  • MACH_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: MACH_CU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Uncertainty estimate for MACH

    • units: 1

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - The aircraft is on the ground, as indicated by the weight-on-wheels indicator

ElectricFieldJci140

This module reports the raw counts from the JCI static monitor on the core console.

Outputs

  • EXX_JCI
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: EXX_JCI_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Raw data from the Fwd Core Console JCI static monitor, static signal

    • units: 1

Flags

Variables in this module use classic, value based flagging.

  • EXX_JCI_FLAG
    • 0: data_good - Data are assumed to be valid and representative of the physical quantity measured

    • 1: uncalibrated_counts - Indicates this data is raw, uncalibrated counts from the DLU. Use with caution.

ElectricFieldZeus

Provides the electric field measurement from the Zeus instrument. No processing is actually performed, the data reported by the instrument is simply passed through to the output, with the addition of a flag.

ZEUS is a window mounted static mill created by the MetOffice OBR group. It uses a sensor designed by Dr John Chubb (JCI 140) made by Hearn Morley/Fraser Anti-Static and an Arduino Uno to digitize the analogue signal. It is fitted in SW1.

Outputs

  • EXX_ZEUS
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: EXX_ZEUS_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Met Office OBR, Hearn Morley, Fraser Anti-Static

    • instrument_serial_number: 12230002

    • long_name: Electric field measured by the Zeus instrument

    • units: kV m-1

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - Aircraft is on the ground, as indicated by weight-on-wheels

GINWinds

Calculates a horizontal wind vector from the aircraft true air speed, derived from the air data computer, and the speed and heading from the GPS-aided inertial navigation unit.

The RVSM derived TAS is corrected to account for a discrepancy with the turbulence-probe derived TAS according to

\[\Delta\text{TAS} = -(4.0739 - (32.1681 M) + (52.7136 M^2))\]

where \(M\) is the Mach number, given by

\[M = \frac{\text{TAS}}{(661.4788 * 0.514444) \sqrt{\frac{T_{\text{DI}}} {288.15}}},\]

where \(T_\text{DI}\) is the air temperature measured in the deiced housing.

The resulting corrected TAS may also be modified with a scaling correction, specified in the constants as GINWIND_TASCOR.

The eastward and northward components of TAS, \(\text{TAS}_u\) and \(\text{TAS}_v\) are given by

\[\begin{split}\text{TAS}_u &= \text{TAS}\cos(\theta - 90),\\ \text{TAS}_v &= \text{TAS}\sin(\theta - 90).\end{split}\]

Where \(\theta\) is the aircraft heading, which may be corrected with an offset given in the constant GIN_HDG_OFFSET to account for any misalignment of the GIN to the aircraft axis. The horizontal winds \(u\) and \(v\) are then given by

\[\begin{split}u &= u_G - \text{TAS}_u,\\ v &= v_G + \text{TAS}_v,\end{split}\]

where \(u_G\) and \(v_G\) are the eastward and northward components of the aircraft speed, reported by the GIN.

Outputs

  • U_NOTURB
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: U_NOTURB_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Eastward wind component derived from aircraft instruments and GIN

    • standard_name: eastward_wind

    • units: m s-1

  • V_NOTURB
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: V_NOTURB_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Northward wind component derived from aircraft instruments and GIN

    • standard_name: northward_wind

    • units: m s-1

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • roll_exceeds_threshold - No flag description provided.

GeneralEastern

Processing module to calculate Dew Point temperature from the General Eastern 1011B chilled mirror hygrometer. Counts from the core console are converted to dew point with a polynomial fit, using coefficients provided in the flight constants paramater CALGE. The General Eastern provides a control signal voltage to indicate whether the instrument is controlling on a due point, and the data are flagged when outside this range. The valid range is provided through the flight constants parameter GELIMS.

Outputs

  • TDEW_GE
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TDEW_GE_FLAG

    • calibration_information: This instrument cannot be calibrated

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 4

    • instrument_manufacturer: General Eastern Instruments

    • instrument_model: 1011B Chilled Mirror Hygrometer

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Dew Point from the General Eastern instrument

    • standard_name: dew_point_temperature

    • units: degK

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • control_data_missing - No control data is available. The instrument may or may not be controlling on a dew point

  • control_out_of_range - The control signal is outside of the specified valid range [7000, 5000]

  • dewpoint_out_of_range - Dew point outside valid range [195, 394] K

Gin

This module provides variables from the Applanix POS AV 410 GPS-aided inertial navigation system (GIN). The GIN provides parameters at a frequency of 50 Hz; this module simply downsamples these parameters to 32 Hz.

The STATUS_GIN parameter gives the current solution status reported by the GIN. This is defined as

  • 0: Full Nav. (user accuracies met)

  • 1: Fine Align (heading RMS < 15 deg)

  • 2: GC CHI 2 (alignment w/ GPS, RMS heading error > 15 deg)

  • 3: PC CHI 2 (alignment w/o GPS, RMS heading error > 15 deg)

  • 4: GC GHI 1 (alignment w/ GPS, RMS heading error > 45 deg)

  • 5: PC CHI 1 (alignment w/o GPS, RMS heading error > 45 deg)

  • 6: Course levelling active

  • 7: Initial solution assigned

  • 8: No solution

Outputs

  • LAT_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LAT_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Latitude from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: latitude

    • units: degree_north

  • LON_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: LON_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Longitude from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: longitude

    • units: degree_east

  • ALT_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: ALT_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Altitude from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: altitude

    • units: m

  • VELN_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: VELN_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Aircraft velocity north from POS AV 410 GPS-aided Inertial Navigation unit

    • units: m s-1

  • VELE_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: VELE_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Aircraft velocity east from POS AV 410 GPS-aided Inertial Navigation unit

    • units: m s-1

  • VELD_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: VELD_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Aircraft velocity down from POS AV 410 GPS-aided Inertial Navigation unit

    • units: m s-1

  • ROLL_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: ROLL_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Roll angle from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: platform_roll_angle

    • units: degree

  • PTCH_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PTCH_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Pitch angle from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: platform_pitch_angle

    • units: degree

  • HDG_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: HDG_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Heading from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: platform_yaw_angle

    • units: degree

  • WAND_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: WAND_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Wander angle from POS AV 410 GPS-aided Inertial Navigation unit

    • units: degree s-1

  • TRCK_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TRCK_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Aircraft track angle from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: platform_course

    • units: degree

  • GSPD_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: GSPD_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Groundspeed from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: platform_speed_wrt_ground

    • units: m s-1

  • ROLR_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: ROLR_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Rate-of-change of roll angle from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: platform_roll_rate

    • units: degree s-1

  • PITR_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PITR_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Rate-of-change of pitch angle from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: platform_pitch_rate

    • units: degree s-1

  • HDGR_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: HDGR_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Rate-of-change of heading from POS AV 410 GPS-aided Inertial Navigation unit

    • standard_name: platform_yaw_rate

    • units: degree s-1

  • ACLF_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: ACLF_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Acceleration along the aircraft longitudinal axis from POS AV 410 GPS-aided Inertial Navigation unit (positive forward)

    • units: m s-2

  • ACLS_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: ACLS_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Acceleration along the aircraft transverse axis from POS AV 410 GPS-aided Inertial Navigation unit (positive starboard)

    • units: m s-2

  • ACLD_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: ACLD_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Acceleration along the aircraft vertical axis from POS AV 410 GPS-aided Inertial Navigation unit (positive down)

    • units: m s-2

  • STATUS_GIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: STATUS_GIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: Applanix

    • instrument_model: POS AV 410

    • long_name: Solution status from POS AV 410 GPS-aided Inertial Navigation unit

    • units: 1

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • no_solution - The GIN status flag indicates no solution has been obtained.

  • latlon_identically_zero - Latitude and Longitude are exactly zero. This indicates an erroneous data message.

Heimann

Processing for the Heimann Radiometer. The Heimann outputs a voltage with a range of 0 - 10 V corresponding to an inferred brightness temperature of \(-50\) - \(50\) \(^\circ\text{C}\). This module simply applies a linear transformation to the counts recorded on the DLU to convert counts \(\rightarrow\) volts \(\rightarrow\) temperature. During a calibration, temperature from the black body are reported. Parameters for the linear transformations are taken from the flight constant parameters HEIMCAL for the Heimann and PRTCCAL for the PRT on the black body.

Outputs

  • BTHEIM_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: BTHEIM_U_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 4

    • instrument_manufacturer: Heitronics

    • instrument_model: KT19.82

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Uncorrected brightness temperature from the Heimann radiometer

    • units: K

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - The aircraft is on the ground

  • data_out_of_range - Brightness temperature is outside the range 253.15 - 313.15 K

  • in_calibration - The Heimann is in a calibration cycle. Black body temperature is being reported

  • data_missing - Data are expected but not present

KippZonenPyrgeometer

Calculation of longwave fluxes from the upward and downward facing Kipp and Zonen CR4 Pyrgeometers.

The 0 - 32 mV output of the CR4 thermopile is mapped to a 4 - 20 mA signal in the amp box, which carries sensor specific calibrations, corresponding to a flux range of \(-600\) - \(200\) Wm\(^{-2}\). This is then converted to a voltage using a 350 \(\Omega\) resistor, which is recorded in the DLU, with 16 bits covering a \(-10\) - \(10\) V range. Similarly, the thermistor is placed in parallel with a 100 k\(\Omega\) linearising resistor, and 100 \(\mu\)A is passed through the combination, with the resulting voltage measured at the DLU.

This module first applies the inverse transformations to recover the amp box current and the thermistor resistance. The thermistor temperature is given by

\[T = \left(\alpha + \left(\beta\log\left(R\right) + \gamma\log\left(R\right)^3\right)\right)^{-1},\]

where \(R\) is the thermistor resistance and \(\alpha\), \(\beta\), and \(\gamma\) are calibration coefficients supplied by the manufacturer. The longwave flux, \(L_D\), is then given by

\[L_D = \beta(A - \alpha) - \gamma + \sigma T^4,\]

where \(\alpha = 4\), \(\beta=50\), and \(\gamma=600\) map the current from the amp box, \(A\), onto the specified range of flux values, \(T\) is the temperature recorded by the thermistor, and \(\sigma\) is the Stefan-Boltzmann constant.

Outputs

  • IR_UP_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IR_UP_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Kipp and Zonen

    • instrument_model: CGR 4

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected upward longwave irradiance

    • units: W m-2

  • IR_DN_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IR_DN_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Kipp and Zonen

    • instrument_model: CGR 4

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected downward longwave irradiance

    • units: W m-2

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - Aircraft is on the ground

Nephelometer

Provides data and flagging information from the TSI nephelometer. The data from the nephelometer do not require any further processing, however this module parses the instrument status information to provide a QC flag for the data.

Note

Prior to software version 24.0.0, this module used classic flagging. From version 24.0.0, the module uses bitmask flagging, and further flagging may be added by standalone flagging modules.

Outputs

  • TSC_BLUU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TSC_BLUU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Uncorrected blue total scattering coefficient from TSI 3563 Nephelometer

    • units: m-1

  • TSC_GRNU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TSC_GRNU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Uncorrected green total scattering coefficient from TSI 3563 Nephelometer

    • units: m-1

  • TSC_REDU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TSC_REDU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Uncorrected red total scattering coefficient from TSI 3563 Nephelometer

    • units: m-1

  • BSC_BLUU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: BSC_BLUU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Uncorrected blue back scattering coefficient from TSI 3563 Nephelometer

    • units: m-1

  • BSC_GRNU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: BSC_GRNU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Uncorrected green back scattering coefficient from TSI 3563 Nephelometer

    • units: m-1

  • BSC_REDU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: BSC_REDU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Uncorrected red back scattering coefficient from TSI 3563 Nephelometer

    • units: m-1

  • NEPH_PR
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NEPH_PR_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Internal sample pressure of the Nephelometer

    • units: hPa

  • NEPH_T
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NEPH_T_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Internal sample temperature of the Nephelometer

    • units: K

  • NEPH_RH
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NEPH_RH_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: TSI

    • instrument_model: 3563

    • long_name: Relative humidity from TSI 3563 Nephelometer

    • units: %

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • instrument_flag_raised - A fault has been raised by the instrument

Nevzorov

Post processing for liquid and total water from the Nevzorov Vane. Works with both 1T1L2R and 1T2L1R vanes, which should be specified in the flight constants as VANETYPE.

The Nevzorov hot-wire probe measures total and liquid water content by recording the powers required to hold exposed and sheltered wires at a constant temperature.

The water content, \(W\), measured by a collector is given by

\[W = \frac{P_c - K P_r}{V_t A L},\]

where \(P_c\) is the collector power, \(P_r\) is the reference power, \(K\) is the baseline, the ratio of \(P_c\) and \(P_r\) in clear air, \(V_t\) is the true air speed, \(A\) is the forward-facing area of the collector, and \(L\) is the energy required to melt and then evaporate the water impacted on the sensor, specified in the flight constants as CALNVL.

The baseline, \(K\), is not a true constant, but varies with the ambient conditions. Abel et al. (2014) parameterise \(K\) as a function of indicated air speed, \(V_\text{IAS}\) and ambient pressure, \(P\),

\[K = \alpha_\text{IAS}\frac{1}{V_\text{IAS}} + \alpha_P\log_{10}(P).\]

If, for any reason, the fitting above fails, then only the uncorrected outputs, using a constant \(K\) specified in the flight constants, are written to file.

The outputs listed produced by this module depend on the type of Nevzorov vane fitted to the aircraft. If an old-style 1T1L2R vane is fitted, then the default outputs are NV_TWC_U, NV_TWC_C, NV_LWC_U, NV_LWC_C. If a new-style 1T2L1R vane is fitted, then the default outputs are NV_TWC_U, NV_TWC_C, NV_LWC1_U, NV_LWC1_C, NV_LWC2_U, NV_LWC2_C.

Outputs

  • NV_TWC_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_TWC_C_FLAG

    • comment: Automatically baselined. May require further processing.

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected total condensed water content from the Nevzorov probe

    • units: gram m-3

  • NV_TWC_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_TWC_U_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Uncorrected total condensed water content from the Nevzorov probe

    • units: gram m-3

  • NV_TWC_COL_P
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_TWC_COL_P_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: TWC collector power

    • units: W

  • NV_TWC_REF_P
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_TWC_REF_P_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: TWC reference power

    • units: W

  • NV_REF_P
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_REF_P_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Reference power

    • units: W

  • NV_LWC_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC_C_FLAG

    • comment: Automatically baselined. May require further processing.

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected liquid water content from the Nevzorov probe

    • standard_name: mass_concentration_of_liquid_water_in_air

    • units: gram m-3

  • NV_LWC_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC_U_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Uncorrected liquid water content from the Nevzorov probe

    • units: gram m-3

  • NV_LWC_COL_P
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC_COL_P_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: LWC collector power

    • units: W

  • NV_LWC_REF_P
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC_REF_P_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: LWC reference power

    • units: W

  • NV_LWC1_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC1_C_FLAG

    • comment: Automatically baselined. May require further processing.

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected liquid water content from the Nevzorov probe (1st collector)

    • standard_name: mass_concentration_of_liquid_water_in_air

    • units: gram m-3

  • NV_LWC1_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC1_U_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Uncorrected liquid water content from the Nevzorov probe (1st collector)

    • units: gram m-3

  • NV_LWC1_COL_P
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC1_COL_P_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: LWC1 collector power

    • units: W

  • NV_LWC2_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC2_C_FLAG

    • comment: Automatically baselined. May require further processing.

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Corrected liquid water content from the Nevzorov probe (2nd collector)

    • standard_name: mass_concentration_of_liquid_water_in_air

    • units: gram m-3

  • NV_LWC2_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC2_U_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Uncorrected liquid water content from the Nevzorov probe (2nd collector)

    • units: gram m-3

  • NV_LWC2_COL_P
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_LWC2_COL_P_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: LWC2 collector power

    • units: W

  • NV_CLEAR_AIR_MASK
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: NV_CLEAR_AIR_MASK_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 64

    • instrument_manufacturer: Sky Phys Tech Inc.

    • instrument_model: <str: derived_from_file>

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Clear air mask based on Nevzorov Total Water power variance

    • units: None

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - The aircraft is on the ground

PRTTemperatureUncertainties

For further details see the FAAM Met. Handbook.

This module calculates combined uncertainty estimates for indicated and true air temperatures, when these are recorded with platinum resistance thermometers.

Uncertainties in the indicated temperatures are derived from:

  • Uncertainty in the thermometer calibration from NPL

  • Drift of sensors between NPL calibrations

  • Resolution uncertainty in the DECADES DLU

  • DECADES calibration uncertainty

  • Noise in the system when a fixed resistor is fitted

  • Keithley calibration

  • Keithley stability

  • DECADES calibration (counts to resistance) residual

  • NPL calibration (resistance to temperature) residual.

Uncertainties in the true air temperatures are derived from:

  • Uncertainty of the corresponding indicated air temperature

  • Uncertainty in the Mach number

  • Uncertainty in the ratio of specific heats

  • Uncertainty in the variable housing recovery factor.

Outputs

  • IAT_ND_R_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IAT_ND_R_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 32

    • long_name: Combined uncertainty estimate for IAT_ND_R

    • units: K

  • TAT_ND_R_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TAT_ND_R_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 32

    • long_name: Combined uncertainty estimate for TAT_ND_R

    • units: K

  • IAT_DI_R_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IAT_DI_R_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 32

    • long_name: Combined uncertainty estimate for IAT_DI_R

    • units: K

  • TAT_DI_R_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TAT_DI_R_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 32

    • long_name: Combined uncertainty estimate for TAT_DI_R

    • units: K

Flags

PRTTemperatures

For further details see the FAAM Met. Handbook.

Calculate indicated and true (static) air temperatures from the deiced and non-deiced Rosemount housings, when fitted with platinum resistance thermometer sensors. Indicated temperatures are calculated with a polynomial transformation of the DLU signal, using calibration factors in constants variables CALDIT and CALNDT, which incorporates the DLU and sensor calibrations.

The deiced indicated temperature is subject to a heating correction term when the heater is active, given by

\[\Delta T_{\text{IAT}} = \frac{1}{10}\exp{\left(\exp{\left(a + \left(\log\left(M\right)+b\right)\left(c\left(q+P\right)+d\right)\right) }\right),}\]

where \(M\) is the Mach number, \(q\) is the dynamic pressure and \(P\) the static pressure. The parameters \(a\), \(b\), \(c\), and \(s\) are

\[\left[1.171, 2.738, -0.000568, -0.452\right].\]

True air temperatures are a function of indicated temperatures, Mach number and housing recovery factor, and are given by

\[T_\text{TAT} = \frac{T_\text{IAT}}{1 + \left(0.2 R_f M^2\right)},\]

where \(M\) is the Mach number and \(R_f\) the recovery factor. Recovery factors are calculated in the processing module RecoveryFactor.

A flag is applied to the data when the Mach number is out of range. Further flags may be added by standalone flagging modules.

Outputs

  • TAT_ND_R
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TAT_ND_R_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • comment: Sensor housed in Rosemount Aerospace Inc. Type 102 non-deiced Total Temperature Housing

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: True air temperature from the Rosemount non-deiced temperature sensor

    • sensor_serial_number: <str: derived_from_file>

    • sensor_type: <str: derived_from_file>

    • standard_name: air_temperature

    • units: K

  • TAT_DI_R
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TAT_DI_R_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • comment: Sensor housed in Rosemount Aerospace Inc. Type 102 deiced Total Temperature Housing

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: True air temperature from the Rosemount deiced temperature sensor

    • sensor_serial_number: <str: derived_from_file>

    • sensor_type: <str: derived_from_file>

    • standard_name: air_temperature

    • units: K

  • IAT_ND_R
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IAT_ND_R_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • comment: Sensor housed in Rosemount Aerospace Inc. Type 102 non-deiced Total Temperature Housing

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Indicated air temperature from the Rosemount non-deiced temperature sensor

    • sensor_serial_number: <str: derived_from_file>

    • sensor_type: <str: derived_from_file>

    • units: K

  • IAT_DI_R
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IAT_DI_R_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • comment: Sensor housed in Rosemount Aerospace Inc. Type 102 deiced Total Temperature Housing

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Indicated air temperature from the Rosemount deiced temperature sensor

    • sensor_serial_number: <str: derived_from_file>

    • sensor_type: <str: derived_from_file>

    • units: K

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • mach_out_of_range - Mach number is below acceptable minimum of 0.05

PSAP

Reports data from the Radiance Research Particle Soot Absorbtion Photometer. The following transformations are applied to the data from the aerosol rack DLU:

\[F = \frac{F_\text{DLU}}{2},\]
\[P_\text{lin} = \frac{P_{\text{lin}_\text{DLU}}}{2\times10^{5}},\]
\[P_\text{log} = 10^{(P_{\text{log}_\text{DLU}} / 2) - 7},\]
\[T = \frac{T_\text{DLU}}{8},\]

where \(P_\text{lin}\), \(P_\text{log}\), \(F\), and \(T\) correspond to the outputs PSAP_LIN, PSAP_LOG, PSAP_FLO, and PSAP_TRA respectively.

Flagging is based on the flow rate and transmittance ratio limits.

Outputs

  • PSAP_FLO
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PSAP_FLO_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Radiance Research

    • long_name: PSAP Flow

    • units: l min-1

  • PSAP_LIN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PSAP_LIN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Radiance Research

    • long_name: Uncorrected absorbtion coefficient at 565nm, linear, from PSAP

    • units: m-1

  • PSAP_LOG
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PSAP_LOG_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Radiance Research

    • long_name: Uncorrected absorption coefficient at 565nm, log, from PSAP

    • units: 1

  • PSAP_TRA
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PSAP_TRA_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Radiance Research

    • long_name: PSAP Transmittance

    • units: percent

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • transmittance_out_of_range - Transmittance ratio is outside the valid range [0.5, 1.05

  • flow_out_of_range - PSAP flow is out of range. This most likely indicates that the PSAP interrupt is active, to prevent water ingress

RadAlt

Calculate the radar altitude, in metres. The radar altitude, from radalt2, is read from the aircraft ARINC-429 data bus at the rear core console, and recodred at a frequency of 2 Hz. The signal is received as a 16 bit signed integer, with a least significant bit resolution of 0.25 ft, giving a max valid value of \((((2^{16} / 2) - 1) / 4)\).

Data are flagged when below 10 feet or above 5000 feet, which is the nominal maximum range of the instrument, though altitude is reported up to 8000 ft.

Outputs

  • HGT_RADR
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: HGT_RADR_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 2

    • instrument_manufacturer: Thales

    • instrument_model: AVH16 Radar Altimeter

    • long_name: Radar height from the aircraft radar altimeter

    • standard_name: height

    • units: m

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • data_out_of_range - RadAlt reading outside valid range (10.00, 1524.00)

  • aircraft_on_ground - The aircraft is on the ground, as indicated by the weight on wheels flag.

RecoveryFactor

For further details see the FAAM Met. Handbook.

This module produces a Mach dependent recovery factor for the deiced and non-deiced Rosemount housings, which house the temperature probes.

The recovery factor for the non-deiced housing is given by Rosemount Aerospace as

\[\eta_{nd} = a_1 M + a_2 M^2\]

where \(a_1 = 0.0014054157\) and \(a_2 = -0.00060943146\)

The recovery factor for the deiced housing is calculated from in-flight data, under the assumption that the recovery factor given by Rosemount is correct. It is given by

\[\eta_{di} = 1 - \alpha\left(1 - \eta_{nd}\right),\]

where \(\alpha = 0.9989\) is the average ratio of deiced and non-deiced indicated temperatures. Further information is available in the FAAM Recovery Factor report (H. Price, document # FAAM013006).

Uncertainties are given by

\[\begin{split}\alpha_U &= 0.0006\\ \eta_{nd,U} &= -0.0003458119 M^2 + 0.00059345748 M\\ \eta_{di,U} &= ((\eta_{nd}-1)^2\alpha_U^2 + \alpha^2 \eta_{nd,U}^2)^\frac{1}{2}\end{split}\]

Outputs

  • ETA_ND
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Variable recovery factor for non-deiced Rosemount housing

    • units: 1

  • ETA_DI
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Variable recovery factor for deiced Rosemount housing

    • units: 1

  • ETA_ND_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: ETA_ND_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 32

    • long_name: Uncertainty in recovery factor for deiced Rosemount housing

    • units: 1

  • ETA_DI_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: ETA_DI_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 32

    • long_name: Uncertainty in recovery factor for non-deiced Rosemount housing

    • units: 1

Flags

Rvsm

Calculate derived parameters from the aircraft’s RVSM system. Pressure altitude and indicated air speed are obtained from the aircraft’s ARINC-429 data bus, with a least significant bit resolution of 4 ft and \(1/32\) kts respectively.

Static pressure, \(P\), is obtained from the pressure altitude, \(Z_p\), using the ICAO standard atmosphere,

\[P = P_0\left(\frac{T_0}{T_0 + L_0 \left(Z_p - h_0\right)}\right)^{\frac{g_0 M}{R L_0}},\]

where \(T_0=288.15\), \(L_0=-0.0065\), \(h_0=0\), \(g_0=9.80655\), \(M=0.0289644\), \(R=8.31432\), \(P_0=1013.25\) below 11000 m, or

\[P = P_1\exp\left(\frac{-g_0 M \left(Z_p - h_1\right)}{R T_1}\right),\]

where \(T_1=216.65\), \(P_1=226.321\), \(h_1=11000\), above 11000 m.

Pitot static pressure, \(q\), is given as

\[q = P \left(\frac{M^2}{5} + 1\right)^{\frac{7}{2}} - 1,\]

with the Mach number, \(M\), given by

\[M = \frac{V_{IAS}}{V_0 \sqrt{\frac{P}{P_0}}},\]

where \(V_0 = 340.294\) and \(P_0=1013.25\), and \(V_{IAS}\) is the indicated air speed.

Data are flagged where either the pressure altitude or indicated air speed are considered out of range.

Outputs

  • PS_RVSM
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PS_RVSM_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: BAE Systems

    • long_name: Static pressure from the aircraft RVSM (air data) system

    • standard_name: air_pressure

    • units: hPa

  • PALT_RVS
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PALT_RVS_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: BAE Systems

    • long_name: Pressure altitude from the aircraft RVSM (air data) system

    • standard_name: barometric_altitude

    • units: m

  • Q_RVSM
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: Q_RVSM_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • instrument_manufacturer: BAE Systems

    • long_name: Pitot static pressure inverted from RVSM (air data) system indicated airspeed

    • units: hPa

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • altitude_out_of_range - Pressure altitude outside acceptable range [-2000, 50000]

  • ias_out_of_range - Indicated air speed outside acceptable range [-50, 500]

S10Pressure

Calculate static pressure from the S10 fuselage ports. Static pressure is calulated by applying a polynomial transformation to the DLU signal. The coefficients, specified in the flight constants parameter CALS10SP, combine both the DLU and pressure transducer calibrations.

Data are flagged when they are considered out of range.

Outputs

  • P10_STAT
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: P10_STAT_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Static pressure from S10 fuselage ports

    • sensor_manufacturer: Rosemount Aerospace Inc.

    • sensor_model: 1201F2

    • sensor_serial_number: <str: derived_from_file>

    • standard_name: air_pressure

    • units: hPa

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • data_out_of_range - Pressure outside acceptable limits [100, 1050]

S9Pressure

Calculate static pressure from the S9 fuselage ports. Static pressure is calulated by applying a polynomial transformation to the DLU signal. The coefficients, specified in the flight constants parameter CALS9SP, combine both the DLU and pressure transducer calibrations. Additionally, a Mach dependent ‘position error’ correction term is applied, aimed at accounting for the unknown position error associated with the S9 port, derived by minimising errors between the S9 and RVSM static pressure measurements. This correction is of the form

\[\Delta P = \alpha M ^ \beta,\]

with parameters \(\alpha\) and \(\beta\) specified in the flight constants parameter S9_PE_C.

Data are flagged when they are considered out of range.

Outputs

  • P9_STAT
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: P9_STAT_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Static pressure from S9 fuselage ports

    • sensor_manufacturer: Rosemount Aerospace Inc.

    • sensor_model: 1201F2

    • sensor_serial_number: <str: derived_from_file>

    • standard_name: air_pressure

    • units: hPa

  • P9_STAT_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: P9_STAT_U_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Static pressure from S9 fuselage ports, uncorrected

    • sensor_manufacturer: Rosemount Aerospace Inc.

    • sensor_model: 1201F2

    • sensor_serial_number: <str: derived_from_file>

    • standard_name: air_pressure

    • units: hPa

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • data_out_of_range - Pressure outside acceptable limits [100, 1050]

SeaProbe

Calculates bulk water contents from the SEA WCM-2000 sensor.

Element Power

First element powers \(P = V*I\) are derived from recorded voltages and currents for each element (TWC, 083, 021, CMP, DCE).

Cloud mask

A cloud mask is derived using a rolling window applied to the TWC element temperature, with the aircraft assumed to be in cloud whenever the temperature range within the rolling window exceeds a specified range, or where the temperature withing the window exceeds a specified high or low value.

Parameters

Temperature of evaporation, \(T_{\text{evap}}\), and latent heat of evaporation, \(L_{\text{evap}}\), are given by

\[\begin{split}T_{\text{evap}} &= 32.16 + 0.1901 P - 2.391\times 10^{-4} P^2 + 1.785\times 10^{-7} P^3 - 5.19\times 10^4, \\ L_\text{evap} &= 4.1868\left( 594.4 - 0.484 T_\text{evap} - 7\times 10^{-4} T_\text{evap}^2 \right),\end{split}\]

where \(P\) is the static pressure from the aircraft’s air data system.

The specific energies for evaporation and sublimination, \(L_\text{liq}\) and \(L_\text{ice}\), are given by

\[L_\text{liq} = C_\text{liq}(T_\text{evap} - T_a) + L_\text{evap},\]

where \(T_a\) is the ambient air temperature, and

\[C_\text{liq}\left(T\right) = 4.169828 + (0.000364(T+100)^{5.26})\cdot10^{-10} + 0.046709 \cdot 10^{-0.036 T},\]

and

\[L_\text{ice} = C_\text{ice}(T) + L_\text{ice} + C_\text{liq}(T_\text{evap}) + L_\text{evap},\]

where \(L_\text{ice} = 333.5\), and \(C_\text{ice}\) is given by an interpolant between \(T = [77, 173, 273]\) and \(C = [0.686, 1.372, 2.097]\).

Dry air term

The dry air compensation term is calculated in two methods, with the method which gives the best fit meing used

  • Method 1: Calculate dry air power term by fitting constants for 1st principles.

The calculation of the dry air power term is based on method three as described on page 58 of the WCM-2000 manual. This uses a fit between the theoretical and measured (in cloud-free conditions) sense powers to find the fitting constants \(k_1\) and \(k_2\) (\(k_2\approx0.5\)).

\[\begin{split}P_\text{sense,dry} &= k_1 (T - T_a) (P \times \text{TAS})^{k_2} \\ P_\text{sense,total} &= P_\text{sense,dry} + P_\text{sense,wet} \\ &\rightarrow P_\text{sense,total} - P_\text{sense,dry} = 0 \text{ in cloud-free conditions.}\end{split}\]
  • Method 2: Calculate dry air power term from compensation element measurements.

The calculation of the dry air power term (DAT) is based on the use of the compensation element as described on page 56 of the WCM-2000 manual. This finds the slope and offset for conversion of the compensation power to dry air sense element power.

\[\begin{split}P_\text{sense,dry} &= P0 + K P_\text{comp} \\ P_\text{sense,total} &= P0 + K P_\text{comp} \text{ when in clear air}\end{split}\]

This will be TAS and \(P\) dependent (possibly \(T_a\)). This function determines optimum fitting parameters for the entire dataset, thus any baseline drift shall be lost.

Sense element water content

The water content for an element is given by

\[W = \frac{(2.389 \times 10^5) P_\text{sense}} {L_\text{evap} + (T_\text{evap} - T_a) \times \text{TAS} \times w \times h},\]

where \(P_\text{sense}\) is the (wet) sense element power, and \(w\) and \(h\) are the width and height of the sense element, respectively.

Note

The flags on upstream variables TAT_DI_R and TAS_RVSM are not included in the dependency_is_flagged flag of this variable, as these are likely to be flagged whenever the aircraft is in cloud.

Outputs

  • SEA_TWC_021
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SEA_TWC_021_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 20

    • instrument_manufacturer: Science Engineering Associates, Inc.

    • instrument_model: WCM-2000

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Total water content from the SEA WCM-2000 probe, element 021

    • units: g m-3

  • SEA_TWC_083
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SEA_TWC_083_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 20

    • instrument_manufacturer: Science Engineering Associates, Inc.

    • instrument_model: WCM-2000

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Total water content from the SEA WCM-2000 probe, element 083

    • units: g m-3

  • SEA_LWC_021
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SEA_LWC_021_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 20

    • instrument_manufacturer: Science Engineering Associates, Inc.

    • instrument_model: WCM-2000

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Liquid water content from the SEA WCM-2000 probe, element 021

    • standard_name: mass_concentration_of_liquid_water_in_air

    • units: g m-3

  • SEA_LWC_083
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SEA_LWC_083_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 20

    • instrument_manufacturer: Science Engineering Associates, Inc.

    • instrument_model: WCM-2000

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Liquid water content from the SEA WCM-2000 probe, element 083

    • standard_name: mass_concentration_of_liquid_water_in_air

    • units: g m-3

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • element_temperature_out_of_range - No flag description provided.

  • aircraft_on_ground - No flag description provided.

SignalRegister

The DECADES signal register is a packed representation of some boolean state variables, which is used internally in DECADES. Here we reproduce part of the register from flag variables reported in the TCP data, for use in other processing modules. No outputs defined here are expected to ever be written to file.

Outputs

  • SREG
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SREG_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 2

    • long_name: Signal Register

    • units: None

Flags

Variables in this module use classic, value based flagging.

  • SREG_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

SolarAngles

Calculates solar azimuth and zenith angles at the aircraft location. Uses the third party python module pysolar.

Outputs

  • SOL_ZEN
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SOL_ZEN_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Solar zenith derived from aircraft position and time

    • standard_name: solar_zenith_angle

    • units: degree

  • SOL_AZIM
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SOL_AZIM_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Solar azimuth derived from aircraft position and time

    • standard_name: solar_azimuth_angle

    • units: degree

Flags

Variables in this module use classic, value based flagging.

  • SOL_ZEN_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

  • SOL_AZIM_FLAG
    • -128: data_not_flagged - A fill value. No flagging information has been provided

TPress

This module calculates turbulence probe pressure differentials between P0-S10, left-right, and up-down.

The raw inputs are DLU counts from the differential pressure transducers. Pressures are calculated with polynomial fits to the raw counts, which encompass both the pressure to volts calibration of the transducer, and the volts to counts calibration of the DLU. These are given in the constant parameters CALTP1, CALTP2, and CALTP3, for P0-S10, up-down, and left right, respectively.

Data are flagged when outside specified limits.

Outputs

  • P0_S10
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: P0_S10_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Calibrated differential pressure between centre (P0) port and S10 static

    • sensor_manufacturer: Rosemount Aerospace. Inc.

    • sensor_model: 1221F2

    • sensor_serial_number: <str: derived_from_file>

    • units: hPa

  • PA_TURB
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PA_TURB_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Calibrated differential pressure between turbulence probe vertical ports

    • sensor_manufacturer: Rosemount Aerospace. Inc.

    • sensor_model: 1221F2

    • sensor_serial_number: <str: derived_from_file>

    • units: hPa

  • PB_TURB
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PB_TURB_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Calibrated differential pressure between turbulence probe horizontal ports

    • sensor_manufacturer: Rosemount Aerospace. Inc.

    • sensor_model: 1221F2

    • sensor_serial_number: <str: derived_from_file>

    • units: hPa

Flags

Variables in this module use classic, value based flagging.

  • P0_S10_FLAG
    • 0: data_good - None

    • 1: data_out_of_range - None

  • PA_TURB_FLAG
    • 0: data_good - None

    • 1: data_out_of_range - None

  • PB_TURB_FLAG
    • 0: data_good - None

    • 1: data_out_of_range - None

TecoSO2

Warning

This module depreciated for flights after 2021-01-09

Calculate SO\(_2\) concentration from the TECO 43 instrument. The instrument reports a nominal concentration and sensitivity, valve states V6 (indicating cylinder air) and V8 (indicating cabin air), and a status flag.

Zeros are taken whenever the instrument in sampling cylinder or cabin air, and interploated back to 1 Hz, assuming a linear drift of the offsets between zeros. SO\(_2\) concentration is then given by

\[\left[\text{SO}_2\right] = \frac{\left[\text{SO}_{2|\text{INS}}\right] - Z}{S},\]

where \(\left[\text{SO}_{2|\text{INS}}\right]\) is the concentration reported by the instrument, \(Z\) is the zero obtained from sampling cylinder or cabin air, and \(S\) is the sensitivity reported by the instrument.

Flagging is based on valve states and the instrument status flag.

Outputs

  • SO2_TECO
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SO2_TECO_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Thermo Fisher Scientific, Inc.

    • instrument_model: 43i TLE pulsed fluorescence SO2 spectrometer

    • long_name: Mole fraction of Sulphur Dioxide in air from TECO 43 instrument

    • standard_name: mole_fraction_of_sulfur_dioxide_in_air

    • units: ppb

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - Aircraft is on the ground

  • before_first_zero - The instrument has not yet sampled cylinder or cabin air, the zero is invalid

  • in_zero - The instrument is currently sampling cylinder or cabin air for a zero reading

  • in_alarm - The instrument status flag is currently indicating an alarm state

TecoSO2V2

Note

This module only active for flights after 2021-01-09

Calculate SO\(_2\) concentration from the TECO 43 instrument.

Zeros are taken whenever valve states V7 or V8 are 1, and are interpolated back to 1 Hz, assuming a linear drift of the offsets between zeros. SO\(_2\) concentration is then given by

\[\left[\text{SO}_2\right] = \frac{\left[\text{SO}_{2|\text{INS}}\right] - Z}{S},\]

where \(\left[\text{SO}_{2|\text{INS}}\right]\) is the concentration reported by the instrument, \(Z\) is the zero obtained from sampling scrubbed ambient air, and \(S\) is the instrument sensitivity given in the flight constants.

Flagging is based on valve states, weight on wheels, and the instrument status flag.

Outputs

  • SO2_TECO
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SO2_TECO_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Thermo Fisher Scientific, Inc.

    • instrument_model: 43i Trace Level-Enhanced pulsed fluorescence SO2 spectrometer

    • instrument_serial_number: 1505564557

    • long_name: Mole fraction of Sulphur Dioxide in air from TECO 43 instrument

    • standard_name: mole_fraction_of_sulfur_dioxide_in_air

    • units: ppb

  • SO2_TECO_ZERO
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Thermo Fisher Scientific, Inc.

    • instrument_model: 43i Trace Level-Enhanced pulsed fluorescence SO2 spectrometer

    • instrument_serial_number: 1505564557

    • long_name: TECO 43 SO2 interpolated zero

    • units: ppb

Flags

TeiOzone

Provides ozone concentration from the TE49C O\(_3\) analyser. Ozone data are taken as-is from the instrument; this module provides flagging information based on threshold values and instrument status flags.

Outputs

  • O3_TECO
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: O3_TECO_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: Thermo Fisher Scientific, Inc.

    • instrument_model: 49i IV absorption ozone photometer

    • long_name: Mole fraction of Ozone in air from the TECO 49 instrument

    • standard_name: mole_fraction_of_ozone_in_air

    • units: ppb

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • instrument_alarm - The status flag provided by the instrument is indicating an alarm state

  • conc_out_of_range - Reported ozone concentration is below the valid minimum of -10

  • flow_out_of_range - At least one of the recorded flow rates is below the valid minimum of 0.5

  • aircraft_on_ground - The aircraft is on the ground

ThermistorV1Temperatures

Calculate indicated and true (static) air temperatures from the Rosemount temperature probes, for the V1 (prototype) thermistor circuit. Note that when using this circuit, only one of the housings may host a thermistor type sensor.

  • Processes the NPL calibrations to produce a resistance to probe temperature relationship. The NPL calibration is performed with two different applied voltages so that self-heating can be calculated. This allows the probe temperature to be inferred by adding the calibration chamber temperature to the self-heating in order to produce a useable probe temperature to resistance calibration.}

  • Processes the NPL calibrations for a temperature to dissipation constant relationship. The dissipation constant measured in the calibration chamber for a given temperature is used later in the removal of self-heating in flight.}

  • Calculates the indicated temperature of the thermistor sensor by applying the NPL calibration and the DECADES counts to voltage calibration.

  • Calculates the dissipation constant at that indicated temperature based on the calibration dissipation constant and the flight dissipation multiplier (as described in FAAM013004A).}

  • Calculates the in-flight self-heating for each measurement, based on the voltage measurements and in-flight dissipation constants.}

  • Produces an indicated temperature corrected for self-heating by subtracting the self-heating from the temperature of the sensor.}

The deiced indicated temperature is subject to a heating correction term when the heater is active, given by

\[\Delta T_{\text{IAT}} = \frac{1}{10}\exp{\left(\exp{\left(a + \left(\log\left(M\right)+b\right)\left(c\left(q+P\right)+d\right)\right) }\right),}\]

where \(M\) is the Mach number, \(q\) is the dynamic pressure and \(P\) the static pressure. The parameters \(a\), \(b\), \(c\), and \(d\) are

\[\left[1.171, 2.738, -0.000568, -0.452\right].\]

True air temperatures are a function of indicated temperatures, Mach number and housing recovery factor, and are given by

\[T_\text{TAT} = \frac{T_\text{IAT}}{1 + \left(0.2 R_f M^2\right)},\]

where \(M\) is the Mach number and \(R_f\) the recovery factor. Recovery factors are currently considered constant, and are specified in the flight constants parameters RM_RECFAC/DI and RM\_RECFAC/ND.

A flag is applied to the data when the Mach number is out of range. Further flags may be added by standalone flagging modules.

Outputs

  • IAT_ND_R
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IAT_ND_R_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • comment: Sensor housed in Rosemount Aerospace Inc. Type 102 non-deiced Total Temperature Housing

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Indicated air temperature from the Rosemount non-deiced temperature sensor

    • sensor_serial_number: <str: derived_from_file>

    • sensor_type: thermistor

    • units: K

  • TAT_ND_R
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TAT_ND_R_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • comment: Sensor housed in Rosemount Aerospace Inc. Type 102 non-deiced Total Temperature Housing

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: True air temperature from the Rosemount non-deiced temperature sensor

    • sensor_serial_number: <str: derived_from_file>

    • sensor_type: thermistor

    • standard_name: air_temperature

    • units: K

  • IAT_DI_R
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: IAT_DI_R_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • comment: Sensor housed in Rosemount Aerospace Inc. Type 102 deiced Total Temperature Housing

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Indicated air temperature from the Rosemount deiced temperature sensor

    • sensor_serial_number: <str: derived_from_file>

    • sensor_type: thermistor

    • units: K

  • TAT_DI_R
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TAT_DI_R_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • comment: Sensor housed in Rosemount Aerospace Inc. Type 102 deiced Total Temperature Housing

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: True air temperature from the Rosemount deiced temperature sensor

    • sensor_serial_number: <str: derived_from_file>

    • sensor_type: thermistor

    • standard_name: air_temperature

    • units: K

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • mach_out_of_range - No flag description provided.

TurbulenceProbe

This module produces flow angles and airspeed from the turbulence probe pressure differentials, and combines these with inertial/GPS measurements to derive 3-dimensional winds. These two processes are performed iteratively so that covariances between inferred winds and inertial measurements can be used to calculate on-the-fly flow angle correction terms. Alternatively, flow angle corrections can be provided in the flight constants.

Flow angles, dynamic pressure, and TAS

Initial estimates for angle of attack, \(\alpha\), and angle of sideslip, \(\beta\), are given by

\[\begin{split}\alpha &= \left(P_a / q - a_0\right) / a_1,\\ \beta &= \left(P_b / q - b_0\right) / b_1.\end{split}\]

Here, \(P_a\) and \(P_b\) are the pressure differentials between the top/bottom and left/right probe ports, \(a_n\) and \(b_n\) are calibration coefficients derived from flight data, and \(q\) is the RVSM-derived dynamic pressure.

Correction terms to these flow angles, required as stagnation points do not correspond exactly with probe ports, calculated by BAeS during the probe commissioning, are given by

\[\begin{split}\delta_\alpha &= 0.0273 + \alpha\left(-0.0141 + \alpha\left(0.00193 - 0.000052\alpha\right)\right),\\ \delta_\beta &= 0.00076172\beta^2.\end{split}\]

An initial estimate of dynamic pressure from the turbulence probe, \(q_t\), is then given by

\[q_t = \Delta_{P_0S_{10}} + q(\delta_\alpha + \delta_\beta),\]

where \(\Delta_{P_0S_{10}}\) is the pressure differential between \(P_0\) and \(S_{10}\).

This whole process is then iteratively repeated with \(q = q_t\), either until the difference in both flow angles between iterations is less than 0.2 degrees, or 5 iterations have been completed.

Mach number, \(M\), is given by

\[M = \sqrt{5\left(\left(1 + \frac{q_t}{p}\right)^\frac{2}{7} - 1\right)},\]

where \(p\) is the static pressure from the RVSM system.

True airspeed, TAS, is then given by

\[\text{TAS} = \text{TAS}_c C_0 M \sqrt{T_\text{air} / T_0},\]

where \(\text{TAS}_c\) is a correction term derived from flight data, \(C_0\) is the speed of sound at ICAO STP, \(T_\text{air}\) is the (deiced) true air temperature, and \(T_0\) is the temperature at ICAO STP.

Wind vector

First let us define rotation matricies which provide the transformations between geographical and aircraft-relative coordinate systems.

\[\begin{split}\mathbf{A_1} &= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(r) & -\sin(r) \\ 0 & sin(r) & cos(r) \end{bmatrix},\\ \mathbf{A_2} &= \begin{bmatrix} \cos(\theta) & 0 & -\sin(\theta) \\ 0 & 1 & 0 \\ \sin(\theta) & 0 & \cos(\theta) \end{bmatrix}, \\ \mathbf{A_3} &= \begin{bmatrix} \cos(\phi) & \sin(\phi) & 0 \\ -\sin(\phi) & \cos(\phi) & 0 \\ 0 & 0 & 1 \end{bmatrix},\end{split}\]

where \(r\), \(\theta\), and \(\phi\) are the aircraft roll, pitch, and yaw, respectively. We can combine these into a single transformation tensor, \(\mathbf{R} = (\mathbf{A_3}\cdot\mathbf{A_2}) \cdot\mathbf{A_1}\).

The wind vector \(\mathbf{U}\), is given by

\[\mathbf{U} = \mathbf{V} + \mathbf{T} + \mathbf{L},\]

where \(\mathbf{V}\) is the aircraft velocity vector, \(\mathbf{T}\) is the aircraft TAS vector, relative to the earth, and \(\mathbf{L}\) is a correction term which accounts for the offset between the aircraft inertial measurement and the turbulence probe.

The correction term \(\mathbf{L}\) is given by

\[\mathbf{L} = \mathbf{L_L} \times \mathbf{L_R},\]

where \(\mathbf{L_R} = \mathbf{R} \cdot \mathbf{l}\) and \(\mathbf{L_L} = \mathbf{L_1} + \mathbf{L_2} + \mathbf{L_3}\).

Here \(\mathbf{l}\) is the position vector describing the offset of the inertial measurement from the turbulence probe, and

\[\begin{split}\mathbf{L_1} &= [0, 0, -\dot\phi],\\ \mathbf{L_2} &= \mathbf{A_3} \cdot [0, \dot\theta, 0],\\ \mathbf{L_3} &= (\mathbf{A_3}\cdot\mathbf{A_2})\cdot[\dot{r}, 0, 0],\end{split}\]

where an overdot represents a time derivative.

The TAS term \(\mathbf{T}\) is given by

\[R = \mathbf{R} \cdot [-T_p, -T_p\tan(\beta), T_p\tan(\alpha)],\]

where

\[T_p = \frac{\text{TAS}}{\sqrt{1 + \tan(\beta)^2 + \tan(\alpha)^2}}.\]

Flow angle corrections

The derivation of the variables above assumes no flow angle corrections, which are generally required. We take the approach of calculating flow angle corrections on line. This is done in an iterative loop where, after calculation of the flow angles and wind vector, flow angle corrections are calulated by 1) minimising the covariance between platform roll and vertical wind in the turns, and 2) minimising the mean vertical wind when the platform is straight and level. Flow angles and are then recalculated, and so on until the flow angle corrections converge suitably. This has been seen to occur rapidly, and only two iterations after the initial calculations are performed.

Outputs

  • TAS
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: TAS_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: True airspeed (dry-air) from turbulence probe

    • standard_name: platform_speed_wrt_air

    • units: m s-1

  • AOA
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: AOA_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Angle of attack from the turbulence probe (positive, flow upwards wrt a/c axes)

    • units: degree

  • AOSS
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: AOSS_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Angle of sideslip from the turbulence probe (positive, flow from left)

    • units: degree

  • PSP_TURB
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: PSP_TURB_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Pitot-static pressure from centre-port measurements corrrected for AoA and AoSS

    • units: hPa

  • U_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: U_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Eastward wind component from turbulence probe and GIN

    • standard_name: eastward_wind

    • units: m s-1

  • V_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: V_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Northward wind component from turbulence probe and GIN

    • standard_name: northward_wind

    • units: m s-1

  • W_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: W_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Vertical wind component from turbulence probe and GIN

    • standard_name: upward_air_velocity

    • units: m s-1

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • data_out_of_range - V_C is outside the specified valid range [(-60, 60)] m/s

  • aircraft_on_ground - aircraft on ground

  • mach_out_of_range - Mach # is outside the specified valid range [(0.05, 0.8)]

TwoBOzone

Note

This module only active for flights after 2021-01-09

Provides ozone concentration from the 2B Tech Ozone instrument. The instrument natively provides an ozone concentration, however this may be zero adjusted and scaled by zero and senstivity parameters given in the flight constants as TWBOZO_ZERO and TWBOZO_SENS.

\[\text{O}_3 = \frac{\text{O}_3 - z}{S},\]

where \(z\) is the given zero offset and \(S\) is the given sensitivity.

Additional calibration information for metadata can be provided through the constant parameters TWBOZO_CALINFO_DATE, TWBOZO_CALINFO_INFO, and TWBOZO_CALINFO_URL.

Flagging information is provided based on instrument and aircraft status.

Outputs

  • O3_2BTECH
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: O3_2BTECH_FLAG

    • calibration_date: <str: derived_from_file optional>

    • calibration_information: <str: derived_from_file optional>

    • calibration_url: <str: derived_from_file optional>

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_description: <str: derived_from_file optional>

    • instrument_manufacturer: 2B Technologies Inc.

    • instrument_model: 205

    • instrument_serial_number: 1034DB

    • long_name: Mole fraction of Ozone in air from the 2BTech photometer

    • standard_name: mole_fraction_of_ozone_in_air

    • units: ppb

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - The aircraft is on the ground, as indicated by the weight on wheels flag. An additional 10 seconds are addedafter take-off to allow for instrument flushing.

  • inlet_flow_out_of_range - The inlet sample overflow is out of range.

  • sample_flow_out_of_range - The spectrometer sample mass flow rate is out of range.

WVSS2A

Process data from the WVSS-II water vapour spectrometers. The WVSS2 report volume mixing ratio and other parameters approximately every 2.3 seconds. This represents ~2 s of sampling at ~4 Hz, followed by around 0.3 seconds of processing. This module simply linearly interpolates these data onto a regular 1 Hz index, and provides flagging and metadata.

Outputs

  • WVSS2F_VMR_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: WVSS2F_VMR_U_FLAG

    • comment: WVSS-II measurements rely on manufacturer calibrations, and are not tracable to national standards

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: SpectraSensors

    • long_name: Water Vapour Measurement from WVSS2F linearly interpolated to 1 Hz

    • units: ppmv

  • WVSS2F_PRESS_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: WVSS2F_PRESS_U_FLAG

    • comment: WVSS-II measurements rely on manufacturer calibrations, and are not tracable to national standards

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: SpectraSensors

    • long_name: Pressure inside WVSS2F sample cell linearly interpolated to 1 Hz

    • units: hPa

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • data_out_of_range - No flag description provided.

  • data_missing - No flag description provided.

  • aircraft_on_ground - No flag description provided.

WVSS2B

Process data from the WVSS-II water vapour spectrometers. The WVSS2 report volume mixing ratio and other parameters approximately every 2.3 seconds. This represents ~2 s of sampling at ~4 Hz, followed by around 0.3 seconds of processing. This module simply linearly interpolates these data onto a regular 1 Hz index, and provides flagging and metadata.

Outputs

  • WVSS2R_VMR_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: WVSS2R_VMR_U_FLAG

    • comment: WVSS-II measurements rely on manufacturer calibrations, and are not tracable to national standards

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: SpectraSensors

    • long_name: Water Vapour Measurement from WVSS2R linearly interpolated to 1 Hz

    • units: ppmv

  • WVSS2R_PRESS_U
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: WVSS2R_PRESS_U_FLAG

    • comment: WVSS-II measurements rely on manufacturer calibrations, and are not tracable to national standards

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: SpectraSensors

    • long_name: Pressure inside WVSS2R sample cell linearly interpolated to 1 Hz

    • units: hPa

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • data_out_of_range - No flag description provided.

  • data_missing - No flag description provided.

  • aircraft_on_ground - No flag description provided.

WVSS2Calibrated

For further details see the FAAM Met. Handbook.

This module provides a calibrated WVSS2 volume mixing ratio, along with its uncertainty estimate, from the flush mounted instrument. The calibration is a polynomial in VMR, with coefficients provided in the constants parameter WVSS2_F_CAL. The calibration is assumed to only be valid within a certain VMR range, specified in the constants parameter WVSS2_F_CAL_RANGE. Outside of this range, data are set to NaN.

The uncertainty estimate, \(U_c\), is given by

\[U_c = \sqrt{\sigma_f^2 + \sigma_r^2 + \sigma_b^2},\]

where

\[\begin{split}\sigma_f &= \sigma_0 + \sigma_1 V + ... + \sigma_n V^n\\ \sigma_b &= \frac{l_0 + l_1 V}{2}\\ \sigma_r &= V\left(p_0 V^{p_1}\right)\end{split}\]

where \(V\) is the uncorrected volume mixing ratio, \(\sigma_0, ..., \sigma_n\) are specified in the constants parameter WVSS2_F_UNC_FITPARAMS, \(l_0 \text{ and} l_1\) are specified in the constants parameter WVSS2_F_UNC_BUCK and \(p_0 \text{ and} p_1\) are specified in the constants parameter WVSS2_F_UNC_FITRES.

Outputs

  • WVSS2F_VMR_C
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: WVSS2F_VMR_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • instrument_manufacturer: SpectraSensors

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Calibrated volume mixing ratio from WVSS2F

    • units: ppm

  • WVSS2F_VMR_C_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: WVSS2F_VMR_C_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 1

    • instrument_manufacturer: SpectraSensors

    • instrument_serial_number: <str: derived_from_file>

    • long_name: Uncertainty estimate for calibrated volume mixing ratio from WVSS2F

    • units: ppm

Flags

WVSS2RH

This module provides estimates of relative humidity with respect to both water and ice, along with their combined uncertainty estimates, derived from the WVSS2 water vapour mixing ratio and Rosemount temperatures.

For full details of the methodology, see the FAAM Met. Handbook.

Outputs

  • RH_ICE
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: RH_ICE_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Relative humidity wrt ice water, derived from corrected WVSS-II VMR and Rosemount temperatures

    • standard_name: relative_humidity

    • units: %

  • RH_LIQ
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: RH_LIQ_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Relative humidity wrt liquid water, derived from corrected WVSS-II VMR and Rosemount temperatures

    • standard_name: relative_humidity

    • units: %

  • RH_ICE_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: RH_ICE_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 1

    • long_name: Combined uncertainty estimate for RH_ICE

    • units: %

  • RH_LIQ_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: RH_LIQ_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 1

    • long_name: Combined uncertainty estimate for RH_LIQ

    • units: %

Flags

WeightOnWheels

This module simply provides the aircraft weight-on-wheels flag, recorded on the rear core console. A value of 1 indicates weight on wheels (i.e. the aircraft is on the ground) and a value of 0 indicates no weight on wheels (i.e. the aircraft is airborne).

Outputs

  • WOW_IND
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 1

    • long_name: Weight on wheels indicator

    • units: 1

Flags

WetMach

This module calculate a moist-air Mach number using RVSM pressure measurements and the volume mixing ratio from the flush mounted WVSSII (assumed to identify itself as WVSS2A).

Moist-air Mach number, \(M\), is given by

\[M = \sqrt{\left(\frac{2c_v}{R_a}\right)\left(\left(\frac{p+q}{q}\right)^\frac{R_a}{c_p} - 1\right)},\]

where

\[R_a = c_p - c_v\]

and

\[\begin{split}c_p &= c_{pd} \left(1 + q_h\left(\frac{8}{7\epsilon} - 1\right)\right)\\ c_v &= c_{vd} \left(1 + q_h\left(\frac{6}{5\epsilon} - 1\right)\right)\\\end{split}\]

Here \(c_{pd}\) and \(c_{vd}\) are specific heats for dry air at constant pressure and volume, respectively, \(\epsilon\) is the ratio of the molecular mass of water to that of dry air, and the specific humidity, \(q_h\), is given by

\[q_h = \frac{\epsilon V}{\epsilon V + 1},\]

where \(V = 1000000\times\text{vmr}_\text{WVSS2F}\).

The module also provides the parameter SH_GAMMA, which is the ratio of specific heats at constant pressure and constant volume, along with uncertainty estimates for MACH and SH_GAMMA. The former is a combination from uncertainties in the corrected WVSS2 VMR and the uncertainty reported in BAe Reoprt 126, while the latter arises from the uncertainty in the corrected WVSS2 VMR.

Outputs

  • MACH
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: MACH_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Moist air Mach derived from WVSS-II(F) and RVSM

    • units: 1

  • SH_GAMMA
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SH_GAMMA_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: physicalMeasurement

    • frequency: 32

    • long_name: Ratio of specific heats at constant pressure and constant pressure

    • units: 1

  • SH_GAMMA_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: SH_GAMMA_CU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 32

    • long_name: Uncertainty estimate for SH_GAMMA

    • units: 1

  • MACH_CU
    • _FillValue: -9999

    • actual_range: [‘<float32: derived_from_file>’, ‘<float32: derived_from_file>’]

    • ancillary_variables: MACH_CU_FLAG

    • coordinates: <str: derived_from_file optional>

    • coverage_content_type: auxiliaryInformation

    • frequency: 32

    • long_name: Uncertainty estimate for moist-air Mach

    • units: 1

Flags

Variables in this module use bitmask flags. Some, all or none of these flags may be applied to each variable. Interrogate flag variable attributes flag_masks and flag_meanings to find the flags for each variable.

  • aircraft_on_ground - The aircraft is on the ground, as indicated by the weight-on-wheels indicator