Releases: dsavransky/EXOSIMS
v3.3.1
EXOSIMS v3.3.1 - Bugfix Rollup + Observing Mode Indexing
What's Changed
- adding index to observingMode definition by @dsavransky in #385
- Fixing #368 and #386 by @dsavransky in #385
Full Changelog: v3.3.0...v3.3.1
v3.3.0
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
- Interp2d deprecation by @maxwell-zweig in #379
- Python 3.12 compatibility by @dsavransky in #384
New Contributors
- @maxwell-zweig made their first contribution in #379
Full Changelog: v3.2.2...v3.3.0
v3.2.2
EXOSIMS v3.2.2
Identical to 3.2.1, which was not published to PyPI due to authentication issues.
v3.2.1
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
- fixing caching of star fluxes and deprecating int_dMag_offset by @dsavransky in #362
- adding cherryPickStars and skipSaturationCalcs by @dsavransky in #364
- Make debug bird plots with a Boolean toggle by @CoreySpohn in #363
- fixing #336 by @dsavransky in #365
- Partial char bug fixes + minor changes by @96armen in #366
- Filtermode by @dsavransky in #367
- addressing #373 by @dsavransky in #377
New Contributors
Full Changelog: v3.2.0...v3.2.1
v3.2.0
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
EXOSIMS v3.1.6 - Bugfix Rollup
This release provides fixes to 3 bugs:
- In the
Observatory
Prototype, therefuel_tank
methoddid not work as expected (no mass added to the main tank upon refueling) in the case wheretank=None
(e.g. iftwotanks=False
). This has been fixed. - In
tieredScheduler
, two separate filtering steps in the init could produce array indexing errors. These have now been combined into a single step. - In the
Mennesson
ZodiacalLight
implementation, if theEZ_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 explicitValueError
exception being raised with an appropriate message.
v3.1.5
EXOSIMS v3.1.5 - Compatibility Rollup
This minor release contains two changes:
- In the
TargetList
Prototype, whenscaleWAdMag
is set, attributeint_dMag
was previously scaled off of a base value equal tointCutoff_dMag
(this was intended to mimic the original default behavior of this keyword, which scaled from theCompleteness
module'sdMaglim
). However, this led to aggressively large integration targetdMag
values, so the scaling has been changed to scale off of the inputint_dMag
. - 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 useisinstance
.
v3.1.4
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
inNemati
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 theTargetList
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 updatedSurveySimulation
prototype for use with the updated prototypeStarCatalog
- 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 ato_arcsec
keyword (default False) that forces conversion of input angle value to arcseconds.- Added new utility methods
min_deltaMag_Lambert
andmax_deltaMag_Lambert
toutil.deltaMag
for computing deltaMag bounds using aBrownCompleteness
object.
Full Changelog
v3.1.3
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
prototypeobservation_characterization
had an intermittent failure mode wherestartTime
would be beyond the end of mission, causing an indexing error in thekoMap
. An explicit check for out of bounds times has been added.
v3.1.2
EXOSIMS v3.1.2
Bugfix rollup:
- Fixes fZ local minimum indexing off-by-one error in method
calcfZmin
orZodiacalLight
Prototype andStark
implementation. - Makes
process_opticalsys_package
more robust to deviations from standard package definition: allows forPIXELSCALE
keywords to be missing in diameter and PSF offset lists, and allows PSF offsets to be 1D. - Updates template matching in
starFlux
method inTargetList
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