dsavransky / EXOSIMS

Simulator for exoplanet direct imaging space missions
BSD 3-Clause "New" or "Revised" License
25 stars 35 forks source link

Optical System and Photometry Handling #337

Closed dsavransky closed 1 year ago

dsavransky commented 1 year ago

Describe your changes

This pull includes a fairly major reworking of the TargetList and OpticalSystem prototypes, and updates to multiple downstream implementations. The OpticalSystem prototype is updated to perform a basic set of integration time calculations assuming a non-photon counting model (a photon counting model is provided by the Nemati implementation). This replaces the original behavior where the prototype generated fake integration times unrelated to the inputs. The OpticalSystem initialization is restructured to allow for easier expansion of inputs in downstream implementations, and to also keep track of allowed keywords in the various OpticalSystem dictionaries.

In TargetList, calculation of stellar fluxes is significantly updated via the inclusion of the synphot package as an upstream dependency. All relevant calculations using stellar template spectra and blackbody spectra are offloaded to synphot. There are also numerous updates to caching mechanisms to ensure proper caching of computed products.

This pull also includes extensive additions and updates to the documentation, detailing all of the changes.

Type of change

Please delete options that are not relevant (and this line).

Reference any relevant issues (don't forget the #)

128 - The new stellar flux calculation uses the closest available catalog band value (to the observing band).

163 - The updates to the optical system allow for use of stellar-diameter dependent core mean intensity inputs.

164 - The OpticalSystem now includes two new keywords: input_angle_units and core_platescale_units. These default to arcseconds and l/D units, respectively, but can be changed to allow for any arbitrary unit inputs.

252 - The new processing of core_mean_intensity and core_contrast close this bug.

253 - The new get_coro_param no longer uniformly enforces a maximum value of 1 on all inputs, closing this bug.

274 - Fixed by new starFlux calculation.

275 and #280 - Fixed by updates to spectral template library

316 - All photometry calculations are now handled by synphot.

Checklist before requesting a review