Source code for pyrfu.mms.feeps_flat_field_corrections
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 3rd party imports
import xarray as xr
__author__ = "Louis Richard"
__email__ = "louisr@irfu.se"
__copyright__ = "Copyright 2020-2023"
__license__ = "MIT"
__version__ = "2.4.2"
__status__ = "Prototype"
g_corr = {
"mms1-top6": 0.7,
"mms1-top7": 2.5,
"mms1-top8": 1.5,
"mms1-bot5": 1.2,
"mms1-bot6": 0.9,
"mms1-bot7": 2.2,
"mms1-bot8": 1.0,
"mms2-top4": 1.2,
"mms2-top6": 1.3,
"mms2-top7": 0,
"mms2-top8": 0.8,
"mms2-bot6": 1.4,
"mms2-bot7": 0,
"mms2-bot8": 1.5,
"mms3-top6": 0.7,
"mms3-top7": 0.8,
"mms3-top8": 1.0,
"mms3-bot6": 0.9,
"mms3-bot7": 0.9,
"mms3-bot8": 1.3,
"mms4-top6": 0.8,
"mms4-top7": 0,
"mms4-top8": 1.0,
"mms4-bot6": 0.8,
"mms4-bot7": 0.6,
"mms4-bot8": 0.9,
"mms4-bot9": 1.5,
}
[docs]def feeps_flat_field_corrections(inp_alle):
r"""Apply flat field correction factors to FEEPS ion/electron
data. Correct factors are from the gain factor found in:
FlatFieldResults_V3.xlsx from Drew Turner, 1/19/2017
Parameters
----------
inp_alle : xarray.Dataset
Dataset containing the energy spectrum of the available eyes of the
Fly's Eye Energetic Particle Spectrometer (FEEPS).
Returns
-------
out : xarray.Dataset
Dataset containing the energy spectrum of the available eyes of the
Fly's Eye Energetic Particle Spectrometer (FEEPS) with corrected
data.
"""
# Spacecraft index
mms_id = inp_alle.attrs["mmsId"]
# List of sensors and eyes
sensors_eyes = list(filter(lambda x: x[:3] in ["top", "bot"], inp_alle))
out_dict = inp_alle.copy()
for sensors_eye in sensors_eyes:
sensor, eye = sensors_eye.split("-")
correction = g_corr.get(f"mms{mms_id}-{sensor[:3]}{int(eye)}", 1.0)
out_dict[sensors_eye].data *= correction
out = xr.Dataset(out_dict)
out.attrs = inp_alle.attrs
return out