<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _ir_calibrate(self, data, key):
 """IR channel calibration."""

        # Not sure if Lv is correct, FCI User Guide is a bit unclear

        Lv = data.data * \
            self.nc[
                '/data/{}/measured/radiance_unit_conversion_coefficient'
                .format(key.name)][...]

        vc = self.nc['/data/{}/central_wavelength_actual'
                     .format(key.name)][...]
        a, b, dummy = self.nc[
            '/data/{}/measured/radiance_to_bt_conversion_coefficients'
            .format(key.name)][...]
        c1, c2 = self.nc[
            '/data/{}/measured/radiance_to_bt_conversion_constants'
            .format(key.name)][...]

        nom = c2 * vc
        denom = a * np.log(1 + (c1 * vc**3) / Lv)

        data.data[:] = nom / denom - b / a