This is the 2.0.0 release of pyrealm - this release has moved to trunk-based development from develop. Some previous releases (including the last stable release of 1.0.0) were made using git flow releases from main.
What's Changed
- Soil moisture stress factors by David Orme (@davidorme) in #67
- Documentation updates for new soil moisture by David Orme (@davidorme) in #68
- Version 0.10.0 release by David Orme (@davidorme) in #73
- Merge 0.10.0 release branch back into develop by David Orme (@davidorme) in #74
- Handling
np.naninpyrealm.pmodel.subdaily.memory_effectby David Orme (@davidorme) in #78 - Release 0.10.1 by David Orme (@davidorme) in #79
- Merge
release/0.10.1back into develop. by David Orme (@davidorme) in #80 - added license file by Marion (@MarionBWeinzierl) in #86
- Fixing pre-commit issues and updating pre-commit config by David Orme (@davidorme) in #93
- Added draft CITATION.cff by David Orme (@davidorme) in #88
- Improved README and new CONTRIBUTING by David Orme (@davidorme) in #91
- Fix doctests by David Orme (@davidorme) in #92
- Adds minimum example to README by David Orme (@davidorme) in #97
- Update pre-commit hooks by @github-actions[bot] in #99
- Extend python versions covered to include Python 3.11 by David Orme (@davidorme) in #102
- Update pre-commit hooks by @github-actions[bot] in #103
- Update of water density and viscosity functions by David Orme (@davidorme) in #100
- Add docstrings to tests by David Orme (@davidorme) in #104
- Adding coverage reports by David Orme (@davidorme) in #105
- Fixing PR incompatibility pileup. by David Orme (@davidorme) in #106
- Added coverage report output step to GA pytest step by David Orme (@davidorme) in #107
- Update pre-commit hooks by @github-actions[bot] in #109
- 56 check requirements and ensure that these are consistent between pyprojecttoml and poetry by Marion (@MarionBWeinzierl) in #111
- Updated README and code of conduct. by David Orme (@davidorme) in #113
- Update pre-commit hooks by @github-actions[bot] in #114
- Update reference links to use
alpstyle. by David Orme (@davidorme) in #115 - Building out better structured data package of golden outputs and example data. by David Orme (@davidorme) in #108
- Bad syntax in developers.md by David Orme (@davidorme) in #116
- Profiling by Dr Alexander Smith (@a-smith-github) in #85
- Update pre-commit hooks by @github-actions[bot] in #118
- Update pre-commit hooks by @github-actions[bot] in #137
- Split pmodel file by Marion (@MarionBWeinzierl) in #136
- Update pre-commit hooks by @github-actions[bot] in #138
- Update pre-commit hooks by @github-actions[bot] in #148
- Update CONTRIBUTING.md by @tztsai in #146
- Updating the information on generating profiling call graph by Surbhi Goel (@surbhigoel77) in #147
- Split the tests directory into unit and regression by Surbhi Goel (@surbhigoel77) in #151
- Update pre-commit hooks by @github-actions[bot] in #155
- Add profiling to CI workflow by @tztsai in #156
- Update pyproject.toml by @tztsai in #154
- Update pre-commit hooks by @github-actions[bot] in #157
- Create core module by Marion (@MarionBWeinzierl) in #139
- Update pre-commit hooks by @github-actions[bot] in #160
- Add small dataset for profiling by @tztsai in #149
- Implementation of SPLASH 1.0 in pyrealm by David Orme (@davidorme) in #69
- hotfix test_evap.py by @tztsai in #171
- Let flake8 ignore E203 by @tztsai in #176
- Add unit tests for splash by @tztsai in #170
- Draft implementation of new OptimalChi structure by David Orme (@davidorme) in #172
- Update to the latest versions of checkout and setup-python actions by @tztsai in #180
- Fixing missing attribute docstrings in
core.calendarby David Orme (@davidorme) in #182 - Profiling of the
Splashmodule by @tztsai in #181 - New subdaily pmodel implementation by David Orme (@davidorme) in #183
- Add code to generate SPLASH golden datasets by David Orme (@davidorme) in #185
- Allowing incomplete days by David Orme (@davidorme) in #194
- Remove outdated FastSlowPModel by David Orme (@davidorme) in #199
- Fix time handling in Splash by @tztsai in #186
- Handle NaNs when calculating max difference in
Splash.estimate_initial_soil_moistureby @tztsai in #193 - Use a function
eval_polyfor polynomial evaluation by @tztsai in #187 - Update
profiling/report.pyand its documentation by @tztsai in #188 - Setup trusted publishing by David Orme (@davidorme) in #200
- Fix for RTD build environment by David Orme (@davidorme) in #204
- Remove support for Python 3.9 by David Orme (@davidorme) in #202
- Fixing profiling issues by David Orme (@davidorme) in #208
- Fixing profile workflow by David Orme (@davidorme) in #211
- Python version bug in pyrealm_profiling.yaml by David Orme (@davidorme) in #214
- Add unit tests by Surbhi Goel (@surbhigoel77) in #153
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #221
- Switched to
pre-commit.ciby David Orme (@davidorme) in #218 - Scaling profiling datasets by David Orme (@davidorme) in #216
- Updating development docs by David Orme (@davidorme) in #212
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #228
- Fixing profiling and comparing profiling implementations by David Orme (@davidorme) in #225
- Baseline data and code for two leaf model by David Orme (@davidorme) in #240
- Simplify the jupyter kernelspec setup by David Orme (@davidorme) in #247
- Rebuild of QA chain using ruff by David Orme (@davidorme) in #220
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #243
- 248 numpy 2 0 migration by James Emberton (@j-emberton) in #251
- Updated module import in pmodel unit tests by Surbhi Goel (@surbhigoel77) in #250
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #249
- Merging release 1.0.0 changes back into develop by David Orme (@davidorme) in #252
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #253
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #260
- Fix copyright date by James Emberton (@j-emberton) in #255
- Updating xarray by David Orme (@davidorme) in #258
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #265
- Allow P Models to accept an array of kphio values by David Orme (@davidorme) in #263
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #268
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #273
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #275
- Initial draft of new quantum yield module by David Orme (@davidorme) in #267
- Implementation of Flora and PlantFunctionalType by David Orme (@davidorme) in #277
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #280
- Implementation of Community object init and factory methods. by David Orme (@davidorme) in #282
- Fixed incorrect yield value in TModelConst and updated regression tests by David Orme (@davidorme) in #283
- Complete implementation of T model functions by David Orme (@davidorme) in #285
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #287
- Replace use of
pandasinpyrealm.demographyby David Orme (@davidorme) in #292 - Implementation of the canopy model by David Orme (@davidorme) in #288
- Add Flora helper methods by David Orme (@davidorme) in #296
- Revert "Add Flora helper methods" by David Orme (@davidorme) in #299
- Update traits data structures by David Orme (@davidorme) in #300
- Minor updates to T Model functions and testing by David Orme (@davidorme) in #303
- Add StemAllometry class by David Orme (@davidorme) in #306
- Add
StemAllocationclass by David Orme (@davidorme) in #308 - Update canopy profile branch with stem allocation changes. by David Orme (@davidorme) in #310
- Add
CrownProfileclass by David Orme (@davidorme) in #311 - [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #294
- Add user docs demonstrating demography traits and crown properties by David Orme (@davidorme) in #313
- Fix notebook code formatting by David Orme (@davidorme) in #330
- Move
pyrealm_build_datadocumentation into an autodoc style setup by David Orme (@davidorme) in #331 - [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #320
- Fastslow initval by Surbhi Goel (@surbhigoel77) in #190
- Revise and document functionality of canopy and crown by David Orme (@davidorme) in #328
- Calculate canopy light extinction and interception by David Orme (@davidorme) in #318
- Updating and systematising NDArray typing by David Orme (@davidorme) in #335
- Revise cohort structure inside community by David Orme (@davidorme) in #340
- Group internal attributes in canopy into data classes by David Orme (@davidorme) in #341
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #339
- Shared base classes for demography classes by David Orme (@davidorme) in #338
- 236 develop pyrealmcoresolar function radiation calc library by James Emberton (@j-emberton) in #237
- Fix bug in profiling code and create profiling CI by Marion (@MarionBWeinzierl) in #346
- Review validation and shapes in demography by David Orme (@davidorme) in #342
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #343
- Upgrade upload-artifact version by Marion (@MarionBWeinzierl) in #357
- Manual/semi-automatic performance regression checking by Marion (@MarionBWeinzierl) in #356
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #355
- Adding regression test data for phenology by David Orme (@davidorme) in #360
- Updating mypy in poetry to version 1 by David Orme (@davidorme) in #365
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #363
- Remove outdated T Model module by David Orme (@davidorme) in #370
- Fix
pyrealmtypo in readme by James Emberton (@j-emberton) in #362 - Add a migration guide by David Orme (@davidorme) in #371
- Add the logo by David Orme (@davidorme) in #373
- Move to 2.0.0 RC 1 by David Orme (@davidorme) in #375
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #377
- Added mm/m2 to moles, tests, fixed docs by David Orme (@davidorme) in #379
- Convert JmaxLimitation to a registry of subclasses by David Orme (@davidorme) in #393
- Fixing formatting in
QuantumYieldABCby David Orme (@davidorme) in #398 - Implementation of Arrhenius methods by David Orme (@davidorme) in #389
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #381
- Make
summarize_attrsuse non-mutable tuple asattrsargument by David Orme (@davidorme) in #404 - Adding
convert_water_mm_to_molesandcalculate_water_molar_volumeby David Orme (@davidorme) in #400 - New BoundsChecker implementation by David Orme (@davidorme) in #409
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #411
- New PModelEnvironment implementation by David Orme (@davidorme) in #412
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #417
- Aligning PModel and Subdaily PModel by David Orme (@davidorme) in #401
- Update
poetryto version2.0by David Orme (@davidorme) in #421 - Develop the AcclimationModel class by David Orme (@davidorme) in #418
- Actually use the new AcclimationModel by David Orme (@davidorme) in #424
- Update docs to new P Model API by David Orme (@davidorme) in #426
- Removing old PModel implementations by David Orme (@davidorme) in #427
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #428
- Swap
pmodel.functionsover to usetkas needed by David Orme (@davidorme) in #431 - Update default values for phi0 by David Orme (@davidorme) in #432
- Arrhenius class should have simpler signature and
__init__by David Orme (@davidorme) in #434 - Rework PModelConsts and usage in functions by David Orme (@davidorme) in #435
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #437
- Revise the migration guide and changes doc by David Orme (@davidorme) in #440
- Revise the P Model documentation by David Orme (@davidorme) in #441
- Replacing
np.allcloseby David Orme (@davidorme) in #382 - [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #444
- New version of the P Model architecture by David Orme (@davidorme) in #442
- Update two leaf irradiance to V2.0.0 by David Orme (@davidorme) in #445
- Adding two leaf irradience model by James Emberton (@j-emberton) in #245
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #447
- Updated golden dataset for phenology module by David Orme (@davidorme) in #448
- Doc updates for 2.0.0 by David Orme (@davidorme) in #450
- Revise P Model attributes by David Orme (@davidorme) in #452
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #457
- Rework of
pyrealm.core.solarand downstream changes. by David Orme (@davidorme) in #456 - Interim experimental markup implementation by David Orme (@davidorme) in #454
- Adding fortnightly model to phenology golden dataset by David Orme (@davidorme) in #465
- 459 review two leaf model by David Orme (@davidorme) in #462
- Adopt changed data and scripts from #448 by Marion (@MarionBWeinzierl) in #460
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #466
- Example usage page for two leaf two stream model by David Orme (@davidorme) in #470
- Marking experimental classes by David Orme (@davidorme) in #473
- Update documentation T model by arne-scheire (@arne-exe) in #472
- Adding plant reproductive tissue respiration and turnover by Sally Matson (@sallymatson) in #461
- Regression tests for FaparLimitation class by Marion (@MarionBWeinzierl) in #443
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #474
- Unpinning numpy 2.2, updating pyproject.toml for 2.0.0-rc.2 by David Orme (@davidorme) in #475
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #477
- Moving potential_gpp calculation outside StemAllocation by David Orme (@davidorme) in #480
- Updating CohortMethods to handle a count attribute in subclasses by David Orme (@davidorme) in #481
- Changes and version bump for 2.0.0-rc.3 by David Orme (@davidorme) in #483
- Implement
from_subdailypmodelfor FaparLimitation by Marion (@MarionBWeinzierl) in #468 - [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #484
- Profiling v2.0.0-rc.3 by Sam Avis (@sjavis) in #487
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #489
- 488 profiling docs by Sam Avis (@sjavis) in #491
- Add subdaily check by Marion (@MarionBWeinzierl) in #485
- Improve the annual value calculator by David Orme (@davidorme) in #492
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #493
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #495
- Extend the AnnualValueCalculator by David Orme (@davidorme) in #499
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #500
- Remove syntax warnings by David Orme (@davidorme) in #505
- Annual fAPAR_max and LAI_max by Marion (@MarionBWeinzierl) in #403
- Fixing errors in canopy calculation by David Orme (@davidorme) in #503
- PR 503 - part two. by David Orme (@davidorme) in #515
- Update for release 2.0.0-rc.4 by David Orme (@davidorme) in #517
- Adding community fAPAR to code objects and into docs by David Orme (@davidorme) in #520
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #523
- Adding UUIDs to cohorts by David Orme (@davidorme) in #522
- Fixing behaviour of T Model with zero DBH values by David Orme (@davidorme) in #525
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #528
- Add phenology_const to FaparLimitation method arguments by David Orme (@davidorme) in #529
- Update docstrings in phenology by David Orme (@davidorme) in #530
- Remove unused functions in phenology by David Orme (@davidorme) in #531
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #532
- Getting started for users by Marion (@MarionBWeinzierl) in #518
- Add a glossary by David Orme (@davidorme) in #527
- Extend
FaparLimitationto include the$m$ parameter by David Orme (@davidorme) in #533 - [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #536
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #538
- Broadcastable array inputs by Sam Avis (@sjavis) in #496
- Adopt SPEC0 by David Orme (@davidorme) in #540
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #541
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #544
- [pre-commit.ci] pre-commit autoupdate by pre-commit.ci (@pre-commit-ci)[bot] in #546
- Add array inputs page to documentation by Sam Avis (@sjavis) in #548
- Updating docs to release 2.0.0 by David Orme (@davidorme) in #549
New Contributors
- Marion (@MarionBWeinzierl) made their first contribution in #86
- Dr Alexander Smith (@a-smith-github) made their first contribution in #85
- @tztsai made their first contribution in #146
- Surbhi Goel (@surbhigoel77) made their first contribution in #147
- pre-commit.ci (@pre-commit-ci)[bot] made their first contribution in #221
- James Emberton (@j-emberton) made their first contribution in #251
- arne-scheire (@arne-exe) made their first contribution in #472
- Sally Matson (@sallymatson) made their first contribution in #461
- Sam Avis (@sjavis) made their first contribution in #487
Full Changelog: 0.9.0...v2.0.0