Nothing
value
and examples
sections in their
documentation.tz = 'America/Chicago'
when pairing TDL and gas exchange data, since
setting tz = 'US/Central')
does not seem to work on debian. CRAN checks the
package examples on debian.read_cr3000
, read_licor_6800_Excel
, and read_licor_6800_plaintext
so they can be used in examples without needing :::
.maxiter
to 40 when using stats::uniroot
to calculate confidence
intervals; this saves quite a bit of time compared to the default value (1000)
and prevents several examples from being flagged by R CMD check
for taking
too long to run.message
to send messages to the user in rbind.exdf
rather than cat
or print
. This is necessary to comply with CRAN requirements.Gamma_star
from its value at 25
degrees C. With this change, several functions (including fit_c3_aci
and
fit_c3_variable_j
) now have separate inputs for Gamma_star_at_25
and
Gamma_star_norm
. The fitting functions can now fit Gamma_star_at_25
rather
than Gamma_star
, which previously represented the value at leaf temperature.
Since each set of temperature response parameters (such as
c3_temperature_param_bernacchi
) tends to use a different value of
Gamma_star_at_25
, the temperature response parameter lists now include both
Gamma_star_at_25
and Gamma_star_norm
.Kc
and Ko
from their values at 25
degrees C, and enabled fits of Kc_at_25
and Ko_at_25
. As with
Gamma_star
, the temperature response parameter lists include values at 25
degrees C and the normalized temperature responses.alpha_j_at_25
and theta_j_at_25
to the Jmax-related
temperature response parameter lists.calculate_gamma_star
function now returns values of Gamma_star_tl
to
more clearly indicate that the values are specified at leaf temperature.organize_response_curve_data
function now only calls
check_response_curve_data
when points are being removed, making it more
flexible.frequent_questions.Rmd
), and the other is a gallery of PhotoGEA
publications (publications.Rmd
). Along with this change, the pkgdown
web
site was reorganized to put the PhotoGEA publications in their own tab on the
main navigation bar.calculate_c3_assimilation
. Allowing
co-limitation is a complication for fitting, and tends to produce unreasonable
results, so it doesn't make sense to allow it.atp_use
and nadph_use
to Wj_coef_C
and Wj_coef_Gamma_star
because the old names and definitions for these parameters were not accurate.DESCRIPTION
and README.md
.Vc
) and net assimilation rate (An
) are now
consistent when using the min-A variant of the FvCB model.calculate_jmax
) and
included it in the C3 and C4 A-Ci curve vignettes. Along with this function,
new temperature response parameters were added:
jmax_temperature_param_bernacchi
and jmax_temperature_param_flat
. These
employ polynomial temperature responses, a new type that was also added to the
package via the calculate_temperature_response_polynomial
function.identify_c3_limiting_processes
now returns each co-limiting process when
assimilation is co-limited.data.frame
objects in addition to
exdf
objects: calculate_ball_berry_index
, calculate_c3_assimilation
,
calculate_residuals
, document_variables
, identify_c3_limiting_processes
,
and set_variable
.read_licor_6800_plaintext
and read_licor_6800_Excel
.organize_response_curve_data
that enables
calculations of average values for specified columns.exdf
construction and element access; now it is possible to provide
just a few units when creating an exdf
object, and it is possible to create
single-column exdf
objects.print
or str
on an exdf
object, the text printed to the
terminal now explains that it was generated by converting an exdf
to a
data.frame
.Measurements
. A
Remarks
sheet is optional.factorize_id_column
can now work with other control group names besides
WT
.Gamma_star
was sometimes accidentally removed from the
outputs of fit_c3_aci
and fit_c3_variable_j
calculate_c3_assimilation
are checked to make
sure they are supported. Going forward, any new functions with optional
arguments (such as calculate_jmax
) will use this same check.Qin
from several functions related to C4 A-Ci curves, since Qin
is
not actually needed for fitting C4 A-Ci curves.unit_dictionary
is now a function rather than a list, which enables
better error messages when a quantity is not included in the dictionary; a few
mistakes were discovered this way (and fixed).TRUE
or
FALSE
) to a numeric indicator (0, 1, or 2). These values indicate severe
unreliability, potential unreliability, and full reliability, respectively.calculate_c3_assimilation
that
allow variants of the FvCB model to be used: use_min_A
, TPU_threshold
,
use_FRL
, and consider_depletion
. These can also be specified when fitting
curves.identify_c3_unreliable_pts
was modified to make it
compatible with the new use_min_A
option.remove_points
, allowing users to exclude points
from any subsequent fits rather than completely removing them.plot_c3_aci_fit
and the other fit plotting functions have been altered to
distinguish between points included in or excluded from the fit.xyplot_avg_rc
has been altered to exclude such points when calculating
average valuesbarchart_with_errorbars
fit_ball_berry
: standard
error for each fitted parameter, and the p-value for the fit. A dedicated
plotting function was also added (plot_ball_berry_fit
).fit_medlyn
check_required_columns
and set_variable
calculate_arrhenius
and calculate_peaked_gaussian
have been renamed to
calculate_temperature_response_arrhenius
and
calculate_temperature_response_gaussian
to better reflect their purpose.calculate_temperature_response_johnson
.Tp
is
now specified at 25 degrees C and follows a temperature response function,
as was already done for Vcmax
, J
, and RL
.Jmax
is
now specified at 25 degrees C, rather than at its optimum value, for
consistency with the other parameters that can be fit in PhotoGEA.calculate_temperature_response
. It internally calls the other functions,
so users can just use this single function.c4_arrhenius_von_caemmerer
and c4_peaked_gaussian_von_caemmerer
have
been consolidated into a single list suitable for use with
calculate_temperature_response
, caled c4_temperature_param_vc
.c3_arrhenius_sharkey
and c3_arrhenius_bernacchi
lists now include
Johnson-Eyring-Williams reponses for Tp
and gmc
and have been renamed to
c3_temperature_param_sharkey
and c3_temperature_param_bernacchi
since
they are no longer pure list of Arrhenius parameters.read_licor_6800_Excel
now checks to make sure the A
and gsw
columns are
not all zero; if these columns are all zero, this indicates that the Excel
file needs to be "calculated," and a relevant message is sent to the user.alpha_t
)gmc_at_25
)gmc_at_25
) and to fit J
rather than Jmax
.calculate_RL_laisk
to fit_laisk
since a
fitting procedure is used, and the method also estimates Ci_star
in
addition to RL
.plot_laisk_fit
.residual_stats
so the AIC can be more easily
calculated for fits from other packages.optimizer_nlminb
) and improved the optimizer
documentation and testing. The new optimizer is a wrapper for stats::nlminb
and employs a quasi-Newton algorithm.identify_c3_limiting_processes
. This function is used internally by
fit_c3_aci
and fit_c3_variable_j
.check_j
fit_c4_aci_hyperbola
. This allows users to
fit an empirical hyperbola to C4 A-Ci curves, rather than the mechanistic
model used in fit_c4_aci
.calculate_c4_assimilation_hyperbola
,
confidence_intervals_c4_aci_hyperbola
, error_function_c4_aci_hyperbola
,
initial_guess_c4_aci_hyperbola
, and plot_c4_aci_hyperbola_fit
.fit_c4_aci_hyperbola
and
calculate_c4_assimilation_hyperbola
hard_constraints
and it takes a numerical value, where
higher values impose more constraints on parameter values. The highest value
is 2.hard_constraints
to 2 is equivalent to the default behavior in
previous versions of PhotoGEA.calculate_c3_assimilation
, calculate_c3_variable_j
,
calculate_c4_assimilation
, and calculate_c4_assimilation_hyperbola
, as
well as any functions that use these internally, such as
calculate_c3_limitations_warren
and fit_c3_aci
.remove_unreliable_param
input argument must now
be a numeric value rather than a logical value.FALSE
in previous
versions of PhotoGEA).TRUE
in previous
versions of PhotoGEA).fit_c4_aci
, which had previously suggested to
avoid fitting more than one of Vcmax_at_25
, Vpr
, and Jmax_at_opt
.require_positive_gmc
input argument of the
fit_c3_variable_j
function has been changed to positive_a
.Rd
(the rate of day
respiration) has been changed to RL
(the rate of respiration in the light)
and Rm
(the rate of day respiration occurring in the mesophyll) has been
changed to RLm
(the rate of respiration in the light occurring in the
mesophyll). The subscript L
for "light" is more clear than d
for "day,"
since in some contexts d
refers to "dark." One function name was modified
during this process: calculate_rd_laisk
became calculate_RL_laisk
.basic_stats
function was updated so it can ignore NA
values when
calculating averages and standard errors.check_response_curve_data
function was updated so there is now an option
to create a warning rather than an error message when a problem is detected.estimate_operating_point
function was updated so a value of NA
for the
Ca_atmospheric
input simply bypasses the operating point calculations. Along
with this, the default value for Ca_atmospheric
was set to NA
in the
fit_c3_aci
, fit_c3_variable_j
, and fit_c4_aci
functions. With these
changes, calculating the operating point is now optional.fit_c4_aci_hyperbola
.3.6.0
to 4.0.0
. The GitHub
actions testing setup no longer works for R < 4.0, so it has become too
difficult to guarantee compatability with an earlier version.fit_c3_aci
, fit_c3_variable_j
, and fit_c4_aci
.sigma = 1
.sigma = RMSE
.sigma = RMSE
.alpha_old
(for C3 A-Ci and Variable J fits);
these settings will ensure more robust fitting resultsalpha_old
(previously alpha_g
),
alpha_g
, and alpha_s
alpha_old
is nonzero, then alpha_g
and alpha_s
must be zero.
Likewise, if alpha_g
or alpha_s
is nonzero, then alpha_old
must be
zero. This will prevent users from mixing the two models together.fit_c3_aci
, fit_c3_variable_j
, and fit_c4_aci
now
include a new output called fits_interpolated
that contains values of the
predicted assimilation rates with a Ci
step of 1 ppm.plot_c3_aci_fit
and
plot_c4_aci_fit
. These functions use the new information in
fits_interpolated
to make nice plots comparing the measured data and the
fits.NA
values when using xyplot_avg_rc
and
barchart_with_errorbars
exclude_outliers
to make sure it doesn't exclude NA
valuesexdf
objects to CSV
files and recreating
exdf
objects from those files are now available: write.csv.exdf
and
read.csv.exdf
.Inf
to be unreliable.calculate_c4_assimilation
; now we have fully implemented the von Caemmerer
model equations. This also necessitated a new function for temperature
response calculations: calculate_peaked_gaussian
.fit_c4_aci
: alpha_psii
, gbs
,
Jmax_at_opt
and Rm_frac
.fit_c4_aci
.optimizer_hjkb
) and changed their default arguments
so a user must always specify the tolerance or number of generations.read_licor_6800_Excel
and
read_licor_6800_plaintext
: get_oxygen
. When this input is TRUE
,
get_oxygen_from_preamble
will automatically be used to get the oxygen
percentage from the file's preamble when it is loaded.read_gasex_file
: standardize_columns
.read_licor_6800_plaintext
can now read log files that were closed and
reopenedPhotoGEA_example_file_path
to avoid using
system.file
in examples since system.path
has been confusing for some
userscheck_licor_data
has been renamed to check_response_curve_data
since it is
not limited to only Licor measurements3.6.0
.fit_c3_aci
and
fit_c3_variable_j
):alpha
(related to TPU) and
Gamma_star
.initial_guess_c3_aci
and
initial_guess_c3_variable_j
) can now accommodate user-supplied values of
alpha
.fit_c3_aci
, fit_c3_variable_j
, and fit_c4_aci
):error_function_c3_aci
, error_function_c3_variable_j
, and
error_function_c4_aci
.confidence_intervals_c3_aci
, confidence_intervals_c3_variable_j
, and
confidence_intervals_c4_aci
.calculate_c3_assimilation
).NA
for all results, along
with a message explaining the issue.Rd
with the Laisk method:
calculate_rd_laisk
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 calculationsalpha_pr
: used in Gamma_star calculationsalpha_psii
: used in C4 assimilation calculationsTp
calculate_c3_assimilation
fit_c3_aci
fit_c3_variable_j
fit_c4_aci
calculate_c3_limitations_grassi
calculate_c3_limitations_warren
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.fit_c3_aci
:calculate_c3_variable_j
, initial_guess_c3_variable_j
, and
fit_c3_variable_j
.dpmn_error_jrv
, dpmn_error_jrvtt
, dpmn_error_jrv_tau
,
dpmn_error_jrv_tpu
, and photosynthesis_TRF
.DEoptim
package (called optimizer_deoptim
)
and renamed default_optimizer
to optimizer_nmkb
. The new
optimizer_deoptim
is used as the default optimizer for variable J fitting.calculate_c3_limitations_grassi
and
calculate_c3_limitations_warren
.estimate_operating_point
.multi_curve_line_colors
and
multi_curve_point_colors
) and used them in vignette examples.fit_c3_aci
and fit_c4_aci
now use estimate_operating_point
to
automatically estimate the operating point and include it with the other fit
parameters.calculate_iwue
to calculate_wue
and provided documentation for
this function, which now calculates two measures of leaf-level water use
efficiency.factorize_id_column
and converted it to an S3
method so it can be applied to data frames and exdf objects.process_id_column
function since it can easily be replicated
using paste
.xyplot_avg_rc
.calculate_c3_assimilation
where Rd
(the value of day
respiration at 25 degrees C) was used in place of Rd_tl
(the value of day
respiration at the leaf temperature) when calculating net assimilation rates.R CMD check
GitHub workflow, and a
code coverage GitHub workflow.check_required_variables
where missing units in an exdf
object were not properly identifiedcheck_required_variables
is functioning as expectedpdf_print
calculate_gamma_star
calculate_gm_busch
calculate_gm_ubierna
calculate_isotope_discrimination
calculate_leakiness_ubierna
calculate_ternary_correction
get_oxygen_from_preamble
get_sample_valve_from_filename
pair_gasex_and_tdl
licor_for_gm_site11.xslx
and
tdl_for_gm.dat
) for use in examples and vignettes.total_isotope_ratio
was renamed to delta_13C
total_mixing_ratio
was renamed to total_CO2
batch_get_genotype_info_from_licor_filename
).constants.R
) to store the values of some constants that
appear in multiple functions; this will help ensure that consistent values
are used in each instance.read_gasex_file
and attempted to clarify
instructions for selecting files to load.read_gasex_file
using the testthat
package.identify_tdl_cycles
and process_tdl_cycle_polynomial
so they can
handle cycles where there are multiple measurement logs from each valve.calculate_c3_assimilation
and calculate_c4_assimilation
to make the code
cleaner and more robust.calculate_c3_assimilation
:alpha
(previously this value was
hard-coded to 0).min_aj_cutoff
and max_aj_cutoff
to cj_crossover_min
and
cj_crossover_max
to better reflect their purpose.fit_c3_aci
and fit_c4_aci
that include the average
values of leaf-temperature-dependent parameters like Vcmax
and Rd
.c3_arrhenius_no_temp
and c4_arrhenius_no_temp
.plaintext_licor_file
represents a plaintext Licor LI-6800 log file.c4_aci_1.xlsx
and c4_aci_2.xlsx
contain examples of C4 A-Ci curves
measured with Licor LI-6800 instruments.read_gasex_file
.read_gasex_file
internally calls either read_licor_6800_Excel
,
read_licor_6800_plaintext
, or read_CR3000
to actually read the data from
the file.read_licor_file
and read_tdl_file
are now
deprecated. Since these functions are commonly used in scripts, a message
will be sent to any users who attempt to call these functions. Eventually
they will be completely removed from the package namespace.calculate_total_pressure
.apply_gm
calculate_c3_assimilation
calculate_gas_properties
fit_c3_aci
calculate_cc
is now apply_gm
so it can be used for C3 and C4
photosynthesis calculations.apply_gm
was modified to include partial pressures in its outputs.fit_c4_aci
was modified to make it more like fit_c3_aci
.xyplot_avg_rc
so that y-axis error bars can
be disabled.apply_gm
so that drawdown calculations are
now optional.check_licor_data
.initial_guess_c4_aci
makes initial guesses for C4 photosynthetic
parameters.calculate_c4_assimilation
calculates assimilation values using S. von
Caemmerer's model for C4 photosynthesis.fit_c3_aci
so it now ensures that the initial guess lies within
(and not on) the bounds. This is a requirement for the dfoptim::nmkb
solver
and presumably other bounded optimizers as well.dfoptim
package from Suggests
to Imports
because it is used by
an essential part of PhotoGEA
.check_required_variables
function was moved to the package namespace.default_optimizer
).initial_guess_c3_aci
).identifier_columns
).residual_stats
).cbind.exdf
no longer requires all objects to have the same number of rows.[<-.exdf
now allows users to remove columns by setting their values to
NULL
.POSIXlt
in read_tdl_file
and
read_licor_file
can now be skipped by setting timestamp_colname
to NA
.fit_c3_aci
:curvature
value that can be used to allow
co-limitation of the net assimilation rate.initial_guess_c3_aci
to generate initial guesses by default.TPU
) and
exclude them from the fitting process via a new input argument called
fixed
.fit_ball_berry
also returns residuals and error metrics in its output.plantecophys::fitaci
is developed.fit_c3_aci
.TPU
in the output from calculate_c3_assimilation
.organize_response_curve_data
function, changed the default value of
the ordering_column_tolerance
column to Inf
to disable this check by
default, since we often want to reorder using a column like Ci
that does not
follow the same sequence of values in every curve.fit_c3_aci
: min_aj_cutoff
and
max_aj_cutoff
, which provide a way to constrain the range of Cc
where Aj
is allowed to be the limiting assimilation rate.process_tdl_cycle_polynomial
)
and an option for using it in the gm_from_tdl
script.calculate_c3_assimilation
that was causing it to report
incorrect An
values at low Cc
.Ac
was misidentified as the "RuBP-limited" rate;
in fact, it is the RuBP-saturated rate but is more commonly referred to as the
rubisco-limited rate.fit_c3_aci
.licor-processing-and-analysis
to
PhotoGEA
.remotes::install_github
.pkgdown
and GitHub Pages by using
usethis::use_pkgdown_github_pages
; website is now available at
https://eloch216.github.io/PhotoGEA/index.html.remove_points
).choose_input_files
).calculate_c3_assimilation
).fit_c3_aci
).exdf
column values (set_variable
).calculate_arrhenius
).is.exdf
.organize_response_curve_data
now has a specification for points to remove
rather than points to keep, because this is usually easier to do.document_variables
(formerly specify_variables
)exclude_outliers
barchart_with_errorbars
(formerly bar_wrapper
)bwplot_wrapper
(formerly box_wrapper
)xyplot_avg_rc
(formerly avg_xyplot
)multi_curve_colors
(formerly default_colors
)calculate_cc
check_required_variables
(formerly check_required_columns
)example_data_files
(and also added new files for C3 A-Ci curves)c3_arrhenius_bernacchi
, c3_arrhenius_sharkey
, and
c4_arrhenius_von_caemmerer
add_gm_to_licor_data_from_table
add_gm_to_licor_data_from_value
batch_specify_oxygen
batch_specify_respiration
choose_input_gm_table_file
read_gm_table
set_variable
)fit_c3_aci
calculate_c3_assimilation
calculate_cc
calculate_gas_properties
calculate_c3_assimilation
calculate_ball_berry_index
fit_ball_berry
exdf
objects can now be initialized from just a data frame; in this case,
units and categories will all be NA
.apply_fit_across_reps
and process_tdl_cycles
have been replaced by two
new lower-level functions that offer more generality: by.exdf
and
consolidate
.check_response_curve_data
and check_signal_averaging_data
have been
consolidated into one function: check_licor_data
.exdf
method for cbind
has been added.exclude_tdl_cycles
and extract_tdl_valve
have been removed since they
can easily be reproduced with more basic exdf functionality.basic_stats
and the "Variable J" example script have been fixed.basic_stats
and the "Variable J" example script have been
broken.1.0.0
for the first version where all R package
functions and data sets have been documented; until then, major changes should
only increase the minor version number.Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.