def _ir_calibrate(self, data):
"""IR calibration
"""
cwl = self._header['block5']["central_wave_length"][0] * 1e-6
c__ = self._header['calibration']["speed_of_light"][0]
h__ = self._header['calibration']["planck_constant"][0]
k__ = self._header['calibration']["boltzmann_constant"][0]
a__ = (h__ * c__) / (k__ * cwl)
#b__ = ((2 * h__ * c__ ** 2) / (1.0e6 * cwl ** 5 * data.data)) + 1
data.data[:] *= 1.0e6 * cwl ** 5
data.data[:] **= -1
data.data[:] *= (2 * h__ * c__ ** 2)
data.data[:] += 1
#Te_ = a__ / np.log(b__)
data.data[:] = a__ / np.log(data.data)
c0_ = self._header['calibration']["c0_rad2tb_conversion"][0]
c1_ = self._header['calibration']["c1_rad2tb_conversion"][0]
c2_ = self._header['calibration']["c2_rad2tb_conversion"][0]
#data.data[:] = c0_ + c1_ * Te_ + c2_ * Te_ ** 2
data.data[:] = np.polyval([c2_, c1_, c0_], data.data)
data.mask[data.data < 0] = True
data.mask[np.isnan(data.data)] = True
评论列表
文章目录