Exosims

Latest version: v3.2.2

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

Scan your dependencies

Page 3 of 6

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

3.0.0

2.2.0

This release marks the beginning of formal deprecation of python 2.7 support. CI now only runs on python 3.7-3.9, and new code additions will not have any python 2.7 compatibility. Subsequent releases will remove existing python 2.7-specific code, and version 3.0 will not run at all on python 2.7 and will not be guaranteed for <3.7.

This release adds:
* Utilities for querying and caching the exoplanet archive (`utils.getExoplanetArchive`)
* New forecaster-derived planet physical model as described in Savransky et al. 2019 (`PlanetPhysicalModel.ForecasterMod`)
* New `utils.planet_star_separation` method similar to `deltaMag`
* Many solar system planet phase functions and other phase functions (`utils.phaseFunctions`)
* Bug fix in `BrownCompleteness` when sample size is less than 1e8
* New planet population matching the one defined in Brown 2005 (`PlanetPopulation.Brown2005EarthLike`)
* `whichPlanetPhaseFunction` keyword in `PlanetPhysicalModel` allows selection of phase function without needing new module implementation. NB: This keyword is not included in the completeness cache files so all completeness caches will be regenerated.
* Keepout map generation instructions in the quickstart guide
* Various comment cleanups throughout the code

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.