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

Release v0.11.0 #89

Merged
merged 46 commits into from
Feb 12, 2024
Merged

Release v0.11.0 #89

merged 46 commits into from
Feb 12, 2024

Conversation

eloch216
Copy link
Owner

CHANGES IN PhotoGEA VERSION 0.11.0 (2024-02-12)

  • Added new options for adding penalties to the error function during Variable J fits, that enable the user to selectively penalize negative or unreasonably large values of mesophyll conductance.
  • Made a few improvements to C3 curve fitting functions (fit_c3_aci and fit_c3_variable_j):
    • Two more parameters can now be fit: alpha (related to TPU) and Gamma_star.
    • Unreliable parameter estimates can now be excluded; for example, if no points on a curve have An = Ap, the fit will return NA for TPU.
    • The initial guess functions (initial_guess_c3_aci and initial_guess_c3_variable_j) can now accomodate user-supplied values of alpha.
  • Made a few improvements to all three nonlinear fitting functions (fit_c3_aci, fit_c3_variable_j, and fit_c4_aci):
    • The error functions are now available in the package namespace as error_function_c3_aci, error_function_c3_variable_j, and error_function_c4_aci.
    • Confidence intervals around the best-fit values can now be calculated automatically by the fitting functions, or manually using three new
      functions in the package namespace: confidence_intervals_c3_aci, confidence_intervals_c3_variable_j, and confidence_intervals_c4_aci.
    • The initial guess functions are now created internally instead of being an input argument.
    • There is a new system for supplying fit options (upper and lower bounds, and which parameters to fit):
      • Users now only need to specify changes from the default settings.
      • The order of parameters no longer matters because lists of named elements are used.
      • Parameters that could be fit, but are not being fit, can either be set to fixed values or to values from a column of an exdf object.
      • Unknown parameters are now provided in alphabetical order when applicable (such as the first input arguments to calculate_c3_assimilation).
    • The functions are more tolerant to curves with severe problems (such as negative Ci) that prevent a good fit from being found; rather than throwing an error, the fit functions now silently return NA for all results, along with a message explaining the issue.
  • Added a function for estimating Rd with the Laisk method: calculate_rd_laisk
  • A "unit dictionary" was added for internal use; this may be expanded and used more often in the future.
  • Renamed several variables and input arguments:
    • Licor files contain a column called alpha, and several different "alphas" were used throughout PhotoGEA. To avoid confusion, the values in PhotoGEA were renamed as follows:
      • alpha_g: used in C3 assimilation calculations
      • alpha_pr: used in Gamma_star calculations
      • alpha_psii: used in C4 assimilation calculations
    • The acronym "TPU" was used to refer to a process (triose phosphate utilization) and the maximum rate of that process. To avoid confusion, the rate parameter was renamed to Tp
  • Tests were added for several functions:
    • calculate_c3_assimilation
    • fit_c3_aci
    • fit_c3_variable_j
    • fit_c4_aci
    • calculate_c3_limitations_grassi
    • calculate_c3_limitations_warren
  • The read_gasex_file function now automatically includes the filename as a column in the resulting exdf object; this helps with troubleshooting problematic curves or files.
  • PRs related to creating this version:

eloch216 and others added 30 commits December 16, 2023 15:32
Documentation is not complete and vignettes/examples need to be updated
Standardize guess boundaries
Use alpha = 0.5 for guesses
If they are are not numeric values, there must a corresponding column in a related exdf object

Also added a unit dictionary

This approach seems to be slow
This allows us to use columns for the values of fixed parameters, which was not possible before
eloch216 and others added 16 commits January 22, 2024 15:48
Added tests for the Warren function

Renamed the `alpha` used in TPU calculations because there is a Licor column called `alpha`

`check_required_variables` no longer throws an error if a column is NA
Rename alpha used for calculating Gamma_star

Rename alpha used in C4 assimilation
Now we can distinguish between the process (triose phosphate utilization; TPU) and the maximum rate at which the process occurs (Tp)
Copy link

codecov bot commented Feb 12, 2024

Codecov Report

Attention: 117 lines in your changes are missing coverage. Please review.

Comparison is base (9b59a28) 85.42% compared to head (9af5f81) 86.11%.
Report is 4 commits behind head on main.

Files Patch % Lines
R/confidence_intervals_c3_variable_j.R 0.00% 34 Missing ⚠️
R/fit_c3_variable_j.R 85.71% 27 Missing ⚠️
R/error_function_c3_variable_j.R 87.82% 14 Missing ⚠️
R/calculate_c4_assimilation.R 76.92% 12 Missing ⚠️
R/calculate_c3_assimilation.R 89.55% 7 Missing ⚠️
R/calculate_c3_variable_j.R 78.78% 7 Missing ⚠️
R/remove_C3_unreliable_points.R 75.86% 7 Missing ⚠️
R/confidence_intervals.R 96.42% 2 Missing ⚠️
R/calculate_rd_laisk.R 98.30% 1 Missing ⚠️
R/confidence_intervals_c3_aci.R 96.66% 1 Missing ⚠️
... and 5 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #89      +/-   ##
==========================================
+ Coverage   85.42%   86.11%   +0.69%     
==========================================
  Files          64       74      +10     
  Lines        3018     3717     +699     
==========================================
+ Hits         2578     3201     +623     
- Misses        440      516      +76     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@eloch216 eloch216 merged commit dd83d1d into main Feb 12, 2024
9 checks passed
@eloch216 eloch216 mentioned this pull request Feb 12, 2024
@eloch216 eloch216 deleted the release-v0.11.0 branch February 12, 2024 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants