Skip to content

Commit

Permalink
limit humidity model range considered
Browse files Browse the repository at this point in the history
  • Loading branch information
Stephen Bailey authored and Stephen Bailey committed Jan 14, 2022
1 parent f200339 commit ecd7faa
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions py/desispec/fiberflat_vs_humidity.py
Expand Up @@ -125,7 +125,6 @@ def _fit_flat(wavelength,flux,ivar,fibers,mean_fiberflat_vs_humidity,humidity_ar

log.info("best fit humidity = {:.2f}".format(best_humidity))


return flat , best_humidity

def compute_humidity_corrected_fiberflat(calib_fiberflat, mean_fiberflat_vs_humidity , humidity_array, current_humidity, frame) :
Expand All @@ -146,10 +145,14 @@ def compute_humidity_corrected_fiberflat(calib_fiberflat, mean_fiberflat_vs_humi

best_humidity = current_humidity

# only consider model humidity within 20% of measured humidity
humidity_selection = np.abs(humidity_array - current_humidity)<20

log.info("using nightly flat to fit for the best fit nightly flat humidity")
selection = np.sum(calib_fiberflat.ivar!=0,axis=1)>10
good_flat_fibers = np.where(selection)[0]
flat2 , hum2 = _fit_flat(calib_fiberflat.wave,calib_fiberflat.fiberflat,calib_fiberflat.ivar,good_flat_fibers,mean_fiberflat_vs_humidity,humidity_array)
flat2, hum2 = _fit_flat(calib_fiberflat.wave, calib_fiberflat.fiberflat, calib_fiberflat.ivar,
good_flat_fibers, mean_fiberflat_vs_humidity[humidity_selection], humidity_array[humidity_selection])

flat1 = None
hum1 = current_humidity
Expand All @@ -168,7 +171,8 @@ def compute_humidity_corrected_fiberflat(calib_fiberflat, mean_fiberflat_vs_humi
ok=(ivar[fiber]>0)
tmp_flux[fiber] = np.interp(frame.wave,frame_wave_in_fiberflat_system[ok],frame.flux[fiber][ok])
tmp_ivar[fiber] = np.interp(frame.wave,frame_wave_in_fiberflat_system[ok],ivar[fiber][ok])
flat1 , hum1 = _fit_flat(frame.wave,tmp_flux*flat2/calib_fiberflat.fiberflat,tmp_ivar,good_sky_fibers,mean_fiberflat_vs_humidity,humidity_array)
flat1, hum1 = _fit_flat(frame.wave, tmp_flux*flat2/calib_fiberflat.fiberflat, tmp_ivar, good_sky_fibers,
mean_fiberflat_vs_humidity[humidity_selection], humidity_array[humidity_selection])
if flat1 is None :
log.info("use input humidity = {:.2f}".format(current_humidity))
flat1 = _interpolated_fiberflat_vs_humidity(mean_fiberflat_vs_humidity , humidity_array, current_humidity)
Expand Down

0 comments on commit ecd7faa

Please sign in to comment.