Wrap fgen timeseries

Description

Wrap fgen's functionality, specifically the Timeseries class. There's a few things I don't love, but at least now we can see a demo of this working from a jupyter notebook.

@lewisjarednz I think this basically proves everything we needed from fgen. From here I think we split out a fgensolve or whatever package (x-ref #28), where we might write a custom wrapper to handle returning a collection of timeseries from solving (I can't think of a better way to do it, and for a single access pattern writing by hand will probably be simplest), then we're into pure model writing (plus #60 (closed) at some point...). I can do a demo of handling the collection returning as part of #31 (closed) so you can see the pattern I'm thinking of.

In terms of reviewing, run the following

git checkout wrap-fgen-timeseries
poetry run pytest tests/integration/test_compilation.py -k fgen
cd tests/test-data/fgen_timeseries
source venv/bin/activate
jupyter lab

Then have a look at the timeseries_demo notebook.

If you're happy with how that looks, I can pull the stuff in the notebook into some basic tests, then I think we can merge this.

Checklist

Please confirm that this pull request has done the following:

  • Tests added - [ ] Documentation added (where applicable)
  • Changelog item added to changelog/

Depends on !83 (merged) being merged in here, hence

Closes #31 (closed) #22 (closed)

Edited by Zebedee Nicholls

Merge request reports

Loading