Exosims

Latest version: v3.3.1

Safety actively analyzes 682457 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

3.1.0alpha

3.0.4

Bugfix rollup release addressing the following issues:

- In the ``TargetList`` prototype the ``calc_saturation_dMag`` function always assumed that the denominator of the integration time used the model from Nemati. But the ``calc_intTime`` function treats occulters differently from coronagraphs. This logic was added to the ``calc_saturation_dMag`` function so that the values returned are infinite instead when ignoring speckle noise.
- In ``GarrettCompleteness`` there was an error in the handling of infinite ``smax`` values, which are valid for occulters. Added a check that changes infinite ``smax`` values to the max float value.
- In ``HIPfromSimbad`` fixed a bug that was caused by the distance line being commented out (and fixed the distance units).

3.0.3

Minor bugfix release. numpy v1.24 expires the deprecation on ragged array creation. This fixes two instances of ragged array creation remaining in EXOSIMS. No functionality changes.

This release also adds minimum version requirements for most dependencies.

3.0.2

Minor inefficiency fix. Previously, in ``TargetList``, the ``intCutoff_comp`` calculation used ``comp_per_intTime``, which caused two successive computations of `` intCutoff_dMag`` in a row. This has now been update to use ``comp_calc``, therefore removing the second, redundant calculation. The computed values do not change as a result of this update.

3.0.1

This is a minor bugfix and utility release. The package MANIFEST has been properly updated to pick up all required data files, some of which were previously missing from the pypi package.

Additional bugfixes include:

- DulzPlavchanUniverse and KnownRVPlanetsUniverse now properly set phiIndex
- Fixed inconsistently documented luminosity units.
- Spectral types are now required to be matched and targets without known type are discarded. TargetList Spec string is overwritten with well-formatted string for easier downstream lookups.
- Removed urllib3 dependence, and updated IPAC querying for aliases and fixed alias caching system. These queries take a while, so adding a base list (all EXOCAT1 targets) to be distributed with the code.
- Added all missing prototype outspec keys and removed everything in prototypes that should not have gone into outspec.

Internals
- Added new attribute required_catalog_atts for use in the nan_filter (instead of filtering for nans in any attribute)
- Offloaded all fillPhotometryVals functionality to package MeanStars (and added it as a dependency)
- populate_targets now only does just that - other steps are moved back into the init.
- Added new method defining catalog attributes for easier overloading.
- Completneess init refactor. Abstracted completeness init functionality into two new class methods. This allows for much easier overloading and greatly reduced copy/pasted code in all completeness implementations.

Other
- flake8 whitelisting of SurveySimulations and utils has been removed. Plotting utilities have been moved to a top-level tools folder in the repository and will no longer be packaged with the rest of EXOSIMS in PyPI.
- Massive update to unit tests to speed up execution (without sacrificing coverage)

3.0

=============
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

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.