Skip to content

Releases: dsavransky/EXOSIMS

v3.3.1

27 Aug 12:32
6da29ee
Compare
Choose a tag to compare

EXOSIMS v3.3.1 - Bugfix Rollup + Observing Mode Indexing

What's Changed

Full Changelog: v3.3.0...v3.3.1

v3.3.0

05 Aug 17:57
0c6fc47
Compare
Choose a tag to compare

EXOSIMS v3.3.0 - Python 3.12 Compatibility

This is a maintenance release that removes deprecated imports and officially adds adds Python 3.12 support.

What's Changed

New Contributors

Full Changelog: v3.2.2...v3.3.0

v3.2.2

04 Jun 20:03
Compare
Choose a tag to compare

EXOSIMS v3.2.2

Identical to 3.2.1, which was not published to PyPI due to authentication issues.

v3.2.1

04 Jun 19:49
36fa8b4
Compare
Choose a tag to compare

EXOSIMS v3.2.1 - Bugfixes

Deprecations

Minimum scipy, synphot, and astropy versions have all been increased. Python minimum version is now 3.9.

What's Changed

New Contributors

Full Changelog: v3.2.0...v3.2.1

v3.2.0

24 Aug 21:40
1bbc86b
Compare
Choose a tag to compare

EXOSIMS v3.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).

v3.1.6

07 Aug 21:29
fd6f1d2
Compare
Choose a tag to compare

EXOSIMS v3.1.6 - Bugfix Rollup

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.

v3.1.5

31 Jul 21:03
0e375dd
Compare
Choose a tag to compare

EXOSIMS v3.1.5 - Compatibility Rollup

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.

v3.1.4

26 May 22:45
5804075
Compare
Choose a tag to compare

EXOSIMS v3.1.4 - Bugfix Rollup

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

v3.1.3...v3.1.4

v3.1.3

21 Apr 01:40
229d9d8
Compare
Choose a tag to compare

EXOSIMS v3.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.

v3.1.2

19 Apr 04:35
f400363
Compare
Choose a tag to compare

EXOSIMS v3.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: v3.1.1...v3.1.2