dsavransky / EXOSIMS

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

Filtering update #304

Closed CoreySpohn closed 1 year ago

CoreySpohn commented 2 years ago
  1. Limiting dMag values moved into TargetList, now calculated via the maximum integration time and the saturation time.
  2. Completeness values for maximum integration time and saturation time now TL attributes.
  3. intCutoff completeness used as TL filter, consolidating the completeness and integration time filters into one.
  4. Completeness's target_completeness function now calculates the integration time based on dMagint, the user-input value that is limited to the integration cutoff dMag.
  5. Added root-finding to Nemati OpticalSystem calc_dMag_per_intTime function to avoid errors caused by clock-induced-charge.
  6. Made GarrettCompleteness comp_calc function faster by making default order of quadrature n=5 instead of n=50, added order_of_quadrature attribute to GarrettCompleteness in case marginally higher precision is required.
  7. GarrettCompleteness now uses the dMagint mode for the vectorized integral since there is no longer a single limiting delta mag.
  8. SubtypeCompleteness module has the init BrownCompleteness and the prototype to avoid an error caused by it's extra input for genplans function.
  9. OpticalSystem now returns nan instead of 0 when there is a negative integration time.
  10. Removed redundant loop in Nemati_2019 calc_dMag_per_intTime.
  11. Added second lower bound to test in Nemati_2019 calc_dMag_per_intTime to avoid errors in circumstances that don't occur with Roman parameters but can occur with other json inputs.
  12. OpticalSystem objective functions for root-finding moved into Prototype.
  13. Removed calc_min_intTime function because it was only used for filtering.
  14. Replaced "self.mode" SurveySim attribute with more descriptive "det_mode" variables. self.mode got set in the Prototype init and was only used in a single line that has been copy-pasted despite the fact that self.mode was always the detection mode, which is often already a variable in the other SurveySim modules.
  15. The ZodiacalLight fZ map is calculated correctly for each starlight suppression system and stored in a ZL attribute "fZMap", calculated using the generate_fZ method.
  16. Added caching for intCutoff_dMag, intCutoff_comp, saturation_dMag, saturation_comp.
  17. New functions in TL prototype to calculate saturation_dMag and intCutoff_dMag.
  18. ZodiacalLight now calculates the global fZ minimum.
  19. Added tqdm, pandas to requirements and setup. tqdm for progress bars, pandas for the getExoplanetArchive util and future development.
  20. Updates to tests to accommodate the above changes.