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)