Skip to content

Releases: NAU-CCL/Epymorph

v1.0.0b0

13 Feb 17:29
Compare
Choose a tag to compare

🎉 epymorph is now in v1.0.0 beta! 🎉

The main features of epymorph are in place and we believe it's ready for enthusiasts outside of our team to try it out. Your feedback is critical and appreciated, especially during this beta period. We expect there may be some bug fixes and quality-of-life improvements between now and removing the beta tag, but no major feature additions, removals, or breaking refactors. Enjoy!

What's Changed

Full Changelog: v0.10.0...v1.0.0b0

v0.10.0

07 Feb 00:22
e5acec1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.2...v0.10.0

v0.9.2

05 Feb 20:10
3f6cbef
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.1...v0.9.2

v0.9.1

05 Feb 19:48
6de80b9
Compare
Choose a tag to compare

This version adds parameter estimation to the feature set using our particle filter implementation.

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.9.1

v0.9.0

10 Jan 21:03
22e487f
Compare
Choose a tag to compare

Note: "Initializer improvements" (PR #223) also includes the removal of the SimDimensions class and changes to how the simulation context is made available to simulation functions (like ADRIOs). Also related to this change: ADRIOs that previously required time frames to be given as parameters will now pull that time frame from the context (the simulation time frame) by default. But this can be optionally overridden.

What's Changed

Full Changelog: v0.8.1...v0.9.0

v0.8.1

18 Dec 23:01
4cd11cd
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0

04 Dec 17:42
547900e
Compare
Choose a tag to compare

This update brings bug fixes, some nice quality of life improvements, and a rework of the parameter evaluation subsystem. Most notably:

  • Functions evaluate_params() and evaluate_param() have been removed and replaced with something better. (See PR 201 for details.)
  • The simulation progress bar now shows an estimate of the time remaining.
  • All ADRIOs (that should) now cache their results for faster re-simulation.
  • You can use IPM quantity selectors to get compartment and event indices (useful for custom data processing). For example: ipm.select.events("S->I").event_index to receive a single int, or ipm.select.events("*->I").event_indices to receive a tuple of ints.

What's Changed

Full Changelog: v0.7.0...v0.8.0

v0.7.0

04 Nov 17:20
7158708
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.1...v0.7.0

v0.6.1

23 Sep 19:28
c0a0a2b
Compare
Choose a tag to compare

Major new features include PRISM and numpy ADRIOs.

What's Changed

Full Changelog: v0.6.0...v0.6.1

v0.6.0

23 Aug 20:37
24d74bd
Compare
Choose a tag to compare

The class-based syntax update: IPMs, MMs, and ADRIOs

This is a significant change that builds on the class-based syntax approach introduced in v0.5. Rather than use functions to construct IPMs or a custom .movement file syntax to construct MMs, users should now define a class (extending either CompartmentModel or MovementModel) and override attributes and methods as appropriate.

ADRIOs have been given a similar treatment, allowing us to completely remove the concept of GEOs as a standalone component.

These and additional highlights include:

  • Class-based syntax for IPMs, MMs, and ADRIOs
  • For all class-based components, attributes has been renamed requirements
  • SingleStrataRume, MultistrataRume, and MultistrataRumeBuilder classes for constructing RUMEs
  • For multistrata RUMEs, the strata name is now attached to the GPM definition
  • Removed GEOs entirely
  • Since there's no more "pei" GEO, its data is still available as a collection of numpy arrays (epymorph.data.pei) until we have a good replacement for it
  • ADRIOs now live in the epymorph.adrio package
  • epymorph.geo.spec used to contain classes for geo-specific time periods; these have been replaced by TimeFrame
  • Additional ways to construct TimeFrames: TimeFrame.range() and TimeFrame.year()
  • epymorph simulation events are now handled by a global singleton, EventBus
  • sim_messaging() no longer needs a reference to the simulator
  • The CLI cache command manages the application cache generally, it used to be GEO-specific
  • (minor) epymorph.plots maps now use a GeoScope (instead of a GEO)
  • (minor) @adrio_cache can be used to make an ADRIO cache its results
  • (minor) module_cache_path should be used by modules which want to store files in the application cache
  • (minor) epymorph now represents structured types as a tuple-of-tuples, rather than numpy's list-of-tuples (lists aren't serializable; tuples are)

Many demo and devlog notebooks have been updated (and some made obsolete). These are good ways to see what's changed. Especially the v0.6 "Rosetta stone" devlog, in comparison with the v0.5 version.

What's Changed

Full Changelog: v0.5.1...v0.6.0