Exosims

Latest version: v3.2.0

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

Scan your dependencies

Page 1 of 6

3.2.0

This release updates and fixes functionality associated with common exosystem inclinations, improves computational efficiency in the `Nemati` `OpticalSystem` implementation, and fixes a bug associated with the new (in v3.1.0) stellar flux calculations.

New Functionality
Previously, EXOSIMS could generate planets about the same target star with the same inclination via the `commonSystemInclination` and keyword, and setting `commonSystemInclinationParams`, which described the mean and standard deviation of a normal distribution of offsets from the common system inclination. However, the longitude of the ascending node of these planets would still be sampled independently, meaning that the planets, while having the same inclination, would still lie in different orbital planes. With this release, the `commonSystemInclination` inputs are deprecated and replaced with `commonSystemPlane` and `commonSystemPlaneParams`, which toggle on the common system plane and set the parameters of offset distributions for both inclination and longitude of the ascending node. Internally, when this functionality is toggled, the `TargetList` now generates both a system mean inclination and longitude of the ascending node, thereby defining a true common system orbital plane.

Performance Improvements
The `converged` Boolean in the `OpticalSystem.Nemati.calc_dMag_per_intTime` function has been moved out of the lower bound loop to avoid always running the minimization twice.

Bug Fixes
Two issues previously existed associated with the case when a star is evaluated to have zero flux in the observing band. First, this leads to a `synphot error`, which is now suppressed. Second, this leads to a `calc_dMag_per_intTime` inversion error - this is now handled by filtering out all stars with zero flux in the observing band prior to any downstream calculations (in `TargetList.calc_saturation_and_intCutoff_vals`).

3.1.6

This release provides fixes to 3 bugs:

1. In the `Observatory` Prototype, the `refuel_tank` methoddid not work as expected (no mass added to the main tank upon refueling) in the case where `tank=None` (e.g. if `twotanks=False`). This has been fixed.
2. In `tieredScheduler`, two separate filtering steps in the init could produce array indexing errors. These have now been combined into a single step.
3. In the `Mennesson` `ZodiacalLight` implementation, if the `EZ_distribution` input did not point to a valid file, the code would previously fail with an uninformative error. This has now been replaced with an explicit `ValueError` exception being raised with an appropriate message.

3.1.5

This minor release contains two changes:

1. In the `TargetList` Prototype, when `scaleWAdMag` is set, attribute `int_dMag` was previously scaled off of a base value equal to `intCutoff_dMag` (this was intended to mimic the original default behavior of this keyword, which scaled from the `Completeness` module's `dMaglim`). However, this led to aggressively large integration target `dMag` values, so the scaling has been changed to scale off of the input `int_dMag`.
2. With `flake8` updating to v6.1.0, a few places in the codebase started to fail linting. In particular, all cases where a variable's type was checked via direct comparison to a class have been updated to use `isinstance`.

3.1.4

Bugs Fixed

- Previously, some elements of the input specification could use environment variables in paths, but not others. All relevant places in the code have been updated so that environment variables can be used in *any* path input.
- Multiple schedulers had potential failure points where an integration time (quantity) is added to a Time object. If any element of the integration time array is NaN this throws an error. All relevant locations have been patched to avoid such errors.
- `process_opticalsys_package` output filenames updated to avoid extra underscores in some cases. Output dictionary now also includes explicit input_angle_units entry.
- `calc_dMag_per_intTime` in `Nemati` `OpticalSystem` has been updated to handle singularities in the intTime/deltaMag relationship, and to handle various input edge cases, including zero/NaN integration times and out of bounds working angles.
- The `fZ` cache files were previously named such that differently-sized target lists could (in rare instances) generate the same filename. This has been fixed by explicitly including the `TargetList` size in the filename.
- Multiple instances of redundant `fZ` calculation/loading have been removed in both the prototype and multiple scheduler implementations.
- Fixed all instances of 'if char_intTime` as asserting the truth of a quantity is deprecated.
- Fixed 350,
- Updated prototype `StarCatalog` such that all fake stars now all have different names, and updated `SurveySimulation` prototype for use with the updated prototype `StarCatalog`
- stderr is now captured when `SurveySimulation` is checking for svn version, eliminating chatter to stderr on object initialization.

New Features

- Divide & multiply bad value warnings in `Nemati` `OpticalSystem` are now suppressed by default.
- `process_opticalsys_package` now has a `to_arcsec` keyword (default False) that forces conversion of input angle value to arcseconds.
- Added new utility methods `min_deltaMag_Lambert` and `max_deltaMag_Lambert` to `util.deltaMag` for computing deltaMag bounds using a `BrownCompleteness` object.


Full Changelog

https://github.com/dsavransky/EXOSIMS/compare/v3.1.3...v3.1.4

3.1.3

Bugfix rollup:

- `BrownCompleteness` cache name hash previously included both cachedir and outspec in the argument string, which would cause a new cachename to be generated if using a different cache directory. These have now been removed from the hash generation, making completeness cache products more portable.
- Updated `PlanetPopulation` prototype to automatically add only input arguments to the outspec. This requires all inputs from all implementations to be added as attributes. All relevant implementations have been updated accordingly.
- `SurveySimulation` prototype `observation_characterization` had an intermittent failure mode where `startTime` would be beyond the end of mission, causing an indexing error in the `koMap`. An explicit check for out of bounds times has been added.

3.1.2

Bugfix rollup:

- Fixes fZ local minimum indexing off-by-one error in method `calcfZmin` or `ZodiacalLight` Prototype and `Stark` implementation.
- Makes `process_opticalsys_package` more robust to deviations from standard package definition: allows for `PIXELSCALE` keywords to be missing in diameter and PSF offset lists, and allows PSF offsets to be 1D.
- Updates template matching in `starFlux` method in `TargetList` prototype to prefer matching within the same luminosity class (when possible).
- Fixes minor typo in error message in `OpticalSystem`.

**Full Changelog**: https://github.com/dsavransky/EXOSIMS/compare/v3.1.1...v3.1.2

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.