Changelog
Source:NEWS.md
PEcAn.uncertainty 1.9.0.9000
- Multiple bugfixes in
input.ens.gen()handling of parent ids (#3783):- No longer skips inputs that have a parent but no sampling method.
- Argument
parent_idsnow accepts integer vectors even if not wrapped in a list. - New argument
bad_parent_actionchooses how to handle parent ids that do not match an input path: default “error” to stop with an error, “resample” to replace invalid indices from the input paths that do exist.
- run.ensemble.analysis() now respects
settings$modeloutdirrather than assuming anout/folder insidesettings$outdir(@Akash-paluvai, #3722). - Added
generate_OAT_SA_design()for creating input design matrices for sensitivity analysis. This function ensures non-parameter inputs (met, IC, soil) are held constant, which is required for valid variance decomposition in one-at-a-time (OAT) sensitivity analysis (#3729) -
get.parameter.samples()now consistently accepts PFTs with nooutdirspecified. These previously failed when no database connection was available. - Improved row alignment and text scaling in
plot_variance_decomposition(). -
plot_variance_decomposition()gains argumentorder_by, sorting highest variance to the top by default. To reproduce old behavior, useorder_by = "none".
PEcAn.uncertainty 1.9.0
License change
PEcAn.uncertainty is now distributed under the BSD 3-clause license instead of the NCSA Open Source license.
Added
- Added the shared
input_designmatrix, generated via new funtiongenerate_joint_ensemble_design(), keeps parameter draws and sampled inputs aligned acrossrun.write.configs(),write.ensemble.configs(), andwrite.sa.configs(). (@blesson-07, #3535, #3677). - New function
compute_sobol_indicesfor use in global sensitivity analyses (@blesson-07, #3612).
Changed
- Breaking:
write.ensemble.configsgains new mandatory argumentsinput_designandensemble.size, and removes argumentsamples. Note thatinput_designandensemble.sizeare added to the beginning of the argument list, so calls passingdefaultsunnamed as the first arg will break (#3612, #3634). - Breaking:
input.ens.gengains new mandatory argumentensemble_size, added between the existingsettingsandinputargs. - Plotting sensitivity now makes less noise in the console and once again produces a one-page PDF as intended (#3560).
-
write.ensemble.configsandwrite.sa.configsnow generate an ensemble id if one is not provided in a DB-free run (#3654). Runs with DB continue to always generate a new id. Note that multi-site runs with no id provided will now get a separate ensemble ID (and thus generate separate analyses) for each site. - Documented that
runModule.run.sensitivity.analysisdoes not yet work with multisite settings. This will be fixed in a future release. - The default sampling method of
get.ensemble.sampleshas changed from “uniform” to “random” (#3535).
PEcAn.uncertainty 1.8.1
-
write.ensemble.configsnow respects argumentwrite.to.dbwhen settingsbetydatabasewrite is set, it still overrideswrite.to.db). - Roxygen fixes
PEcAn.uncertainty 1.8.0
- Added an optional
pftsargument torun.sensitivity.analysis()so that sensitivity analysis and variance decomposition can be run on a subset of PFTs defined insettingsif desired (#3155).