This PR is a WIP on top of #194. It's pretty much complete but shouldn't be merged until #194 is accepted:
Removes the parallel implementations in new_subdaily and subdaily and replaces FastSlowPModel (old implementation) with SubdailyPModel throughout the code.
The legacy FastSlowPModel_JAMES is now SubdailyPModel_JAMES for consistency and is flagged with a deprecation warning.
The pyrealm.pmodel.fast_slow_scaler.FastSlowScaler class is now pyrealm.pmodel.scaler.SubdailyScaler - that isn't a perfect name but it is compact and it does handle the scaling from fast to slow timescales and back.
The docstrings and docs are updated to use the new approach.
Fixes #197 (issue)
Type of change
[ ] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[x] Bug fix (non-breaking change which fixes an issue)
Key checklist
[x] Make sure you've run the pre-commit checks: $ pre-commit run -a
[x] All tests pass: $ poetry run pytest
Further checks
[x] Code is commented, particularly in hard-to-understand areas
[ ] Tests added that prove fix is effective or that feature works
Description
This PR is a WIP on top of #194. It's pretty much complete but shouldn't be merged until #194 is accepted:
new_subdaily
andsubdaily
and replacesFastSlowPModel
(old implementation) withSubdailyPModel
throughout the code.FastSlowPModel_JAMES
is nowSubdailyPModel_JAMES
for consistency and is flagged with a deprecation warning.pyrealm.pmodel.fast_slow_scaler.FastSlowScaler
class is nowpyrealm.pmodel.scaler.SubdailyScaler
- that isn't a perfect name but it is compact and it does handle the scaling from fast to slow timescales and back.Fixes #197 (issue)
Type of change
Key checklist
pre-commit
checks:$ pre-commit run -a
$ poetry run pytest
Further checks