For the Bokeh plots, it would be very helpful to be able to toggle between a log scale and linear scale on the y-axis. At the very least, changing the first plot (SNR vs. wavelength) to a log scale by default when trying to calculate exposure time (log(exp) vs. wavelength) would make it much easier to fit the entire data range within the plot, and much easier to view.
The moon emits enough light in the optical wavelengths that it can have significant effects on overall SNR. To account for this, we should modify calculator/Atmosphere.py to incorporate additional optional inputs:
Moon phase, amount of the moon that is illuminated by the sun when viewed from Keck
Separation angle, the angular distance on sky between target and moon
These inputs could be used to generate emission data, the challenge is finding both:
A spectrum of the moon's emission in terms of wavelength
A function that represents the extinction due to angular separation
With these additional pieces of information, it would be simple to read in the two optional inputs, determine the moon's emission as a function of wavelength, and add it to the currently calculated sky emission.