Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding two leaf irradience model #245

Draft
wants to merge 54 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
cc90b94
Created two leaf constants dataclass
j-emberton Jun 4, 2024
20b58b9
Auto-generated profiling results [skip actions]
davidorme Jun 5, 2024
0ec30c2
Auto-generated profiling results [skip actions]
vgro Jun 5, 2024
3da610e
more work on irradience class
j-emberton Jun 5, 2024
f7022a0
Minor fix
j-emberton Jun 7, 2024
b67ef47
Added pysolar calc for beta
j-emberton Jun 7, 2024
707b5f7
changes variables to lower case
j-emberton Jun 7, 2024
f6e94ba
Fixed capital PA0
j-emberton Jun 7, 2024
219e0c3
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] May 27, 2024
ec6725d
Auto-generated profiling results [skip actions]
davidorme Jun 5, 2024
e83a94e
Unsticking stuck workflow
davidorme Jun 6, 2024
06d69d3
Rebuild of QA chain using ruff
davidorme Apr 22, 2024
1a569a7
Removing QA on pytest
davidorme Jun 6, 2024
0fc6984
Missing dev dependencies for local use of jupyterlab with Myst notebooks
davidorme Jun 6, 2024
5c77794
Forgot jupytext in dev dependencies
davidorme Jun 6, 2024
c384586
Extending RUF testing and add ruff auto-fix to pre-commit
davidorme Jun 6, 2024
4cba1f2
Resolving newly revealed issues from using RUF settings
davidorme Jun 6, 2024
5905b40
Remove kernelspec setting step in RTD and GH actions
davidorme Jun 5, 2024
9cf9b0a
Switch Myst notebook kernel specs to use python3
davidorme Jun 5, 2024
bbd93ca
Tidying notebook code cells automatically
davidorme Jun 5, 2024
6b9e8f3
Auto-generated profiling results [skip actions]
davidorme Jun 5, 2024
c928f56
Auto-generated profiling results [skip actions]
vgro Jun 5, 2024
4911eec
Created two leaf constants dataclass
j-emberton Jun 4, 2024
d9a1434
Auto-generated profiling results [skip actions]
davidorme Jun 5, 2024
1844bac
Auto-generated profiling results [skip actions]
vgro Jun 5, 2024
337e3fd
more work on irradience class
j-emberton Jun 5, 2024
fd225bf
Minor fix
j-emberton Jun 7, 2024
16e631f
Added pysolar calc for beta
j-emberton Jun 7, 2024
bad57d5
changes variables to lower case
j-emberton Jun 7, 2024
40b18c4
Fixed capital PA0
j-emberton Jun 7, 2024
4747cfb
Auto-generated profiling results [skip actions]
davidorme Jun 5, 2024
5a0db3c
Unsticking stuck workflow
davidorme Jun 6, 2024
100f1a4
Rebuild of QA chain using ruff
davidorme Apr 22, 2024
e57bc11
Removing QA on pytest
davidorme Jun 6, 2024
8b04a38
Missing dev dependencies for local use of jupyterlab with Myst notebooks
davidorme Jun 6, 2024
b6b83a1
Auto-generated profiling results [skip actions]
davidorme Jun 5, 2024
4c96406
Auto-generated profiling results [skip actions]
vgro Jun 5, 2024
2e24adc
Merge branch 'Two_leaf_irradience_model' of github.com:ImperialColleg…
j-emberton Jun 7, 2024
c6f2099
Offerings to the angry god Ruff
j-emberton Jun 7, 2024
f0b09f9
Offerings to the angry god Ruff
j-emberton Jun 7, 2024
71f478f
Removed new Beta calc and pysolar import
j-emberton Jun 7, 2024
dc7cf66
merged in develop
j-emberton Jul 17, 2024
16c2251
starting documentation
j-emberton Jul 17, 2024
4d627f8
Doesn't pass pre-commit but have questions
j-emberton Jul 24, 2024
8b6a5dd
First draft of two leaf classes complete
j-emberton Jul 29, 2024
b683b51
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 29, 2024
3fe4bdc
defined unit tests for the irradience classes - all working
j-emberton Aug 19, 2024
87b2f49
added docstring
j-emberton Aug 19, 2024
b5c20e7
added class unit tests - all working
j-emberton Aug 19, 2024
0a8ed70
first stab at defining regression tests
j-emberton Aug 19, 2024
0f55afe
writing tests
j-emberton Sep 17, 2024
9434fd2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 17, 2024
1874eeb
Merge branch 'develop' into Two_leaf_irradience_model
j-emberton Oct 22, 2024
92e6fb1
docstring updates
j-emberton Sep 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions docs/source/refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -947,3 +947,30 @@ @misc{zotero-2443a
howpublished = {http://localhost:8888/lab/tree/source/users/demography/crown.md\#crown-radius-values},
file = {/Users/dorme/Zotero/storage/LHHVRPS9/crown.html}
}

@article{Pury&Farquhar:1997,
title = {Simple scaling of photosynthesis from leaves to canopies without the errors of big-leaf models},
volume = {20},
issn = {},
url = {https://onlinelibrary.wiley.com/doi/10.1111/j.1365-3040.1997.00094.x},
doi = {},
abstract = {In big-leaf models of canopy photosynthesis, the Rubisco activity per unit ground area is taken as the sum of activities per unit leaf area within the canopy, and electron transport capacity is similarly summed. Such models overestimate rates of photosynthesis and require empirical curvature factors in the response to irradiance. We show that, with any distribution of leaf nitrogen within the canopy (including optimal), the required curvature factors are not constant but vary with canopy leaf area index and leaf nitrogen content. We further show that the underlying reason is the difference between the time-averaged and instantaneous distributions of absorbed irradiance, caused by penetration of sunflecks and the range of leaf angles in canopies.
These errors are avoided in models that treat the canopy in terms of a number of layers – the multi-layer models. We present an alternative to the multi-layer model: by separately integrating the sunlit and shaded leaf fractions of the canopy, a single layered sun/shade model is obtained, which is as accurate and simpler. The model is a scaled version of a leaf model as distinct from an integrative approach.},
language = {},
number = {},
urldate = {},
journal = {},
author = {},
month = {},
year = {},
note = {},
pages = {},
file = {}
}

@article{Ryu_et_al:2011,
title = {Integration of MODIS land and atmosphere products with a coupled-process model to estimate gross primary productivity and evapotranspiration from 1 km to global scales},
volume = {},


}
12 changes: 6 additions & 6 deletions profiling/benchmark-fails.csv
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ncalls,tottime,tottime_percall,cumtime,cumtime_percall,timestamp,filename,lineno,function,process_id,label,ignore_result,ignore_justification,is_incoming,tottime_percall_target,cumtime_percall_target,tottime_target,cumtime_target,relative_tottime_percall,relative_cumtime_percall,relative_tottime,relative_cumtime
2,0.13,0.065,0.13,0.065,2024-05-07T16:26:25,pyrealm/pmodel/functions.py,644,calc_co2_to_ca,pyrealm/pmodel/functions.py:calc_co2_to_ca,7c3fe42,False,,False,0.065,0.065,0.13,0.13,1.0,1.0,1.0,1.0
1,0.016,0.016,0.016,0.016,2024-05-07T16:26:25,pyrealm/pmodel/isotopes.py,102,calc_c4_discrimination,pyrealm/pmodel/isotopes.py:CalcCarbonIsotopes.calc_c4_discrimination,7c3fe42,False,,False,0.016,0.016,0.016,0.016,1.0,1.0,1.0,1.0
1,0.058,0.058,0.359,0.359,2024-05-07T16:26:25,pyrealm/core/hygro.py,259,calc_psychrometric_constant,pyrealm/core/hygro.py:calc_psychrometric_constant,7c3fe42,False,,False,0.058,0.359,0.058,0.359,1.0,1.0,1.0,1.0
2,0.169,0.085,0.169,0.085,2024-06-05T11:06:21,pyrealm/pmodel/functions.py,644,calc_co2_to_ca,pyrealm/pmodel/functions.py:calc_co2_to_ca,9760db6,False,,True,0.065,0.065,0.13,0.13,1.3076923076923077,1.3076923076923077,1.3,1.3
1,0.017,0.017,0.017,0.017,2024-06-05T11:06:21,pyrealm/pmodel/isotopes.py,102,calc_c4_discrimination,pyrealm/pmodel/isotopes.py:CalcCarbonIsotopes.calc_c4_discrimination,9760db6,False,,True,0.016,0.016,0.016,0.016,1.0625,1.0625,1.0625,1.0625
1,0.061,0.061,0.37,0.37,2024-06-05T11:06:21,pyrealm/core/hygro.py,259,calc_psychrometric_constant,pyrealm/core/hygro.py:calc_psychrometric_constant,9760db6,False,,True,0.058,0.359,0.058,0.359,1.0517241379310345,1.0306406685236769,1.0517241379310345,1.0306406685236769
4,0.101,0.025,0.647,0.162,2024-05-07T16:26:25,pyrealm/core/water.py,67,calc_density_h2o_fisher,pyrealm/core/water.py:calc_density_h2o_fisher,7c3fe42,False,,False,0.025,0.162,0.101,0.647,1.0,1.0,1.0,1.0
5,0.005,0.001,1.721,0.344,2024-05-07T16:26:25,pyrealm/core/water.py,126,calc_density_h2o,pyrealm/core/water.py:calc_density_h2o,7c3fe42,False,,False,0.001,0.344,0.005,1.721,1.0,1.0,1.0,1.0
17,1.463,0.086,1.574,0.093,2024-05-07T16:26:25,pyrealm/core/utilities.py,339,evaluate_horner_polynomial,pyrealm/core/utilities.py:evaluate_horner_polynomial,7c3fe42,False,,False,0.086,0.093,1.463,1.574,1.0,1.0,1.0,1.0
4,0.09,0.022,0.937,0.234,2024-06-05T11:31:06,pyrealm/core/water.py,67,calc_density_h2o_fisher,pyrealm/core/water.py:calc_density_h2o_fisher,62d7a74,False,,True,0.025,0.162,0.101,0.647,0.8799999999999999,1.4444444444444444,0.891089108910891,1.4482225656877898
5,0.005,0.001,1.936,0.387,2024-06-05T11:31:06,pyrealm/core/water.py,126,calc_density_h2o,pyrealm/core/water.py:calc_density_h2o,62d7a74,False,,True,0.001,0.344,0.005,1.721,1.0,1.1250000000000002,1.0,1.124927367809413
17,1.7,0.1,1.805,0.106,2024-06-05T11:31:06,pyrealm/core/utilities.py,339,evaluate_horner_polynomial,pyrealm/core/utilities.py:evaluate_horner_polynomial,62d7a74,False,,True,0.086,0.093,1.463,1.574,1.1627906976744187,1.139784946236559,1.161995898838004,1.1467598475222363
Loading
Loading