=============
EXOSIMS 3.0 fully deprecates all Python 2.7 support and now only works with Python 3.7+.
New Functionality
---------------------
- New stationkeeping and continuous thrust occulter models from Soto et al. (2021)
- New planet population based on Guimond (2019)
- Updates to Nemati_2019 to keep pace with JPL internal ETC
- Adding ability to bookkeep slew and stationkeeping fuel separately during mission execution
- Slew and stationkeeping efficiency factors are now inputs (previously hard-coded)
- Solar radiation pressure parameters are now inputs (previously hard-coded)
- Limiting dMag values moved into TargetList, now calculated via the maximum integration time and the saturation time.
- Completeness values for maximum integration time and saturation time now TL attributes.
- intCutoff completeness used as TargetList filter, consolidating the completeness and integration time filters into one.
- Completeness's target_completeness function now calculates the integration time based on int_dMag, the user-input value that is limited to the integration cutoff dMag.
- Added root-finding to Nemati OpticalSystem calc_dMag_per_intTime function to avoid errors caused by clock-induced-charge.
- OpticalSystem now returns nan instead of 0 when there is a negative integration time.
- 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.
- Added caching for intCutoff_dMag, intCutoff_comp, saturation_dMag, saturation_comp.
- New functions in TL prototype to calculate saturation_dMag and intCutoff_dMag.
- ZodiacalLight now calculates the global fZ minimum.
- Added tqdm, pandas to requirements and setup. tqdm for progress bars, pandas for the getExoplanetArchive util and future development.
- New solar system twin planet population
- Adding basic refueling functionality
Deprecations
----------------
- Removed calc_min_intTime function because it was only used for filtering.
- 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.
Tests
-----------
- Massive updates to unit tests
- e2etests now use temporary cache directory (all new cache files generated on each run)
Internals
------------
- Continuous integration now runs via github actions
- ICD and as-built documentation have been merged. Prototype docstrings will now serve as the formal ICD.
- CI tests include black and flake8 checks