Skip to content

Koa FVS-HI: survival and ingrowth respecification, stress test findings, and withdrawal of the scalar SDImax - #31

Open
holoros wants to merge 4 commits into
USDAForestService:mainfrom
holoros:koa-stress-test
Open

Koa FVS-HI: survival and ingrowth respecification, stress test findings, and withdrawal of the scalar SDImax#31
holoros wants to merge 4 commits into
USDAForestService:mainfrom
holoros:koa-stress-test

Conversation

@holoros

@holoros holoros commented Aug 5, 2026

Copy link
Copy Markdown

Correction notice, 7 August 2026

An earlier version of this title and description claimed a corrected maximum stand density index of 933 metric and a Reineke self-thinning slope range of -0.47 to -1.17. Both claims are withdrawn. This description replaces them. Anyone who read the earlier text should discard the 933 value, the slope range, and any statement in it expressed as a percent of a maximum stand density index.

What this branch changes

The branch adds a koa-specific survival and recruitment specification for the FVS-HI variant, covering Acacia koa A. Gray, in two files: koa_survival_calibrated.R, which supplies a density-dependent annual stand survival rate intended to replace the published complementary log-log survival path in HiGy.R, and koa_ingrowth.R, which adds an annualized recruitment component that HiGy.R does not currently have at all. It also carries the stress test material and diagnostics behind those two specifications. It is offered as a reviewable specification of the koa equations, not as a drop-in replacement for the deployed variant, and the merge state is described at the end.

The scalar maximum stand density index is withdrawn, and no scalar replaces it

The maximum stand density index of 500 metric carried in the published 1.2.0 Python executables is withdrawn. It was fitted on FIA plot-years alone and then carried into an equation estimated on all four data sources, so it was wrong in provenance before it was wrong in value. Two later replacements, 1350 metric on 5 August and 933 metric on 6 August, are also withdrawn. No scalar replaces them, and SDImax is now a reporting-only argument defaulting to NA in both files.

The 933 value was withdrawn by an independent red team pass for four reasons, any one of which would disqualify it. Its estimator was quantile(sdi_reineke, 0.99, type = 7) on 59 screened plot-years, where the type 7 index of 58.42 makes the result a fixed blend of order statistics 58 and 59 and nothing else, with leave-one-out spanning 882 to 933 metric. Its published 95 percent upper limit of 946 metric is the sample maximum bit for bit, with 26.5 percent of cluster bootstrap draws landing exactly on it. None of the 59 screened plot-years reaches the Reineke index diameter of 25 cm, their quadratic mean diameters running 1.3 to 22.4 cm with a median of 11.3 cm, so every value on that scale was obtained by projecting up to 25 cm along a slope of -1.605 that has never been estimated for the species; the free upper-envelope slope on these same data is -0.714 to -0.768. And the crown packing screen that produced the number is a tuning knob rather than a filter, returning 933 metric at growing space index 15, 622 metric at 20 and 373 metric at 25.

Any statement expressed as a percent of a maximum stand density index should be disregarded, including the claim that peak density reaches 72 to 88 percent of the maximum. Withdrawing the scalar does not change any projection produced by the equation of record, because the constant is algebraically absent from the absolute-SDI expression. An independent reimplementation of the ramp from its written specification, rather than executed from the file, gives a maximum absolute difference of exactly 0.0 in annual mortality across SDImax values of 500, 933, 1087, 1350, 1882 and absent.

The survival equation of record

koa.SURV.calibrated() in koa_survival_calibrated.R ramps annual stand mortality on absolute stand density index, not on relative density. Onset is at SDI 200 metric, 79 imperial, with a 95 percent profile region of 75 to 225 metric. Full lift is at SDI 850 metric, 335 imperial, with a 95 percent profile region of 800 to 925 metric. The ramp fraction is frac = clamp((SDI - 200) / (850 - 200), 0, 1), the base annual rate is 0.003 for natural origin and 0.006 for planted, and the maximum lift is 0.15, so annual mortality is base + 0.15 * frac and tops out at 0.153. The argument mort_max = 0.20 is inert at these levels and is a guardrail only. Where stand density index is not supplied directly it is recovered from basal area and quadratic mean diameter inside the function; the ramp itself takes no maximum.

Alternative levels re-estimated on the same records are recorded in the file but deliberately not deployed: base 0.0384 for natural origin, 0.0142 for planted, and maximum lift 0.0870. They reverse the published origin ordering, and they are fitted on the same records that the adjudication below puts in question.

The ingrowth equation of record

koa.ingrowth() in koa_ingrowth.R gives expected annualized recruitment as exp(5.3836 - 0.0061866 * SDI - 1.6359 * planted) in trees ha per year, with a slope of -0.0061866 per unit of absolute stand density index and a cap of 160 trees per hectare per year. It is fitted on recruitment across 363 plot-periods of remeasurement rather than on death records, so it is not affected by the sentinel adjudication below, and the withdrawal of the scalar leaves it unchanged because the density term was always a slope per unit of absolute SDI.

Two honest qualifications. The cap of 160 has no documented provenance and it does bind, though not in the way an earlier version of this description stated. It cuts the uncapped intercept prediction of 217.9 trees per hectare per year by 26.5 percent, and it binds on natural-origin predictions below about SDI 50 and never in plantations, whose uncapped intercept is 42.4. The earlier claim that it truncates about 27 percent of predictions is withdrawn: 26.5 percent is the truncation depth at the intercept, not a share of predictions. And AK.HT.csv, cited in the earlier version of this description as the ingrowth fitting source, does not exist under that name in the deposited tree; the present files are AK_HCB, AK_PLT, AK_PLT_GEO, AK_PLT_missing_GEO, AK_SURV and AK_TREE. Until that reference is reconciled the ingrowth fit is not reproducible from the deposit.

Both ramp thresholds are under adjudication

Onset 200 and full lift 850 are both provisional pending an answer from the DOFAW and PSP data custodians on what a dim_sentinel record encodes: a tree that died, a tree that was harvested, or a tree that was reclassified or not found at remeasurement. That question has to be answered by the people who wrote the records rather than inferred from them, and it matters because the thresholds are located by where deaths sit in density and almost all of the deaths are sentinels.

On the sample of record, restricted to diameter at breast height at or above 2.5 cm after deduplication, 831 of 927 mortality events, 89.6 percent, are sentinels. An earlier version of this description gave 911 of 1,007; that pair is withdrawn, because it matches neither the pre-deduplication nor the post-deduplication footing of the underlying file and could not be reproduced. Four counts are each correct on their own filter, 983 of 1,080 pre-deduplication, 900 of 997 post-deduplication on variant (ii), and 831 of 927 at the 2.5 cm threshold after deduplication, and only the last is the sample the operational ramp is fitted on. There is not one non-sentinel mortality event anywhere above SDI 640. All non-sentinel deaths fall between SDI 52 and 640 with a median of 347, against a sentinel median of 617. Independently, observed annual mortality rises with density as the ramp assumes and then falls to 2.33 percent above SDI 1,200, the lowest rate in the series, where the ramp predicts 15.3 percent. That last figure rests on 12 deaths in 516 tree-years across four plots, so it points rather than proves, but it points the same way as everything else.

If the sentinels are not mortality, full lift is the more exposed of the two thresholds. Its profile region of 800 to 925 metric has no non-sentinel support at all, because the non-sentinel record stops at SDI 640, so full lift could not be identified above SDI 640 from the surviving evidence by any estimator and the plateau of the ramp from SDI 640 upward would be unsupported. The concentration of sentinels at high density is exactly the signature thinning would leave, which is why harvest is the specific alternative that has to be ruled out. Onset is exposed differently: its location is already sample dependent, moving to SDI 750 metric if sub-2.5 cm seedling records are left in, and dropping the sentinels would leave only nine non-sentinel deaths below SDI 200. The direction of that shift cannot be asserted in advance and needs the refit. What can be asserted in advance is that with 96 events remaining a two-threshold piecewise linear ramp may not be identifiable at all, in which case the defensible form is a single threshold or a smooth monotone density term, which is a change of model form and not of constants.

The published 1.2.0 Python should not be used operationally

The deposited Python executables in version 1.2.0 carry the retired relative-density ramp. With SDI_MAX = 500.0 and relative-density thresholds of 0.65 and 0.85, that ramp places self-thinning onset at absolute SDI 325 and full lift at absolute SDI 425, less than half the current full-lift threshold. Annual mortality for natural origin, computed from both implementations at the shipped levels:

Absolute SDI Deposited 1.2.0 engine Equation of record
100 0.30% 0.30%
200 0.30% 0.30%
325 0.30% 3.18%
425 15.30% 5.49%
500 15.30% 7.22%
640 15.30% 10.45%
850 15.30% 15.30%
1200 15.30% 15.30%

The two agree only below SDI 200 and at or above SDI 850, and diverge by up to 9.8 percentage points per year through the range real stands occupy. Because koa_projector.py imports that module, every deposited output routed through the projector derives from the retired engine. Both thresholds in the equation of record are themselves under adjudication, so the honest statement is that the 1.2.0 ramp is wrong and its replacement is not yet settled.

The companion archive dated 5 August 2026 in the deposit directory should also not be followed. It presents 1350, and in one place 1352, as the corrected maximum. That value was withdrawn on 6 August, and the archive is being withdrawn from the manifest and rebuilt.

Three further defects in 1.2.0, independent of everything above

  1. The Table 8 quadratic mean diameter upper confidence limits are engine caps rather than confidence limits. koa_projector.py sets a maximum diameter of 60.0 cm for planted and 90.0 cm for natural and clamps every projection step to it, and the generator takes the 2.5th and 97.5th percentiles of the clamped Monte Carlo draws. Thirteen of the 24 even-aged rows are affected. Within them 13 upper limits, 2 lower limits and 6 point estimates sit exactly on a cap, 21 cells in total, and 2 intervals are consequently zero width on a hundred-year projection. An earlier version of this description said fifteen rows; that count double counted the two zero-width rows, which were already counted for their upper limits, and is withdrawn. The projector's own docstring states that the deployed variant applies none of these bounds, so the published intervals report a harness constraint rather than parameter uncertainty, and the volume and mean annual increment columns inherit the defect. The correction adopted upstream is to retain the bounded engine and declare the bound, rather than to release the cap: releasing it produced age 40 diameter upper limits of 71.76 to 102.24 cm against a maximum quadratic mean diameter of 69.68 cm observed on any koa plot-year, which replaced a guardrail with limits beyond anything ever measured at an age where measurement exists.

  2. HiGy.R surv_prob() and koa_prediction_functions.R koa.surv() both still return the complement of the fitted survival probability. That orientation defect was corrected in koa_equations.py for 1.2.0 and left uncorrected in those two functions. koa.surv() additionally disagrees with the fitted model on slenderness units, forming height over diameter in metres over metres where the fit uses metres over centimetres, and on Biomass Yield Index scaling, dividing by 100,000 where the fit divides by 1,000.

  3. HiGy.R carries no ingrowth at all. A long projection run through it draws an operational stand down to 2 to 3 m2 per hectare of basal area by year 200, against a steady state of 13.5 to 16.3 at 300 years once recruitment is active.

Merge state

Head is 0eda6bd, 30 commits ahead of the merge base. The branch is behind upstream main and currently has two merge conflicts, both in files outside the koa additions. It needs a rebase or merge from upstream before it could be merged, and that has not been done.

I am not asking for a merge in this state. What would be useful now is review of the two koa equation files as a specification, and in particular of the ramp form, since the sentinel adjudication may change the form rather than the constants. Merging should wait until the custodians answer, until the thresholds are refit on whatever subset that answer licenses, and until the branch is rebased. In the meantime the 1.2.0 mortality ramp should not be used operationally and the Table 8 diameter intervals should not be used as uncertainty statements.

@holoros

holoros commented Aug 6, 2026

Copy link
Copy Markdown
Author

Correction, 6 August 2026: SDImax 933 is withdrawn and no scalar replaces it

A red team pass today withdrew the 933 figure in the description above. Flagging it as a comment rather than only editing the body, since the body has already been read.

Why 933 fails. It is quantile(sdi_reineke, 0.99, type = 7) on n = 59. For n = 59 the type-7 index is 58.42, so the value is a fixed blend of order statistics 58 and 59 alone, and the other 57 plot-years each move it by 0.023 percent. Leave-one-out spans 882 to 933 metric. The 95 percent upper limit of 946 is the sample maximum bit for bit, with 26.5 percent of bootstrap draws landing exactly on it. It is the same defect as the 1350 it replaced, one layer down.

More fundamentally, not one of the 59 screened plot-years reaches the Reineke index diameter of 25 cm. Quadratic mean diameters run 1.3 to 22.4 cm with a median of 11.3, so every value is an extrapolation on a slope of -1.605 that has never been estimated for Acacia koa A.Gray and whose free upper-envelope estimate on this data is -0.714 to -0.768. A single Reineke SDImax is not a well defined summary of this cloud. The screen was also a tuning knob: crown packing at growing space index 15 returns 933 metric, GSI 20 returns 622, GSI 25 returns 373, and 15 is the only end above the koa literature.

What replaces it: no point value. A diameter-conditional bound from the highest published koa stand basal area, 42 m2 ha-1 (Harrington, Fownes, Meinzer and Scowcroft 1995, Oecologia 102:277-284), gives 934 metric (369 imperial) at Dq 20 cm, 796 (314) at 30 cm, and 651 (257) at 50 cm. The koa Reineke slope should be treated as unestimated.

Two supporting claims in the body are also retracted. The statement that plot area and expansion factor are absent from the source files is false: AK_SURV.csv carries a fully populated EXPF.0 column with four distinct values, constant within 95 of 100 plots, the five exceptions being FIA macroplot and microplot nesting. The 112 distinct implied expansion factors were an artifact of reconstructing expansion from row counts in a filtered file. The plot-year cited as five stems on roughly 56 m2 is 18 stems on 201.8 m2 in the source. The order-statistic argument stands on its own; that corroborating detail does not.

Drawdown. Any figure expressed as years to return to the self-thinning line is withdrawn, because without a defensible SDImax there is no line. The figures measured to the absolute threshold SDI 850 are unaffected and stand: 6 to 7 years from an overstocked pole start and 11 to 18 years from a hyperdense thicket start.

What has not changed, and it is the substantive point. The mortality ramp is parameterised in absolute SDI, onset 200 and full lift 850, so SDImax never enters it. Survival agrees to 1.11e-16 and the size allocator to 2.78e-17 across every candidate constant. Commit 0eda6bd makes SDImax an argument defaulting to NA and documented as reporting only, and re-anchors the basal area fallback from 49 to 42 m2 ha-1, breaking a circularity in which the fallback was itself derived from the constant it was meant to support.

The real defect the density constant was standing in for is a data quality problem. Some plot-years exceed relative density 1.0 at any SDImax below 2285 metric, and 2285 is set by a single plot-year implying 129.1 m2 ha-1, roughly three times the published koa maximum. No choice of constant fixes that.

Red team artifacts under koa_redteam/, seed 20260806, deliberately different from the seed of the work under review.

@holoros holoros changed the title FVS-HI koa: stress test, survival fix, ingrowth, and a corrected SDImax Koa FVS-HI: survival and ingrowth respecification, stress test findings, and withdrawal of the scalar SDImax Aug 8, 2026
@d-diaz

d-diaz commented Aug 8, 2026

Copy link
Copy Markdown

@holoros this looks like it contains a lot of commits from earlier contributions that should have since been merged into the main branch. It would make it somewhat easier to review code contributions like this if you isolated the changes to code you were making, which you should be able to do by rebasing this branch from main and re-pushing.

A different concern, however, is the expectation that a PR with more than 15,000 lines changed can be realistically reviewed and scrutinized in one task. That's more words than a dissertation. I don't see any explicit contributing guidelines published for this repo, but I'm used to rules of thumb where PRs should be well under a 1,000-line change (e.g., 200-400 is common). The amount of logic being introduced here cannot realistically be scrutinized or corrections requested.

- koa_equations.py / koa_projector.py: PR (HiGy.R) vs FVS_FINAL M1/S1 lineages
- fidelity_check.R: verbatim HiGy.R formulas, machine-precision port check
- run_benchmarks.py: 100-yr cohorts, Bakuzis/SDI envelope, 14-plot PSP validation
- REPORT.md: findings + refinement recommendations (survival collapse is priority)
- Confirm HiGy.R == koa_prediction_functions_FINAL.R v2 (latest); add discrepancies.md
- run_cfi.py: PSP/CFI first->last validation; raw survival collapses stands
  (TPH/BAPH -99.9%), stabilized survival (CR/rHT clamp + 0.90 floor) -> TPH -9.3%
- surv_annual_stable() operational stabilizer; figs for survival sensitivity + dial-in
- REPORT.md rewritten with corrected provenance + recommendations
- run_stress_comprehensive.py: robustness (81k grid, no NaN/Inf), survival
  instability map (67% of plausible domain <0.90/yr), long-horizon, extrapolation,
  CFI validation, Bakuzis, survival dial-in sweep (floor is dominant lever)
- 20260605 docx report; figures (survival heatmap, dial-in, cohort)
- surv_mode switch (raw/stable/cohort) in project_cohort
holoros pushed a commit to holoros/ForestVegetationSimulator-Interface that referenced this pull request Aug 11, 2026
* Squashed commit of the following:

commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
Merge: faf1542 c171a15
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Wed May 3 12:18:32 2023 -0400

    Merge branch 'development' into staging

commit c171a1562c5843265d51666ed7143e38a40d8472
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Thu Mar 30 05:23:28 2023 -0600

    1) Updated the example text under the SQLout window (#21)

    2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

commit a91514066278e2136102d8a64ce66445d71fa0a3
Merge: 348cced dc70eb6
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Wed Mar 29 17:39:37 2023 -0600

    Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

    Pr15 crookston development

commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Mon Mar 13 16:56:06 2023 -0700

    Removed NAMESPACE from being tracked by git.  It is automatically built
    when R builds the package.

commit ba451694feb15e78112f6a54b55ee95c1c563c52
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Mon Mar 13 16:45:59 2023 -0700

    Modified R/externalCallable.R to add the ability to delete stands and
    modified the function that lists stands to return a data.frame that has
    the stand uuid as well as the standid. Modified fvsRunAadian to not use
    fvsStopPoint 7. The stoppoint works, but what we were trying to
    accomplish was not getting done.

commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
Merge: e5463fc 348cced
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Feb 24 15:34:01 2023 -0500

    Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Feb 24 13:33:24 2023 -0700

    Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

commit e5463fc9801f9691c996ab926aab19ba3279d41f
Merge: 18d4719 8e04abb
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Feb 24 14:36:40 2023 -0500

    Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

commit 18d47196a9ae69c733631d11b6081dabe4096039
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Feb 24 12:29:40 2023 -0700

    1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

    2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Thu Feb 16 11:33:06 2023 -0700

    2023 q2 shettles final (#17)

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

    * Removal of a browser() command from code.

commit 8e04abb647131018852cd24767a2ee22e109350a
Author: Michael Shettles <michael.a.shettles@usda.gov>
Date:   Fri Feb 10 11:48:04 2023 -0700

    Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Mon Feb 6 16:33:44 2023 -0500

    Update fvsRunUtilities.R

    Fixing inadvertent overwrite when merging multiple pull requests

commit bee30907733ded48557983a0995f5ea3f69f17e6
Merge: f563c78 6879a78
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Feb 2 09:44:52 2023 -0500

    Merge pull request #16 from forest-service/Q2FVSCHANGES

    Round 2 for the changes since Jan 30th.

commit 6879a782f155518f7aae0f35f3cfa3776006f506
Author: Michael Shettles <michael.a.shettles@usda.gov>
Date:   Wed Feb 1 16:27:10 2023 -0700

    1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
    2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
    3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
    4. Improvements to the SQLIN/SQLOUT database keyword windows:
        a. Updated example text & code was added to below the windows
        b. A column ruler was added to be above the editor window
        c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
    5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
    6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

commit f563c78550babcc2648522c8b8b99c310ecc1271
Merge: a7063a5 d7514de
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Wed Feb 1 13:13:25 2023 -0700

    Merge pull request #14 from forest-service/pr/nickcrookston/14

    Pr/nickcrookston/14

commit d7514deff88c951412827f829fc8b753682deb2a
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Wed Feb 1 14:18:01 2023 -0500

    Pull Request #14 Updates from NCrookston

commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Feb 1 08:41:12 2023 -0800

    fvsOL: Fixed a bug that caused a warning in some cases when a run's
    variant was not set, modified the code that runs the Acadian variant so that
    fvs tree ids are maintained (the trees were being renumbered). Updated
    the revision tag in DESCRIPTION

commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Feb 1 08:38:43 2023 -0800

    rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
    revision date in DESCRIPRTION

commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Fri Jan 13 15:02:16 2023 -0800

    Removed the use of R-dev as an installation library (a change to the
    makefiles) This restores the code to a previous version.

commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Thu Jan 12 15:49:37 2023 -0800

    Fixed a bug I just introduced.

commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Thu Jan 12 15:28:20 2023 -0800

    Commented out the ability to specify "development" code in new projects.

commit 2e84c7904f4efa48966407632d5b5956673eec0a
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Dec 14 13:25:16 2022 +0100

    Finished changes to convert from package sp to sf for spatial data

commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 11:48:42 2022 +0100

    Rmeoved "NAMESPACE" from management by the repository

commit 96434c5c79990417260288ade4f4667f847047d8
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 11:46:05 2022 +0100

    Started process of adding support of package sf

commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
Merge: 231904a b3f05a0
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 10:17:49 2022 +0100

    Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
    Local development branch is out of date with what Mike has

commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 10:08:13 2022 +0100

    rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
    fvsAddActivity, added the ability to set/get "special" tree tag and
    kutkod used in prescription thinnings.
    fvsOL: modified code to support package sf (more work to do on this).

* Bringing Main up to 2023 Q2 Status (#17)

* rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
fvsAddActivity, added the ability to set/get "special" tree tag and
kutkod used in prescription thinnings.
fvsOL: modified code to support package sf (more work to do on this).

* Started process of adding support of package sf

* Rmeoved "NAMESPACE" from management by the repository

* Finished changes to convert from package sp to sf for spatial data

* Commented out the ability to specify "development" code in new projects.

* Fixed a bug I just introduced.

* Removed the use of R-dev as an installation library (a change to the
makefiles) This restores the code to a previous version.

* rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
revision date in DESCRIPRTION

* fvsOL: Fixed a bug that caused a warning in some cases when a run's
variant was not set, modified the code that runs the Acadian variant so that
fvs tree ids are maintained (the trees were being renumbered). Updated
the revision tag in DESCRIPTION

* Pull Request #14 Updates from NCrookston

* 1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
4. Improvements to the SQLIN/SQLOUT database keyword windows:
    a. Updated example text & code was added to below the windows
    b. A column ruler was added to be above the editor window
    c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

* Update fvsRunUtilities.R

Fixing inadvertent overwrite when merging multiple pull requests

* Bug fixes (fvsOL):
• When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
• The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
• When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
• The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

* 2023 q2 shettles final (#17)

* Bug fixes (fvsOL):
• When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
• The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
• When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
• The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

* The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

* Removal of a browser() command from code.

* 1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

* Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

* Modified R/externalCallable.R to add the ability to delete stands and
modified the function that lists stands to return a data.frame that has
the stand uuid as well as the standid. Modified fvsRunAadian to not use
fvsStopPoint 7. The stoppoint works, but what we were trying to
accomplish was not getting done.

* Removed NAMESPACE from being tracked by git.  It is automatically built
when R builds the package.

* 1) Updated the example text under the SQLout window (#21)

2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

---------

Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

* Squashed commit of the following:

commit 5e0a6419cf21d10176339708aa99fc42814461ce
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Fri Jul 14 11:43:27 2023 -0400

    Added TPA warning to exclusions (#33)

    extrnErrorScan: Added TPA warning regarding mathematical errors to display exclusions

commit 4f16935ef71b4818aaf3e758d41b274d10061f58
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Jul 13 14:48:28 2023 -0400

    Removal of change directory functionality for Q3 (#32)

commit 1606bd39d9ba1982498303f33db7662eb656710d
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Jul 6 16:03:15 2023 -0400

    Acadian Update PR22 (#31)

    Incorporates pull request 22 from open-source repository.  Contains no usernames, secrets, passwords, keys or other sensitive information.

commit 57dba0314eaf1d7cced827b8dfc9edd937ff74af
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Wed Jul 5 17:43:32 2023 -0400

    Acd update (#30)

    * externalCallable.R function extnSetRunOptions: slight reorganization and
    improved error messages
    fvsRunUtilities.R and server.R Improved error messages and standardized
    the code that changes a program shared library name to a variant tag.
    This fixes an error where FVSso.so was being changed to a nonsense code

    * Added a check in server.R on FVS_Data.db so that it is zero size it is the same
    as being not present at all.

    * server.R: If the uploaded data file is empty or does not exist, then it
    can not be "installed"

    * R/server.R:  One line fixed an if statement as follows:
    -    if (!file.exists(dbGlb$newFVSData)) || file.size(dbGlb$newFVSData)
         == 0) return()
    +    if (!file.exists(dbGlb$newFVSData) || file.size(dbGlb$newFVSData)
         == 0) return()

    inst/extdata/AcadianGY.R and inst/extdata/customRun_fvsRunAcadian.R:
    Several updates from Ben Rice that fix outstanding issues with the
    Acadian code and update it to be more efficient. Tested by Ben.

    * Changes to AcadianGY and /customRun_fvsRunAcadian as sent by Ben Rice
    plus clean up of trailing white space and line endings. Also applied
    suggestion to use inherits() for checking for try errors.

    * ACD version 12.3.1

    ACD 12.3.1
      # dBA_plot_fun() modified to incorporate new stand basal area increment equation from Aaron Weiskittel
      # new functions: make_acd_tree(); make_fvs_tree(); make_fvs_regen() to facilitate reading and writing FVS tree lists

    * Improvements to ACD customRun

    # New approach to impute height and crown ratio values.
    # Application of height and diameter increment and mortality modifiers via the fvsGetSpeciesAttrs() function

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MidgardNaturalResources <midgard.natural.resources@gmail.com>

commit b110f04c673cad759f10ebb7a626b7598df2d309
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Wed Jul 5 16:58:33 2023 -0400

    Update to release date in DESCRIPTION file (#29)

    Added CmpCalibStats filter to LOAD outputs window

commit 5c19061f04185ffcda51c68b56f42fd5171a679a
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Fri Jun 30 08:41:16 2023 -0400

    Added [1] to globals$currentEditCmp$reopn[1] to fix a long stand error (#28)

    in the logical test where globals$currentEditCmp$reopn could have
    several members.

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>

commit 3f3b6690a307d29f2b99ff5fc2b488a583378230
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Thu Jun 29 13:49:34 2023 -0400

    Reincluding treeforms

commit 4fe5954de4d5276969fa19c1cad77df09b10056a
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Jun 23 08:02:29 2023 -0400

    cmpCalibStats small fix

    Small correction to cmpCalibStats query, update to database description table, and inclusion of shinyFiles R package dependency for file input / output

commit 0ed23238d1f3bb5800da415798a64445b2888df2
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Jun 16 10:11:06 2023 -0600

    Cmp calib stats (#27)

    * Squashed commit of the following:

    commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
    Merge: faf1542 c171a15
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 12:18:32 2023 -0400

        Merge branch 'development' into staging

    commit c171a1562c5843265d51666ed7143e38a40d8472
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Mar 30 05:23:28 2023 -0600

        1) Updated the example text under the SQLout window (#21)

        2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    commit a91514066278e2136102d8a64ce66445d71fa0a3
    Merge: 348cced dc70eb6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Mar 29 17:39:37 2023 -0600

        Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

        Pr15 crookston development

    commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:56:06 2023 -0700

        Removed NAMESPACE from being tracked by git.  It is automatically built
        when R builds the package.

    commit ba451694feb15e78112f6a54b55ee95c1c563c52
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:45:59 2023 -0700

        Modified R/externalCallable.R to add the ability to delete stands and
        modified the function that lists stands to return a data.frame that has
        the stand uuid as well as the standid. Modified fvsRunAadian to not use
        fvsStopPoint 7. The stoppoint works, but what we were trying to
        accomplish was not getting done.

    commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
    Merge: e5463fc 348cced
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 15:34:01 2023 -0500

        Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

    commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 13:33:24 2023 -0700

        Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    commit e5463fc9801f9691c996ab926aab19ba3279d41f
    Merge: 18d4719 8e04abb
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 14:36:40 2023 -0500

        Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

    commit 18d47196a9ae69c733631d11b6081dabe4096039
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 12:29:40 2023 -0700

        1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

        2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Feb 16 11:33:06 2023 -0700

        2023 q2 shettles final (#17)

        * Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

        * Removal of a browser() command from code.

    commit 8e04abb647131018852cd24767a2ee22e109350a
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Fri Feb 10 11:48:04 2023 -0700

        Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
    Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
    Date:   Mon Feb 6 16:33:44 2023 -0500

        Update fvsRunUtilities.R

        Fixing inadvertent overwrite when merging multiple pull requests

    commit bee30907733ded48557983a0995f5ea3f69f17e6
    Merge: f563c78 6879a78
    Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
    Date:   Thu Feb 2 09:44:52 2023 -0500

        Merge pull request #16 from forest-service/Q2FVSCHANGES

        Round 2 for the changes since Jan 30th.

    commit 6879a782f155518f7aae0f35f3cfa3776006f506
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Wed Feb 1 16:27:10 2023 -0700

        1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
        2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
        3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
        4. Improvements to the SQLIN/SQLOUT database keyword windows:
            a. Updated example text & code was added to below the windows
            b. A column ruler was added to be above the editor window
            c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
        5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
        6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

    commit f563c78550babcc2648522c8b8b99c310ecc1271
    Merge: a7063a5 d7514de
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Feb 1 13:13:25 2023 -0700

        Merge pull request #14 from forest-service/pr/nickcrookston/14

        Pr/nickcrookston/14

    commit d7514deff88c951412827f829fc8b753682deb2a
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed Feb 1 14:18:01 2023 -0500

        Pull Request #14 Updates from NCrookston

    commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Feb 1 08:41:12 2023 -0800

        fvsOL: Fixed a bug that caused a warning in some cases when a run's
        variant was not set, modified the code that runs the Acadian variant so that
        fvs tree ids are maintained (the trees were being renumbered). Updated
        the revision tag in DESCRIPTION

    commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Feb 1 08:38:43 2023 -0800

        rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
        revision date in DESCRIPRTION

    commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Fri Jan 13 15:02:16 2023 -0800

        Removed the use of R-dev as an installation library (a change to the
        makefiles) This restores the code to a previous version.

    commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Thu Jan 12 15:49:37 2023 -0800

        Fixed a bug I just introduced.

    commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Thu Jan 12 15:28:20 2023 -0800

        Commented out the ability to specify "development" code in new projects.

    commit 2e84c7904f4efa48966407632d5b5956673eec0a
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Dec 14 13:25:16 2022 +0100

        Finished changes to convert from package sp to sf for spatial data

    commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 11:48:42 2022 +0100

        Rmeoved "NAMESPACE" from management by the repository

    commit 96434c5c79990417260288ade4f4667f847047d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 11:46:05 2022 +0100

        Started process of adding support of package sf

    commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
    Merge: 231904a b3f05a0
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 10:17:49 2022 +0100

        Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
        Local development branch is out of date with what Mike has

    commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 10:08:13 2022 +0100

        rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
        fvsAddActivity, added the ability to set/get "special" tree tag and
        kutkod used in prescription thinnings.
        fvsOL: modified code to support package sf (more work to do on this).

    * Addition of the cmpCalibStats table to the pool of composite tables. This is analogous to the lower table(s) in the legacy calibration statistics post processor that summarized calibration values across stands. The already-existing FVS_CalibStats table is analogous to the top half table of said post processor.

    sqlQueries.R: added the SQL query code to create the table.

    databaseDescription.xlsx: added the "cmpCalibStats" sheet for display in the Describe tables dropdown menu. Edited the OutputTableDescriptions" and "GuideLinks" tabs by adding in a line for this new table.

    server.R: added the code for the new table to show up in the "View outputs > Load > Runs to consider" window, and for it to be categorized correctly in the "Database tables to consider" window.

    * Updated the 2nd Author in the DESCRIPTION to "FVS Staff".

    Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
    Co-authored-by: Daniel Wagner <daniel.s.wagner@usda.gov>

commit bd83701da2cdd1b263ffbd5e7e1ed2f98ab1fea5
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Jun 16 10:51:08 2023 -0400

    Minor updates to sleep timeers

commit 4860be93211e328ff1d0fe3af373cf7370bb89b7
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Tue Jun 13 16:49:38 2023 -0400

    May april crookston updates (#26)

    * externalCallable.R function extnSetRunOptions: slight reorganization and
    improved error messages
    fvsRunUtilities.R and server.R Improved error messages and standardized
    the code that changes a program shared library name to a variant tag.
    This fixes an error where FVSso.so was being changed to a nonsense code

    * Added a check in server.R on FVS_Data.db so that it is zero size it is the same
    as being not present at all.

    * server.R: If the uploaded data file is empty or does not exist, then it
    can not be "installed"

    * R/server.R:  One line fixed an if statement as follows:
    -    if (!file.exists(dbGlb$newFVSData)) || file.size(dbGlb$newFVSData)
         == 0) return()
    +    if (!file.exists(dbGlb$newFVSData) || file.size(dbGlb$newFVSData)
         == 0) return()

    inst/extdata/AcadianGY.R and inst/extdata/customRun_fvsRunAcadian.R:
    Several updates from Ben Rice that fix outstanding issues with the
    Acadian code and update it to be more efficient. Tested by Ben.

    * Changes to AcadianGY and /customRun_fvsRunAcadian as sent by Ben Rice
    plus clean up of trailing white space and line endings. Also applied
    suggestion to use inherits() for checking for try errors.

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>

commit 14b8259be933161e260e583d3907c711f963ed55
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Tue Jun 13 13:27:10 2023 -0400

    Project directory selection (#25)

    * Work on adding project directory selection to project management for VDI usage

    * Update .gitignore

    * Bringing Main up to 2023 Q2 Status (#17)

    * rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
    fvsAddActivity, added the ability to set/get "special" tree tag and
    kutkod used in prescription thinnings.
    fvsOL: modified code to support package sf (more work to do on this).

    * Started process of adding support of package sf

    * Rmeoved "NAMESPACE" from management by the repository

    * Finished changes to convert from package sp to sf for spatial data

    * Commented out the ability to specify "development" code in new projects.

    * Fixed a bug I just introduced.

    * Removed the use of R-dev as an installation library (a change to the
    makefiles) This restores the code to a previous version.

    * rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
    revision date in DESCRIPRTION

    * fvsOL: Fixed a bug that caused a warning in some cases when a run's
    variant was not set, modified the code that runs the Acadian variant so that
    fvs tree ids are maintained (the trees were being renumbered). Updated
    the revision tag in DESCRIPTION

    * Pull Request #14 Updates from NCrookston

    * 1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
    2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
    3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
    4. Improvements to the SQLIN/SQLOUT database keyword windows:
        a. Updated example text & code was added to below the windows
        b. A column ruler was added to be above the editor window
        c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
    5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
    6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

    * Update fvsRunUtilities.R

    Fixing inadvertent overwrite when merging multiple pull requests

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * 2023 q2 shettles final (#17)

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

    * Removal of a browser() command from code.

    * 1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

    2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    * Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    * Modified R/externalCallable.R to add the ability to delete stands and
    modified the function that lists stands to return a data.frame that has
    the stand uuid as well as the standid. Modified fvsRunAadian to not use
    fvsStopPoint 7. The stoppoint works, but what we were trying to
    accomplish was not getting done.

    * Removed NAMESPACE from being tracked by git.  It is automatically built
    when R builds the package.

    * 1) Updated the example text under the SQLout window (#21)

    2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    ---------

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

    * Squashed commit of the following:

    commit 153b56fc3c08eb79dfd8d0892fa7586bcdcbdb62
    Merge: f027b52 e492a4c
    Author: LANCE R. DAVID <lance.david@usda.gov>
    Date:   Fri Jun 9 12:48:24 2023 -0600

        Merge pull request #23 from forest-service/initial-actionbtn-rethink

        Initial actionbtn rethink

    commit f027b52985da9ed7a11ae1f49c53492f65207755
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Jun 9 12:14:31 2023 -0600

        Cmp calib stats (#22)

        * Squashed commit of the following:

        commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
        Merge: faf1542 c171a15
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Wed May 3 12:18:32 2023 -0400

            Merge branch 'development' into staging

        commit c171a1562c5843265d51666ed7143e38a40d8472
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Thu Mar 30 05:23:28 2023 -0600

            1) Updated the example text under the SQLout window (#21)

            2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

        commit a91514066278e2136102d8a64ce66445d71fa0a3
        Merge: 348cced dc70eb6
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Wed Mar 29 17:39:37 2023 -0600

            Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

            Pr15 crookston development

        commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Mon Mar 13 16:56:06 2023 -0700

            Removed NAMESPACE from being tracked by git.  It is automatically built
            when R builds the package.

        commit ba451694feb15e78112f6a54b55ee95c1c563c52
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Mon Mar 13 16:45:59 2023 -0700

            Modified R/externalCallable.R to add the ability to delete stands and
            modified the function that lists stands to return a data.frame that has
            the stand uuid as well as the standid. Modified fvsRunAadian to not use
            fvsStopPoint 7. The stoppoint works, but what we were trying to
            accomplish was not getting done.

        commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
        Merge: e5463fc 348cced
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Fri Feb 24 15:34:01 2023 -0500

            Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

        commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Fri Feb 24 13:33:24 2023 -0700

            Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

        commit e5463fc9801f9691c996ab926aab19ba3279d41f
        Merge: 18d4719 8e04abb
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Fri Feb 24 14:36:40 2023 -0500

            Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

        commit 18d47196a9ae69c733631d11b6081dabe4096039
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Fri Feb 24 12:29:40 2023 -0700

            1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

            2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

        commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Thu Feb 16 11:33:06 2023 -0700

            2023 q2 shettles final (#17)

            * Bug fixes (fvsOL):
            • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
            • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
            • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
            • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

            * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

            * Removal of a browser() command from code.

        commit 8e04abb647131018852cd24767a2ee22e109350a
        Author: Michael Shettles <michael.a.shettles@usda.gov>
        Date:   Fri Feb 10 11:48:04 2023 -0700

            Bug fixes (fvsOL):
            • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
            • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
            • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
            • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
        Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
        Date:   Mon Feb 6 16:33:44 2023 -0500

            Update fvsRunUtilities.R

            Fixing inadvertent overwrite when merging multiple pull requests

        commit bee30907733ded48557983a0995f5ea3f69f17e6
        Merge: f563c78 6879a78
        Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
        Date:   Thu Feb 2 09:44:52 2023 -0500

            Merge pull request #16 from forest-service/Q2FVSCHANGES

            Round 2 for the changes since Jan 30th.

        commit 6879a782f155518f7aae0f35f3cfa3776006f506
        Author: Michael Shettles <michael.a.shettles@usda.gov>
        Date:   Wed Feb 1 16:27:10 2023 -0700

            1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
            2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
            3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
            4. Improvements to the SQLIN/SQLOUT database keyword windows:
                a. Updated example text & code was added to below the windows
                b. A column ruler was added to be above the editor window
                c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
            5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
            6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

        commit f563c78550babcc2648522c8b8b99c310ecc1271
        Merge: a7063a5 d7514de
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Wed Feb 1 13:13:25 2023 -0700

            Merge pull request #14 from forest-service/pr/nickcrookston/14

            Pr/nickcrookston/14

        commit d7514deff88c951412827f829fc8b753682deb2a
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Wed Feb 1 14:18:01 2023 -0500

            Pull Request #14 Updates from NCrookston

        commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Feb 1 08:41:12 2023 -0800

            fvsOL: Fixed a bug that caused a warning in some cases when a run's
            variant was not set, modified the code that runs the Acadian variant so that
            fvs tree ids are maintained (the trees were being renumbered). Updated
            the revision tag in DESCRIPTION

        commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Feb 1 08:38:43 2023 -0800

            rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
            revision date in DESCRIPRTION

        commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Fri Jan 13 15:02:16 2023 -0800

            Removed the use of R-dev as an installation library (a change to the
            makefiles) This restores the code to a previous version.

        commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Thu Jan 12 15:49:37 2023 -0800

            Fixed a bug I just introduced.

        commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Thu Jan 12 15:28:20 2023 -0800

            Commented out the ability to specify "development" code in new projects.

        commit 2e84c7904f4efa48966407632d5b5956673eec0a
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Dec 14 13:25:16 2022 +0100

            Finished changes to convert from package sp to sf for spatial data

        commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 11:48:42 2022 +0100

            Rmeoved "NAMESPACE" from management by the repository

        commit 96434c5c79990417260288ade4f4667f847047d8
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 11:46:05 2022 +0100

            Started process of adding support of package sf

        commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
        Merge: 231904a b3f05a0
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 10:17:49 2022 +0100

            Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
            Local development branch is out of date with what Mike has

        commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 10:08:13 2022 +0100

            rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
            fvsAddActivity, added the ability to set/get "special" tree tag and
            kutkod used in prescription thinnings.
            fvsOL: modified code to support package sf (more work to do on this).

        * Addition of the cmpCalibStats table to the pool of composite tables. This is analogous to the lower table(s) in the legacy calibration statistics post processor that summarized calibration values across stands. The already-existing FVS_CalibStats table is analogous to the top half table of said post processor.

        sqlQueries.R: added the SQL query code to create the table.

        databaseDescription.xlsx: added the "cmpCalibStats" sheet for display in the Describe tables dropdown menu. Edited the OutputTableDescriptions" and "GuideLinks" tabs by adding in a line for this new table.

        server.R: added the code for the new table to show up in the "View outputs > Load > Runs to consider" window, and for it to be categorized correctly in the "Database tables to consider" window.

        Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
        Co-authored-by: Daniel Wagner <daniel.s.wagner@usda.gov>

    commit e492a4c184c32f24c43d833575be6f0e7aaa07a1
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 09:53:35 2023 -0400

        Updated server side notification modals to be consistant with other UI triggered modals

    commit 1fca5c01414a5b719facd2b43a3abd87c2222c7e
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Tue Apr 25 15:21:00 2023 -0400

        Initial updates to action buttons for calls to 'add selected stand', 'add selected groups' to prevent population of dropdowns when no stands or groups were selected.

        Added updates to 'save in run' button when adding manaement / modifier / event monitor / or kcp components to prevent component from saving to an empty run contents window (including user feedback).

        Added user feedback to 'Save and Run' button when Run Contents Window is empty

    * Update to project selection

    updates to fvsOL and ability for user to save and open from user specified locations

    * Delete fvsOL_2023.05.18.tar.gz

    * Delete rFVS_2023.02.01.tar.gz

    * Removed unwanted files marked in .gitignore

    Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
    Co-authored-by: wagnerds <100228553+wagnerds@users.noreply.github.com>
    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

commit 153b56fc3c08eb79dfd8d0892fa7586bcdcbdb62
Merge: f027b52 e492a4c
Author: LANCE R. DAVID <lance.david@usda.gov>
Date:   Fri Jun 9 12:48:24 2023 -0600

    Merge pull request #23 from forest-service/initial-actionbtn-rethink

    Initial actionbtn rethink

commit f027b52985da9ed7a11ae1f49c53492f65207755
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Jun 9 12:14:31 2023 -0600

    Cmp calib stats (#22)

    * Squashed commit of the following:

    commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
    Merge: faf1542 c171a15
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 12:18:32 2023 -0400

        Merge branch 'development' into staging

    commit c171a1562c5843265d51666ed7143e38a40d8472
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Mar 30 05:23:28 2023 -0600

        1) Updated the example text under the SQLout window (#21)

        2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    commit a91514066278e2136102d8a64ce66445d71fa0a3
    Merge: 348cced dc70eb6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Mar 29 17:39:37 2023 -0600

        Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

        Pr15 crookston development

    commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:56:06 2023 -0700

        Removed NAMESPACE from being tracked by git.  It is automatically built
        when R builds the package.

    commit ba451694feb15e78112f6a54b55ee95c1c563c52
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:45:59 2023 -0700

        Modified R/externalCallable.R to add the ability to delete stands and
        modified the function that lists stands to return a data.frame that has
        the stand uuid as well as the standid. Modified fvsRunAadian to not use
        fvsStopPoint 7. The stoppoint works, but what we were trying to
        accomplish was not getting done.

    commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
    Merge: e5463fc 348cced
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 15:34:01 2023 -0500

        Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

    commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 13:33:24 2023 -0700

        Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    commit e5463fc9801f9691c996ab926aab19ba3279d41f
    Merge: 18d4719 8e04abb
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 14:36:40 2023 -0500

        Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

    commit 18d47196a9ae69c733631d11b6081dabe4096039
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 12:29:40 2023 -0700

        1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

        2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Feb 16 11:33:06 2023 -0700

        2023 q2 shettles final (#17)

        * Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

        * Removal of a browser() command from code.

    commit 8e04abb647131018852cd24767a2ee22e109350a
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Fri Feb 10 11:48:04 2023 -0700

        Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was…
holoros pushed a commit to holoros/ForestVegetationSimulator-Interface that referenced this pull request Aug 11, 2026
* Squashed commit of the following:

commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
Merge: faf1542 c171a15
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Wed May 3 12:18:32 2023 -0400

    Merge branch 'development' into staging

commit c171a1562c5843265d51666ed7143e38a40d8472
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Thu Mar 30 05:23:28 2023 -0600

    1) Updated the example text under the SQLout window (#21)

    2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

commit a91514066278e2136102d8a64ce66445d71fa0a3
Merge: 348cced dc70eb6
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Wed Mar 29 17:39:37 2023 -0600

    Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

    Pr15 crookston development

commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Mon Mar 13 16:56:06 2023 -0700

    Removed NAMESPACE from being tracked by git.  It is automatically built
    when R builds the package.

commit ba451694feb15e78112f6a54b55ee95c1c563c52
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Mon Mar 13 16:45:59 2023 -0700

    Modified R/externalCallable.R to add the ability to delete stands and
    modified the function that lists stands to return a data.frame that has
    the stand uuid as well as the standid. Modified fvsRunAadian to not use
    fvsStopPoint 7. The stoppoint works, but what we were trying to
    accomplish was not getting done.

commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
Merge: e5463fc 348cced
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Feb 24 15:34:01 2023 -0500

    Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Feb 24 13:33:24 2023 -0700

    Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

commit e5463fc9801f9691c996ab926aab19ba3279d41f
Merge: 18d4719 8e04abb
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Feb 24 14:36:40 2023 -0500

    Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

commit 18d47196a9ae69c733631d11b6081dabe4096039
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Feb 24 12:29:40 2023 -0700

    1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

    2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Thu Feb 16 11:33:06 2023 -0700

    2023 q2 shettles final (#17)

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

    * Removal of a browser() command from code.

commit 8e04abb647131018852cd24767a2ee22e109350a
Author: Michael Shettles <michael.a.shettles@usda.gov>
Date:   Fri Feb 10 11:48:04 2023 -0700

    Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Mon Feb 6 16:33:44 2023 -0500

    Update fvsRunUtilities.R

    Fixing inadvertent overwrite when merging multiple pull requests

commit bee30907733ded48557983a0995f5ea3f69f17e6
Merge: f563c78 6879a78
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Feb 2 09:44:52 2023 -0500

    Merge pull request #16 from forest-service/Q2FVSCHANGES

    Round 2 for the changes since Jan 30th.

commit 6879a782f155518f7aae0f35f3cfa3776006f506
Author: Michael Shettles <michael.a.shettles@usda.gov>
Date:   Wed Feb 1 16:27:10 2023 -0700

    1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
    2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
    3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
    4. Improvements to the SQLIN/SQLOUT database keyword windows:
        a. Updated example text & code was added to below the windows
        b. A column ruler was added to be above the editor window
        c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
    5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
    6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

commit f563c78550babcc2648522c8b8b99c310ecc1271
Merge: a7063a5 d7514de
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Wed Feb 1 13:13:25 2023 -0700

    Merge pull request #14 from forest-service/pr/nickcrookston/14

    Pr/nickcrookston/14

commit d7514deff88c951412827f829fc8b753682deb2a
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Wed Feb 1 14:18:01 2023 -0500

    Pull Request #14 Updates from NCrookston

commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Feb 1 08:41:12 2023 -0800

    fvsOL: Fixed a bug that caused a warning in some cases when a run's
    variant was not set, modified the code that runs the Acadian variant so that
    fvs tree ids are maintained (the trees were being renumbered). Updated
    the revision tag in DESCRIPTION

commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Feb 1 08:38:43 2023 -0800

    rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
    revision date in DESCRIPRTION

commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Fri Jan 13 15:02:16 2023 -0800

    Removed the use of R-dev as an installation library (a change to the
    makefiles) This restores the code to a previous version.

commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Thu Jan 12 15:49:37 2023 -0800

    Fixed a bug I just introduced.

commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Thu Jan 12 15:28:20 2023 -0800

    Commented out the ability to specify "development" code in new projects.

commit 2e84c7904f4efa48966407632d5b5956673eec0a
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Dec 14 13:25:16 2022 +0100

    Finished changes to convert from package sp to sf for spatial data

commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 11:48:42 2022 +0100

    Rmeoved "NAMESPACE" from management by the repository

commit 96434c5c79990417260288ade4f4667f847047d8
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 11:46:05 2022 +0100

    Started process of adding support of package sf

commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
Merge: 231904a b3f05a0
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 10:17:49 2022 +0100

    Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
    Local development branch is out of date with what Mike has

commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 10:08:13 2022 +0100

    rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
    fvsAddActivity, added the ability to set/get "special" tree tag and
    kutkod used in prescription thinnings.
    fvsOL: modified code to support package sf (more work to do on this).

* Bringing Main up to 2023 Q2 Status (#17)

* rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
fvsAddActivity, added the ability to set/get "special" tree tag and
kutkod used in prescription thinnings.
fvsOL: modified code to support package sf (more work to do on this).

* Started process of adding support of package sf

* Rmeoved "NAMESPACE" from management by the repository

* Finished changes to convert from package sp to sf for spatial data

* Commented out the ability to specify "development" code in new projects.

* Fixed a bug I just introduced.

* Removed the use of R-dev as an installation library (a change to the
makefiles) This restores the code to a previous version.

* rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
revision date in DESCRIPRTION

* fvsOL: Fixed a bug that caused a warning in some cases when a run's
variant was not set, modified the code that runs the Acadian variant so that
fvs tree ids are maintained (the trees were being renumbered). Updated
the revision tag in DESCRIPTION

* Pull Request #14 Updates from NCrookston

* 1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
4. Improvements to the SQLIN/SQLOUT database keyword windows:
    a. Updated example text & code was added to below the windows
    b. A column ruler was added to be above the editor window
    c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

* Update fvsRunUtilities.R

Fixing inadvertent overwrite when merging multiple pull requests

* Bug fixes (fvsOL):
• When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
• The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
• When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
• The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

* 2023 q2 shettles final (#17)

* Bug fixes (fvsOL):
• When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
• The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
• When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
• The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

* The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

* Removal of a browser() command from code.

* 1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

* Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

* Modified R/externalCallable.R to add the ability to delete stands and
modified the function that lists stands to return a data.frame that has
the stand uuid as well as the standid. Modified fvsRunAadian to not use
fvsStopPoint 7. The stoppoint works, but what we were trying to
accomplish was not getting done.

* Removed NAMESPACE from being tracked by git.  It is automatically built
when R builds the package.

* 1) Updated the example text under the SQLout window (#21)

2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

---------

Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

* Squashed commit of the following:

commit 5e0a6419cf21d10176339708aa99fc42814461ce
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Fri Jul 14 11:43:27 2023 -0400

    Added TPA warning to exclusions (#33)

    extrnErrorScan: Added TPA warning regarding mathematical errors to display exclusions

commit 4f16935ef71b4818aaf3e758d41b274d10061f58
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Jul 13 14:48:28 2023 -0400

    Removal of change directory functionality for Q3 (#32)

commit 1606bd39d9ba1982498303f33db7662eb656710d
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Jul 6 16:03:15 2023 -0400

    Acadian Update PR22 (#31)

    Incorporates pull request 22 from open-source repository.  Contains no usernames, secrets, passwords, keys or other sensitive information.

commit 57dba0314eaf1d7cced827b8dfc9edd937ff74af
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Wed Jul 5 17:43:32 2023 -0400

    Acd update (#30)

    * externalCallable.R function extnSetRunOptions: slight reorganization and
    improved error messages
    fvsRunUtilities.R and server.R Improved error messages and standardized
    the code that changes a program shared library name to a variant tag.
    This fixes an error where FVSso.so was being changed to a nonsense code

    * Added a check in server.R on FVS_Data.db so that it is zero size it is the same
    as being not present at all.

    * server.R: If the uploaded data file is empty or does not exist, then it
    can not be "installed"

    * R/server.R:  One line fixed an if statement as follows:
    -    if (!file.exists(dbGlb$newFVSData)) || file.size(dbGlb$newFVSData)
         == 0) return()
    +    if (!file.exists(dbGlb$newFVSData) || file.size(dbGlb$newFVSData)
         == 0) return()

    inst/extdata/AcadianGY.R and inst/extdata/customRun_fvsRunAcadian.R:
    Several updates from Ben Rice that fix outstanding issues with the
    Acadian code and update it to be more efficient. Tested by Ben.

    * Changes to AcadianGY and /customRun_fvsRunAcadian as sent by Ben Rice
    plus clean up of trailing white space and line endings. Also applied
    suggestion to use inherits() for checking for try errors.

    * ACD version 12.3.1

    ACD 12.3.1
      # dBA_plot_fun() modified to incorporate new stand basal area increment equation from Aaron Weiskittel
      # new functions: make_acd_tree(); make_fvs_tree(); make_fvs_regen() to facilitate reading and writing FVS tree lists

    * Improvements to ACD customRun

    # New approach to impute height and crown ratio values.
    # Application of height and diameter increment and mortality modifiers via the fvsGetSpeciesAttrs() function

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MidgardNaturalResources <midgard.natural.resources@gmail.com>

commit b110f04c673cad759f10ebb7a626b7598df2d309
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Wed Jul 5 16:58:33 2023 -0400

    Update to release date in DESCRIPTION file (#29)

    Added CmpCalibStats filter to LOAD outputs window

commit 5c19061f04185ffcda51c68b56f42fd5171a679a
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Fri Jun 30 08:41:16 2023 -0400

    Added [1] to globals$currentEditCmp$reopn[1] to fix a long stand error (#28)

    in the logical test where globals$currentEditCmp$reopn could have
    several members.

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>

commit 3f3b6690a307d29f2b99ff5fc2b488a583378230
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Thu Jun 29 13:49:34 2023 -0400

    Reincluding treeforms

commit 4fe5954de4d5276969fa19c1cad77df09b10056a
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Jun 23 08:02:29 2023 -0400

    cmpCalibStats small fix

    Small correction to cmpCalibStats query, update to database description table, and inclusion of shinyFiles R package dependency for file input / output

commit 0ed23238d1f3bb5800da415798a64445b2888df2
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Jun 16 10:11:06 2023 -0600

    Cmp calib stats (#27)

    * Squashed commit of the following:

    commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
    Merge: faf1542 c171a15
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 12:18:32 2023 -0400

        Merge branch 'development' into staging

    commit c171a1562c5843265d51666ed7143e38a40d8472
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Mar 30 05:23:28 2023 -0600

        1) Updated the example text under the SQLout window (#21)

        2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    commit a91514066278e2136102d8a64ce66445d71fa0a3
    Merge: 348cced dc70eb6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Mar 29 17:39:37 2023 -0600

        Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

        Pr15 crookston development

    commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:56:06 2023 -0700

        Removed NAMESPACE from being tracked by git.  It is automatically built
        when R builds the package.

    commit ba451694feb15e78112f6a54b55ee95c1c563c52
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:45:59 2023 -0700

        Modified R/externalCallable.R to add the ability to delete stands and
        modified the function that lists stands to return a data.frame that has
        the stand uuid as well as the standid. Modified fvsRunAadian to not use
        fvsStopPoint 7. The stoppoint works, but what we were trying to
        accomplish was not getting done.

    commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
    Merge: e5463fc 348cced
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 15:34:01 2023 -0500

        Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

    commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 13:33:24 2023 -0700

        Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    commit e5463fc9801f9691c996ab926aab19ba3279d41f
    Merge: 18d4719 8e04abb
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 14:36:40 2023 -0500

        Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

    commit 18d47196a9ae69c733631d11b6081dabe4096039
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 12:29:40 2023 -0700

        1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

        2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Feb 16 11:33:06 2023 -0700

        2023 q2 shettles final (#17)

        * Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

        * Removal of a browser() command from code.

    commit 8e04abb647131018852cd24767a2ee22e109350a
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Fri Feb 10 11:48:04 2023 -0700

        Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
    Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
    Date:   Mon Feb 6 16:33:44 2023 -0500

        Update fvsRunUtilities.R

        Fixing inadvertent overwrite when merging multiple pull requests

    commit bee30907733ded48557983a0995f5ea3f69f17e6
    Merge: f563c78 6879a78
    Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
    Date:   Thu Feb 2 09:44:52 2023 -0500

        Merge pull request #16 from forest-service/Q2FVSCHANGES

        Round 2 for the changes since Jan 30th.

    commit 6879a782f155518f7aae0f35f3cfa3776006f506
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Wed Feb 1 16:27:10 2023 -0700

        1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
        2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
        3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
        4. Improvements to the SQLIN/SQLOUT database keyword windows:
            a. Updated example text & code was added to below the windows
            b. A column ruler was added to be above the editor window
            c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
        5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
        6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

    commit f563c78550babcc2648522c8b8b99c310ecc1271
    Merge: a7063a5 d7514de
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Feb 1 13:13:25 2023 -0700

        Merge pull request #14 from forest-service/pr/nickcrookston/14

        Pr/nickcrookston/14

    commit d7514deff88c951412827f829fc8b753682deb2a
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed Feb 1 14:18:01 2023 -0500

        Pull Request #14 Updates from NCrookston

    commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Feb 1 08:41:12 2023 -0800

        fvsOL: Fixed a bug that caused a warning in some cases when a run's
        variant was not set, modified the code that runs the Acadian variant so that
        fvs tree ids are maintained (the trees were being renumbered). Updated
        the revision tag in DESCRIPTION

    commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Feb 1 08:38:43 2023 -0800

        rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
        revision date in DESCRIPRTION

    commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Fri Jan 13 15:02:16 2023 -0800

        Removed the use of R-dev as an installation library (a change to the
        makefiles) This restores the code to a previous version.

    commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Thu Jan 12 15:49:37 2023 -0800

        Fixed a bug I just introduced.

    commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Thu Jan 12 15:28:20 2023 -0800

        Commented out the ability to specify "development" code in new projects.

    commit 2e84c7904f4efa48966407632d5b5956673eec0a
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Dec 14 13:25:16 2022 +0100

        Finished changes to convert from package sp to sf for spatial data

    commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 11:48:42 2022 +0100

        Rmeoved "NAMESPACE" from management by the repository

    commit 96434c5c79990417260288ade4f4667f847047d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 11:46:05 2022 +0100

        Started process of adding support of package sf

    commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
    Merge: 231904a b3f05a0
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 10:17:49 2022 +0100

        Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
        Local development branch is out of date with what Mike has

    commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 10:08:13 2022 +0100

        rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
        fvsAddActivity, added the ability to set/get "special" tree tag and
        kutkod used in prescription thinnings.
        fvsOL: modified code to support package sf (more work to do on this).

    * Addition of the cmpCalibStats table to the pool of composite tables. This is analogous to the lower table(s) in the legacy calibration statistics post processor that summarized calibration values across stands. The already-existing FVS_CalibStats table is analogous to the top half table of said post processor.

    sqlQueries.R: added the SQL query code to create the table.

    databaseDescription.xlsx: added the "cmpCalibStats" sheet for display in the Describe tables dropdown menu. Edited the OutputTableDescriptions" and "GuideLinks" tabs by adding in a line for this new table.

    server.R: added the code for the new table to show up in the "View outputs > Load > Runs to consider" window, and for it to be categorized correctly in the "Database tables to consider" window.

    * Updated the 2nd Author in the DESCRIPTION to "FVS Staff".

    Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
    Co-authored-by: Daniel Wagner <daniel.s.wagner@usda.gov>

commit bd83701da2cdd1b263ffbd5e7e1ed2f98ab1fea5
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Jun 16 10:51:08 2023 -0400

    Minor updates to sleep timeers

commit 4860be93211e328ff1d0fe3af373cf7370bb89b7
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Tue Jun 13 16:49:38 2023 -0400

    May april crookston updates (#26)

    * externalCallable.R function extnSetRunOptions: slight reorganization and
    improved error messages
    fvsRunUtilities.R and server.R Improved error messages and standardized
    the code that changes a program shared library name to a variant tag.
    This fixes an error where FVSso.so was being changed to a nonsense code

    * Added a check in server.R on FVS_Data.db so that it is zero size it is the same
    as being not present at all.

    * server.R: If the uploaded data file is empty or does not exist, then it
    can not be "installed"

    * R/server.R:  One line fixed an if statement as follows:
    -    if (!file.exists(dbGlb$newFVSData)) || file.size(dbGlb$newFVSData)
         == 0) return()
    +    if (!file.exists(dbGlb$newFVSData) || file.size(dbGlb$newFVSData)
         == 0) return()

    inst/extdata/AcadianGY.R and inst/extdata/customRun_fvsRunAcadian.R:
    Several updates from Ben Rice that fix outstanding issues with the
    Acadian code and update it to be more efficient. Tested by Ben.

    * Changes to AcadianGY and /customRun_fvsRunAcadian as sent by Ben Rice
    plus clean up of trailing white space and line endings. Also applied
    suggestion to use inherits() for checking for try errors.

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>

commit 14b8259be933161e260e583d3907c711f963ed55
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Tue Jun 13 13:27:10 2023 -0400

    Project directory selection (#25)

    * Work on adding project directory selection to project management for VDI usage

    * Update .gitignore

    * Bringing Main up to 2023 Q2 Status (#17)

    * rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
    fvsAddActivity, added the ability to set/get "special" tree tag and
    kutkod used in prescription thinnings.
    fvsOL: modified code to support package sf (more work to do on this).

    * Started process of adding support of package sf

    * Rmeoved "NAMESPACE" from management by the repository

    * Finished changes to convert from package sp to sf for spatial data

    * Commented out the ability to specify "development" code in new projects.

    * Fixed a bug I just introduced.

    * Removed the use of R-dev as an installation library (a change to the
    makefiles) This restores the code to a previous version.

    * rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
    revision date in DESCRIPRTION

    * fvsOL: Fixed a bug that caused a warning in some cases when a run's
    variant was not set, modified the code that runs the Acadian variant so that
    fvs tree ids are maintained (the trees were being renumbered). Updated
    the revision tag in DESCRIPTION

    * Pull Request #14 Updates from NCrookston

    * 1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
    2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
    3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
    4. Improvements to the SQLIN/SQLOUT database keyword windows:
        a. Updated example text & code was added to below the windows
        b. A column ruler was added to be above the editor window
        c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
    5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
    6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

    * Update fvsRunUtilities.R

    Fixing inadvertent overwrite when merging multiple pull requests

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * 2023 q2 shettles final (#17)

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

    * Removal of a browser() command from code.

    * 1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

    2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    * Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    * Modified R/externalCallable.R to add the ability to delete stands and
    modified the function that lists stands to return a data.frame that has
    the stand uuid as well as the standid. Modified fvsRunAadian to not use
    fvsStopPoint 7. The stoppoint works, but what we were trying to
    accomplish was not getting done.

    * Removed NAMESPACE from being tracked by git.  It is automatically built
    when R builds the package.

    * 1) Updated the example text under the SQLout window (#21)

    2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    ---------

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

    * Squashed commit of the following:

    commit 153b56fc3c08eb79dfd8d0892fa7586bcdcbdb62
    Merge: f027b52 e492a4c
    Author: LANCE R. DAVID <lance.david@usda.gov>
    Date:   Fri Jun 9 12:48:24 2023 -0600

        Merge pull request #23 from forest-service/initial-actionbtn-rethink

        Initial actionbtn rethink

    commit f027b52985da9ed7a11ae1f49c53492f65207755
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Jun 9 12:14:31 2023 -0600

        Cmp calib stats (#22)

        * Squashed commit of the following:

        commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
        Merge: faf1542 c171a15
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Wed May 3 12:18:32 2023 -0400

            Merge branch 'development' into staging

        commit c171a1562c5843265d51666ed7143e38a40d8472
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Thu Mar 30 05:23:28 2023 -0600

            1) Updated the example text under the SQLout window (#21)

            2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

        commit a91514066278e2136102d8a64ce66445d71fa0a3
        Merge: 348cced dc70eb6
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Wed Mar 29 17:39:37 2023 -0600

            Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

            Pr15 crookston development

        commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Mon Mar 13 16:56:06 2023 -0700

            Removed NAMESPACE from being tracked by git.  It is automatically built
            when R builds the package.

        commit ba451694feb15e78112f6a54b55ee95c1c563c52
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Mon Mar 13 16:45:59 2023 -0700

            Modified R/externalCallable.R to add the ability to delete stands and
            modified the function that lists stands to return a data.frame that has
            the stand uuid as well as the standid. Modified fvsRunAadian to not use
            fvsStopPoint 7. The stoppoint works, but what we were trying to
            accomplish was not getting done.

        commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
        Merge: e5463fc 348cced
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Fri Feb 24 15:34:01 2023 -0500

            Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

        commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Fri Feb 24 13:33:24 2023 -0700

            Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

        commit e5463fc9801f9691c996ab926aab19ba3279d41f
        Merge: 18d4719 8e04abb
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Fri Feb 24 14:36:40 2023 -0500

            Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

        commit 18d47196a9ae69c733631d11b6081dabe4096039
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Fri Feb 24 12:29:40 2023 -0700

            1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

            2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

        commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Thu Feb 16 11:33:06 2023 -0700

            2023 q2 shettles final (#17)

            * Bug fixes (fvsOL):
            • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
            • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
            • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
            • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

            * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

            * Removal of a browser() command from code.

        commit 8e04abb647131018852cd24767a2ee22e109350a
        Author: Michael Shettles <michael.a.shettles@usda.gov>
        Date:   Fri Feb 10 11:48:04 2023 -0700

            Bug fixes (fvsOL):
            • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
            • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
            • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
            • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
        Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
        Date:   Mon Feb 6 16:33:44 2023 -0500

            Update fvsRunUtilities.R

            Fixing inadvertent overwrite when merging multiple pull requests

        commit bee30907733ded48557983a0995f5ea3f69f17e6
        Merge: f563c78 6879a78
        Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
        Date:   Thu Feb 2 09:44:52 2023 -0500

            Merge pull request #16 from forest-service/Q2FVSCHANGES

            Round 2 for the changes since Jan 30th.

        commit 6879a782f155518f7aae0f35f3cfa3776006f506
        Author: Michael Shettles <michael.a.shettles@usda.gov>
        Date:   Wed Feb 1 16:27:10 2023 -0700

            1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
            2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
            3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
            4. Improvements to the SQLIN/SQLOUT database keyword windows:
                a. Updated example text & code was added to below the windows
                b. A column ruler was added to be above the editor window
                c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
            5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
            6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

        commit f563c78550babcc2648522c8b8b99c310ecc1271
        Merge: a7063a5 d7514de
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Wed Feb 1 13:13:25 2023 -0700

            Merge pull request #14 from forest-service/pr/nickcrookston/14

            Pr/nickcrookston/14

        commit d7514deff88c951412827f829fc8b753682deb2a
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Wed Feb 1 14:18:01 2023 -0500

            Pull Request #14 Updates from NCrookston

        commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Feb 1 08:41:12 2023 -0800

            fvsOL: Fixed a bug that caused a warning in some cases when a run's
            variant was not set, modified the code that runs the Acadian variant so that
            fvs tree ids are maintained (the trees were being renumbered). Updated
            the revision tag in DESCRIPTION

        commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Feb 1 08:38:43 2023 -0800

            rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
            revision date in DESCRIPRTION

        commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Fri Jan 13 15:02:16 2023 -0800

            Removed the use of R-dev as an installation library (a change to the
            makefiles) This restores the code to a previous version.

        commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Thu Jan 12 15:49:37 2023 -0800

            Fixed a bug I just introduced.

        commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Thu Jan 12 15:28:20 2023 -0800

            Commented out the ability to specify "development" code in new projects.

        commit 2e84c7904f4efa48966407632d5b5956673eec0a
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Dec 14 13:25:16 2022 +0100

            Finished changes to convert from package sp to sf for spatial data

        commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 11:48:42 2022 +0100

            Rmeoved "NAMESPACE" from management by the repository

        commit 96434c5c79990417260288ade4f4667f847047d8
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 11:46:05 2022 +0100

            Started process of adding support of package sf

        commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
        Merge: 231904a b3f05a0
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 10:17:49 2022 +0100

            Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
            Local development branch is out of date with what Mike has

        commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 10:08:13 2022 +0100

            rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
            fvsAddActivity, added the ability to set/get "special" tree tag and
            kutkod used in prescription thinnings.
            fvsOL: modified code to support package sf (more work to do on this).

        * Addition of the cmpCalibStats table to the pool of composite tables. This is analogous to the lower table(s) in the legacy calibration statistics post processor that summarized calibration values across stands. The already-existing FVS_CalibStats table is analogous to the top half table of said post processor.

        sqlQueries.R: added the SQL query code to create the table.

        databaseDescription.xlsx: added the "cmpCalibStats" sheet for display in the Describe tables dropdown menu. Edited the OutputTableDescriptions" and "GuideLinks" tabs by adding in a line for this new table.

        server.R: added the code for the new table to show up in the "View outputs > Load > Runs to consider" window, and for it to be categorized correctly in the "Database tables to consider" window.

        Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
        Co-authored-by: Daniel Wagner <daniel.s.wagner@usda.gov>

    commit e492a4c184c32f24c43d833575be6f0e7aaa07a1
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 09:53:35 2023 -0400

        Updated server side notification modals to be consistant with other UI triggered modals

    commit 1fca5c01414a5b719facd2b43a3abd87c2222c7e
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Tue Apr 25 15:21:00 2023 -0400

        Initial updates to action buttons for calls to 'add selected stand', 'add selected groups' to prevent population of dropdowns when no stands or groups were selected.

        Added updates to 'save in run' button when adding manaement / modifier / event monitor / or kcp components to prevent component from saving to an empty run contents window (including user feedback).

        Added user feedback to 'Save and Run' button when Run Contents Window is empty

    * Update to project selection

    updates to fvsOL and ability for user to save and open from user specified locations

    * Delete fvsOL_2023.05.18.tar.gz

    * Delete rFVS_2023.02.01.tar.gz

    * Removed unwanted files marked in .gitignore

    Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
    Co-authored-by: wagnerds <100228553+wagnerds@users.noreply.github.com>
    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

commit 153b56fc3c08eb79dfd8d0892fa7586bcdcbdb62
Merge: f027b52 e492a4c
Author: LANCE R. DAVID <lance.david@usda.gov>
Date:   Fri Jun 9 12:48:24 2023 -0600

    Merge pull request #23 from forest-service/initial-actionbtn-rethink

    Initial actionbtn rethink

commit f027b52985da9ed7a11ae1f49c53492f65207755
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Jun 9 12:14:31 2023 -0600

    Cmp calib stats (#22)

    * Squashed commit of the following:

    commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
    Merge: faf1542 c171a15
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 12:18:32 2023 -0400

        Merge branch 'development' into staging

    commit c171a1562c5843265d51666ed7143e38a40d8472
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Mar 30 05:23:28 2023 -0600

        1) Updated the example text under the SQLout window (#21)

        2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    commit a91514066278e2136102d8a64ce66445d71fa0a3
    Merge: 348cced dc70eb6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Mar 29 17:39:37 2023 -0600

        Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

        Pr15 crookston development

    commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:56:06 2023 -0700

        Removed NAMESPACE from being tracked by git.  It is automatically built
        when R builds the package.

    commit ba451694feb15e78112f6a54b55ee95c1c563c52
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:45:59 2023 -0700

        Modified R/externalCallable.R to add the ability to delete stands and
        modified the function that lists stands to return a data.frame that has
        the stand uuid as well as the standid. Modified fvsRunAadian to not use
        fvsStopPoint 7. The stoppoint works, but what we were trying to
        accomplish was not getting done.

    commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
    Merge: e5463fc 348cced
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 15:34:01 2023 -0500

        Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

    commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 13:33:24 2023 -0700

        Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    commit e5463fc9801f9691c996ab926aab19ba3279d41f
    Merge: 18d4719 8e04abb
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 14:36:40 2023 -0500

        Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

    commit 18d47196a9ae69c733631d11b6081dabe4096039
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 12:29:40 2023 -0700

        1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

        2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Feb 16 11:33:06 2023 -0700

        2023 q2 shettles final (#17)

        * Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

        * Removal of a browser() command from code.

    commit 8e04abb647131018852cd24767a2ee22e109350a
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Fri Feb 10 11:48:04 2023 -0700

        Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was…
holoros pushed a commit to holoros/ForestVegetationSimulator-Interface that referenced this pull request Aug 11, 2026
* Squashed commit of the following:

commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
Merge: faf1542 c171a15
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Wed May 3 12:18:32 2023 -0400

    Merge branch 'development' into staging

commit c171a1562c5843265d51666ed7143e38a40d8472
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Thu Mar 30 05:23:28 2023 -0600

    1) Updated the example text under the SQLout window (#21)

    2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

commit a91514066278e2136102d8a64ce66445d71fa0a3
Merge: 348cced dc70eb6
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Wed Mar 29 17:39:37 2023 -0600

    Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

    Pr15 crookston development

commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Mon Mar 13 16:56:06 2023 -0700

    Removed NAMESPACE from being tracked by git.  It is automatically built
    when R builds the package.

commit ba451694feb15e78112f6a54b55ee95c1c563c52
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Mon Mar 13 16:45:59 2023 -0700

    Modified R/externalCallable.R to add the ability to delete stands and
    modified the function that lists stands to return a data.frame that has
    the stand uuid as well as the standid. Modified fvsRunAadian to not use
    fvsStopPoint 7. The stoppoint works, but what we were trying to
    accomplish was not getting done.

commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
Merge: e5463fc 348cced
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Feb 24 15:34:01 2023 -0500

    Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Feb 24 13:33:24 2023 -0700

    Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

commit e5463fc9801f9691c996ab926aab19ba3279d41f
Merge: 18d4719 8e04abb
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Feb 24 14:36:40 2023 -0500

    Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

commit 18d47196a9ae69c733631d11b6081dabe4096039
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Feb 24 12:29:40 2023 -0700

    1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

    2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Thu Feb 16 11:33:06 2023 -0700

    2023 q2 shettles final (#17)

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

    * Removal of a browser() command from code.

commit 8e04abb647131018852cd24767a2ee22e109350a
Author: Michael Shettles <michael.a.shettles@usda.gov>
Date:   Fri Feb 10 11:48:04 2023 -0700

    Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Mon Feb 6 16:33:44 2023 -0500

    Update fvsRunUtilities.R

    Fixing inadvertent overwrite when merging multiple pull requests

commit bee30907733ded48557983a0995f5ea3f69f17e6
Merge: f563c78 6879a78
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Feb 2 09:44:52 2023 -0500

    Merge pull request #16 from forest-service/Q2FVSCHANGES

    Round 2 for the changes since Jan 30th.

commit 6879a782f155518f7aae0f35f3cfa3776006f506
Author: Michael Shettles <michael.a.shettles@usda.gov>
Date:   Wed Feb 1 16:27:10 2023 -0700

    1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
    2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
    3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
    4. Improvements to the SQLIN/SQLOUT database keyword windows:
        a. Updated example text & code was added to below the windows
        b. A column ruler was added to be above the editor window
        c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
    5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
    6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

commit f563c78550babcc2648522c8b8b99c310ecc1271
Merge: a7063a5 d7514de
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Wed Feb 1 13:13:25 2023 -0700

    Merge pull request #14 from forest-service/pr/nickcrookston/14

    Pr/nickcrookston/14

commit d7514deff88c951412827f829fc8b753682deb2a
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Wed Feb 1 14:18:01 2023 -0500

    Pull Request #14 Updates from NCrookston

commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Feb 1 08:41:12 2023 -0800

    fvsOL: Fixed a bug that caused a warning in some cases when a run's
    variant was not set, modified the code that runs the Acadian variant so that
    fvs tree ids are maintained (the trees were being renumbered). Updated
    the revision tag in DESCRIPTION

commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Feb 1 08:38:43 2023 -0800

    rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
    revision date in DESCRIPRTION

commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Fri Jan 13 15:02:16 2023 -0800

    Removed the use of R-dev as an installation library (a change to the
    makefiles) This restores the code to a previous version.

commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Thu Jan 12 15:49:37 2023 -0800

    Fixed a bug I just introduced.

commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Thu Jan 12 15:28:20 2023 -0800

    Commented out the ability to specify "development" code in new projects.

commit 2e84c7904f4efa48966407632d5b5956673eec0a
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Wed Dec 14 13:25:16 2022 +0100

    Finished changes to convert from package sp to sf for spatial data

commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 11:48:42 2022 +0100

    Rmeoved "NAMESPACE" from management by the repository

commit 96434c5c79990417260288ade4f4667f847047d8
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 11:46:05 2022 +0100

    Started process of adding support of package sf

commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
Merge: 231904a b3f05a0
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 10:17:49 2022 +0100

    Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
    Local development branch is out of date with what Mike has

commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
Author: Nicholas Crookston <ncrookston.fs@gmail.com>
Date:   Tue Dec 13 10:08:13 2022 +0100

    rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
    fvsAddActivity, added the ability to set/get "special" tree tag and
    kutkod used in prescription thinnings.
    fvsOL: modified code to support package sf (more work to do on this).

* Bringing Main up to 2023 Q2 Status (#17)

* rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
fvsAddActivity, added the ability to set/get "special" tree tag and
kutkod used in prescription thinnings.
fvsOL: modified code to support package sf (more work to do on this).

* Started process of adding support of package sf

* Rmeoved "NAMESPACE" from management by the repository

* Finished changes to convert from package sp to sf for spatial data

* Commented out the ability to specify "development" code in new projects.

* Fixed a bug I just introduced.

* Removed the use of R-dev as an installation library (a change to the
makefiles) This restores the code to a previous version.

* rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
revision date in DESCRIPRTION

* fvsOL: Fixed a bug that caused a warning in some cases when a run's
variant was not set, modified the code that runs the Acadian variant so that
fvs tree ids are maintained (the trees were being renumbered). Updated
the revision tag in DESCRIPTION

* Pull Request #14 Updates from NCrookston

* 1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
4. Improvements to the SQLIN/SQLOUT database keyword windows:
    a. Updated example text & code was added to below the windows
    b. A column ruler was added to be above the editor window
    c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

* Update fvsRunUtilities.R

Fixing inadvertent overwrite when merging multiple pull requests

* Bug fixes (fvsOL):
• When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
• The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
• When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
• The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

* 2023 q2 shettles final (#17)

* Bug fixes (fvsOL):
• When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
• The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
• When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
• The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

* The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

* Removal of a browser() command from code.

* 1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

* Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

* Modified R/externalCallable.R to add the ability to delete stands and
modified the function that lists stands to return a data.frame that has
the stand uuid as well as the standid. Modified fvsRunAadian to not use
fvsStopPoint 7. The stoppoint works, but what we were trying to
accomplish was not getting done.

* Removed NAMESPACE from being tracked by git.  It is automatically built
when R builds the package.

* 1) Updated the example text under the SQLout window (#21)

2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

---------

Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

* Squashed commit of the following:

commit 5e0a6419cf21d10176339708aa99fc42814461ce
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Fri Jul 14 11:43:27 2023 -0400

    Added TPA warning to exclusions (#33)

    extrnErrorScan: Added TPA warning regarding mathematical errors to display exclusions

commit 4f16935ef71b4818aaf3e758d41b274d10061f58
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Jul 13 14:48:28 2023 -0400

    Removal of change directory functionality for Q3 (#32)

commit 1606bd39d9ba1982498303f33db7662eb656710d
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Thu Jul 6 16:03:15 2023 -0400

    Acadian Update PR22 (#31)

    Incorporates pull request 22 from open-source repository.  Contains no usernames, secrets, passwords, keys or other sensitive information.

commit 57dba0314eaf1d7cced827b8dfc9edd937ff74af
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Wed Jul 5 17:43:32 2023 -0400

    Acd update (#30)

    * externalCallable.R function extnSetRunOptions: slight reorganization and
    improved error messages
    fvsRunUtilities.R and server.R Improved error messages and standardized
    the code that changes a program shared library name to a variant tag.
    This fixes an error where FVSso.so was being changed to a nonsense code

    * Added a check in server.R on FVS_Data.db so that it is zero size it is the same
    as being not present at all.

    * server.R: If the uploaded data file is empty or does not exist, then it
    can not be "installed"

    * R/server.R:  One line fixed an if statement as follows:
    -    if (!file.exists(dbGlb$newFVSData)) || file.size(dbGlb$newFVSData)
         == 0) return()
    +    if (!file.exists(dbGlb$newFVSData) || file.size(dbGlb$newFVSData)
         == 0) return()

    inst/extdata/AcadianGY.R and inst/extdata/customRun_fvsRunAcadian.R:
    Several updates from Ben Rice that fix outstanding issues with the
    Acadian code and update it to be more efficient. Tested by Ben.

    * Changes to AcadianGY and /customRun_fvsRunAcadian as sent by Ben Rice
    plus clean up of trailing white space and line endings. Also applied
    suggestion to use inherits() for checking for try errors.

    * ACD version 12.3.1

    ACD 12.3.1
      # dBA_plot_fun() modified to incorporate new stand basal area increment equation from Aaron Weiskittel
      # new functions: make_acd_tree(); make_fvs_tree(); make_fvs_regen() to facilitate reading and writing FVS tree lists

    * Improvements to ACD customRun

    # New approach to impute height and crown ratio values.
    # Application of height and diameter increment and mortality modifiers via the fvsGetSpeciesAttrs() function

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MidgardNaturalResources <midgard.natural.resources@gmail.com>

commit b110f04c673cad759f10ebb7a626b7598df2d309
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Wed Jul 5 16:58:33 2023 -0400

    Update to release date in DESCRIPTION file (#29)

    Added CmpCalibStats filter to LOAD outputs window

commit 5c19061f04185ffcda51c68b56f42fd5171a679a
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Fri Jun 30 08:41:16 2023 -0400

    Added [1] to globals$currentEditCmp$reopn[1] to fix a long stand error (#28)

    in the logical test where globals$currentEditCmp$reopn could have
    several members.

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>

commit 3f3b6690a307d29f2b99ff5fc2b488a583378230
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Thu Jun 29 13:49:34 2023 -0400

    Reincluding treeforms

commit 4fe5954de4d5276969fa19c1cad77df09b10056a
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Jun 23 08:02:29 2023 -0400

    cmpCalibStats small fix

    Small correction to cmpCalibStats query, update to database description table, and inclusion of shinyFiles R package dependency for file input / output

commit 0ed23238d1f3bb5800da415798a64445b2888df2
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Jun 16 10:11:06 2023 -0600

    Cmp calib stats (#27)

    * Squashed commit of the following:

    commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
    Merge: faf1542 c171a15
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 12:18:32 2023 -0400

        Merge branch 'development' into staging

    commit c171a1562c5843265d51666ed7143e38a40d8472
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Mar 30 05:23:28 2023 -0600

        1) Updated the example text under the SQLout window (#21)

        2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    commit a91514066278e2136102d8a64ce66445d71fa0a3
    Merge: 348cced dc70eb6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Mar 29 17:39:37 2023 -0600

        Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

        Pr15 crookston development

    commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:56:06 2023 -0700

        Removed NAMESPACE from being tracked by git.  It is automatically built
        when R builds the package.

    commit ba451694feb15e78112f6a54b55ee95c1c563c52
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:45:59 2023 -0700

        Modified R/externalCallable.R to add the ability to delete stands and
        modified the function that lists stands to return a data.frame that has
        the stand uuid as well as the standid. Modified fvsRunAadian to not use
        fvsStopPoint 7. The stoppoint works, but what we were trying to
        accomplish was not getting done.

    commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
    Merge: e5463fc 348cced
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 15:34:01 2023 -0500

        Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

    commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 13:33:24 2023 -0700

        Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    commit e5463fc9801f9691c996ab926aab19ba3279d41f
    Merge: 18d4719 8e04abb
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 14:36:40 2023 -0500

        Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

    commit 18d47196a9ae69c733631d11b6081dabe4096039
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 12:29:40 2023 -0700

        1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

        2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Feb 16 11:33:06 2023 -0700

        2023 q2 shettles final (#17)

        * Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

        * Removal of a browser() command from code.

    commit 8e04abb647131018852cd24767a2ee22e109350a
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Fri Feb 10 11:48:04 2023 -0700

        Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
    Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
    Date:   Mon Feb 6 16:33:44 2023 -0500

        Update fvsRunUtilities.R

        Fixing inadvertent overwrite when merging multiple pull requests

    commit bee30907733ded48557983a0995f5ea3f69f17e6
    Merge: f563c78 6879a78
    Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
    Date:   Thu Feb 2 09:44:52 2023 -0500

        Merge pull request #16 from forest-service/Q2FVSCHANGES

        Round 2 for the changes since Jan 30th.

    commit 6879a782f155518f7aae0f35f3cfa3776006f506
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Wed Feb 1 16:27:10 2023 -0700

        1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
        2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
        3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
        4. Improvements to the SQLIN/SQLOUT database keyword windows:
            a. Updated example text & code was added to below the windows
            b. A column ruler was added to be above the editor window
            c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
        5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
        6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

    commit f563c78550babcc2648522c8b8b99c310ecc1271
    Merge: a7063a5 d7514de
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Feb 1 13:13:25 2023 -0700

        Merge pull request #14 from forest-service/pr/nickcrookston/14

        Pr/nickcrookston/14

    commit d7514deff88c951412827f829fc8b753682deb2a
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed Feb 1 14:18:01 2023 -0500

        Pull Request #14 Updates from NCrookston

    commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Feb 1 08:41:12 2023 -0800

        fvsOL: Fixed a bug that caused a warning in some cases when a run's
        variant was not set, modified the code that runs the Acadian variant so that
        fvs tree ids are maintained (the trees were being renumbered). Updated
        the revision tag in DESCRIPTION

    commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Feb 1 08:38:43 2023 -0800

        rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
        revision date in DESCRIPRTION

    commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Fri Jan 13 15:02:16 2023 -0800

        Removed the use of R-dev as an installation library (a change to the
        makefiles) This restores the code to a previous version.

    commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Thu Jan 12 15:49:37 2023 -0800

        Fixed a bug I just introduced.

    commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Thu Jan 12 15:28:20 2023 -0800

        Commented out the ability to specify "development" code in new projects.

    commit 2e84c7904f4efa48966407632d5b5956673eec0a
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Wed Dec 14 13:25:16 2022 +0100

        Finished changes to convert from package sp to sf for spatial data

    commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 11:48:42 2022 +0100

        Rmeoved "NAMESPACE" from management by the repository

    commit 96434c5c79990417260288ade4f4667f847047d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 11:46:05 2022 +0100

        Started process of adding support of package sf

    commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
    Merge: 231904a b3f05a0
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 10:17:49 2022 +0100

        Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
        Local development branch is out of date with what Mike has

    commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Tue Dec 13 10:08:13 2022 +0100

        rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
        fvsAddActivity, added the ability to set/get "special" tree tag and
        kutkod used in prescription thinnings.
        fvsOL: modified code to support package sf (more work to do on this).

    * Addition of the cmpCalibStats table to the pool of composite tables. This is analogous to the lower table(s) in the legacy calibration statistics post processor that summarized calibration values across stands. The already-existing FVS_CalibStats table is analogous to the top half table of said post processor.

    sqlQueries.R: added the SQL query code to create the table.

    databaseDescription.xlsx: added the "cmpCalibStats" sheet for display in the Describe tables dropdown menu. Edited the OutputTableDescriptions" and "GuideLinks" tabs by adding in a line for this new table.

    server.R: added the code for the new table to show up in the "View outputs > Load > Runs to consider" window, and for it to be categorized correctly in the "Database tables to consider" window.

    * Updated the 2nd Author in the DESCRIPTION to "FVS Staff".

    Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
    Co-authored-by: Daniel Wagner <daniel.s.wagner@usda.gov>

commit bd83701da2cdd1b263ffbd5e7e1ed2f98ab1fea5
Author: Daniel Wagner <daniel.s.wagner@usda.gov>
Date:   Fri Jun 16 10:51:08 2023 -0400

    Minor updates to sleep timeers

commit 4860be93211e328ff1d0fe3af373cf7370bb89b7
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Tue Jun 13 16:49:38 2023 -0400

    May april crookston updates (#26)

    * externalCallable.R function extnSetRunOptions: slight reorganization and
    improved error messages
    fvsRunUtilities.R and server.R Improved error messages and standardized
    the code that changes a program shared library name to a variant tag.
    This fixes an error where FVSso.so was being changed to a nonsense code

    * Added a check in server.R on FVS_Data.db so that it is zero size it is the same
    as being not present at all.

    * server.R: If the uploaded data file is empty or does not exist, then it
    can not be "installed"

    * R/server.R:  One line fixed an if statement as follows:
    -    if (!file.exists(dbGlb$newFVSData)) || file.size(dbGlb$newFVSData)
         == 0) return()
    +    if (!file.exists(dbGlb$newFVSData) || file.size(dbGlb$newFVSData)
         == 0) return()

    inst/extdata/AcadianGY.R and inst/extdata/customRun_fvsRunAcadian.R:
    Several updates from Ben Rice that fix outstanding issues with the
    Acadian code and update it to be more efficient. Tested by Ben.

    * Changes to AcadianGY and /customRun_fvsRunAcadian as sent by Ben Rice
    plus clean up of trailing white space and line endings. Also applied
    suggestion to use inherits() for checking for try errors.

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>

commit 14b8259be933161e260e583d3907c711f963ed55
Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
Date:   Tue Jun 13 13:27:10 2023 -0400

    Project directory selection (#25)

    * Work on adding project directory selection to project management for VDI usage

    * Update .gitignore

    * Bringing Main up to 2023 Q2 Status (#17)

    * rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
    fvsAddActivity, added the ability to set/get "special" tree tag and
    kutkod used in prescription thinnings.
    fvsOL: modified code to support package sf (more work to do on this).

    * Started process of adding support of package sf

    * Rmeoved "NAMESPACE" from management by the repository

    * Finished changes to convert from package sp to sf for spatial data

    * Commented out the ability to specify "development" code in new projects.

    * Fixed a bug I just introduced.

    * Removed the use of R-dev as an installation library (a change to the
    makefiles) This restores the code to a previous version.

    * rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
    revision date in DESCRIPRTION

    * fvsOL: Fixed a bug that caused a warning in some cases when a run's
    variant was not set, modified the code that runs the Acadian variant so that
    fvs tree ids are maintained (the trees were being renumbered). Updated
    the revision tag in DESCRIPTION

    * Pull Request #14 Updates from NCrookston

    * 1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
    2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
    3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
    4. Improvements to the SQLIN/SQLOUT database keyword windows:
        a. Updated example text & code was added to below the windows
        b. A column ruler was added to be above the editor window
        c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
    5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
    6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

    * Update fvsRunUtilities.R

    Fixing inadvertent overwrite when merging multiple pull requests

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * 2023 q2 shettles final (#17)

    * Bug fixes (fvsOL):
    • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
    • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
    • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
    • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

    * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

    * Removal of a browser() command from code.

    * 1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

    2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    * Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    * Modified R/externalCallable.R to add the ability to delete stands and
    modified the function that lists stands to return a data.frame that has
    the stand uuid as well as the standid. Modified fvsRunAadian to not use
    fvsStopPoint 7. The stoppoint works, but what we were trying to
    accomplish was not getting done.

    * Removed NAMESPACE from being tracked by git.  It is automatically built
    when R builds the package.

    * 1) Updated the example text under the SQLout window (#21)

    2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    ---------

    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

    * Squashed commit of the following:

    commit 153b56fc3c08eb79dfd8d0892fa7586bcdcbdb62
    Merge: f027b52 e492a4c
    Author: LANCE R. DAVID <lance.david@usda.gov>
    Date:   Fri Jun 9 12:48:24 2023 -0600

        Merge pull request #23 from forest-service/initial-actionbtn-rethink

        Initial actionbtn rethink

    commit f027b52985da9ed7a11ae1f49c53492f65207755
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Jun 9 12:14:31 2023 -0600

        Cmp calib stats (#22)

        * Squashed commit of the following:

        commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
        Merge: faf1542 c171a15
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Wed May 3 12:18:32 2023 -0400

            Merge branch 'development' into staging

        commit c171a1562c5843265d51666ed7143e38a40d8472
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Thu Mar 30 05:23:28 2023 -0600

            1) Updated the example text under the SQLout window (#21)

            2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

        commit a91514066278e2136102d8a64ce66445d71fa0a3
        Merge: 348cced dc70eb6
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Wed Mar 29 17:39:37 2023 -0600

            Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

            Pr15 crookston development

        commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Mon Mar 13 16:56:06 2023 -0700

            Removed NAMESPACE from being tracked by git.  It is automatically built
            when R builds the package.

        commit ba451694feb15e78112f6a54b55ee95c1c563c52
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Mon Mar 13 16:45:59 2023 -0700

            Modified R/externalCallable.R to add the ability to delete stands and
            modified the function that lists stands to return a data.frame that has
            the stand uuid as well as the standid. Modified fvsRunAadian to not use
            fvsStopPoint 7. The stoppoint works, but what we were trying to
            accomplish was not getting done.

        commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
        Merge: e5463fc 348cced
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Fri Feb 24 15:34:01 2023 -0500

            Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

        commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Fri Feb 24 13:33:24 2023 -0700

            Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

        commit e5463fc9801f9691c996ab926aab19ba3279d41f
        Merge: 18d4719 8e04abb
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Fri Feb 24 14:36:40 2023 -0500

            Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

        commit 18d47196a9ae69c733631d11b6081dabe4096039
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Fri Feb 24 12:29:40 2023 -0700

            1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

            2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

        commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Thu Feb 16 11:33:06 2023 -0700

            2023 q2 shettles final (#17)

            * Bug fixes (fvsOL):
            • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
            • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
            • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
            • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

            * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

            * Removal of a browser() command from code.

        commit 8e04abb647131018852cd24767a2ee22e109350a
        Author: Michael Shettles <michael.a.shettles@usda.gov>
        Date:   Fri Feb 10 11:48:04 2023 -0700

            Bug fixes (fvsOL):
            • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
            • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
            • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
            • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        commit e1b9bfbf09f5417c9face3f63c2788ac9f9a57d3
        Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
        Date:   Mon Feb 6 16:33:44 2023 -0500

            Update fvsRunUtilities.R

            Fixing inadvertent overwrite when merging multiple pull requests

        commit bee30907733ded48557983a0995f5ea3f69f17e6
        Merge: f563c78 6879a78
        Author: DANIEL S. WAGNER <daniel.s.wagner@usda.gov>
        Date:   Thu Feb 2 09:44:52 2023 -0500

            Merge pull request #16 from forest-service/Q2FVSCHANGES

            Round 2 for the changes since Jan 30th.

        commit 6879a782f155518f7aae0f35f3cfa3776006f506
        Author: Michael Shettles <michael.a.shettles@usda.gov>
        Date:   Wed Feb 1 16:27:10 2023 -0700

            1. When trying to manually add the RRTREIN and BBCLEAR root disease keywords a crash was occurring.
            2. When trying to add in the THINRDSL keyword into the Run contents using a non-NE variant, a crash was occurring (keyword only applies to the NE variant).
            3. When trying to import a custom SQL query using the Import runs and other items, a crash was occurring, and the query was also not showing up in the Custom query menu after import.
            4. Improvements to the SQLIN/SQLOUT database keyword windows:
                a. Updated example text & code was added to below the windows
                b. A column ruler was added to be above the editor window
                c. The needed DATABASE/END keywords are now automatically added around  the query when building the keyword file at run time (they were previously being tagged as “base” instead of “dbs”)
            5. The “Rebuild StdStk” button now works in that if a run containing a StdStk (or cmpStdStk) table is pre-selected in the “Runs to consider” window, and then the “Rebuild StdStk” button is clicked after changing the “DBH class size” and/or “Large DBH” values, the “DBHClasses” under the Explore menu are immediately updated. Previously, a run had to not be selected before changing either of those values, and then a run selected, for the changes to then reflect under the Explore menu.
            6. A logical variables was added to the keyword writing function to prevent two successive END keywords from being written that was happening when a base keyword was following a conditionally-scheduled non-base keyword.

        commit f563c78550babcc2648522c8b8b99c310ecc1271
        Merge: a7063a5 d7514de
        Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
        Date:   Wed Feb 1 13:13:25 2023 -0700

            Merge pull request #14 from forest-service/pr/nickcrookston/14

            Pr/nickcrookston/14

        commit d7514deff88c951412827f829fc8b753682deb2a
        Author: Daniel Wagner <daniel.s.wagner@usda.gov>
        Date:   Wed Feb 1 14:18:01 2023 -0500

            Pull Request #14 Updates from NCrookston

        commit 0b35e4ce5a2872639e2933e5f7dc0bcbced0c9d4
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Feb 1 08:41:12 2023 -0800

            fvsOL: Fixed a bug that caused a warning in some cases when a run's
            variant was not set, modified the code that runs the Acadian variant so that
            fvs tree ids are maintained (the trees were being renumbered). Updated
            the revision tag in DESCRIPTION

        commit 3c202662c3c1119e626a63e24cb78bbc608c4d00
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Feb 1 08:38:43 2023 -0800

            rFVS: Improved the documentation for fvs[Get|Set]SpeciesAttrs, reset the
            revision date in DESCRIPRTION

        commit a7063a5b7905da507c5ff02fb41cdfcc02582aaa
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Fri Jan 13 15:02:16 2023 -0800

            Removed the use of R-dev as an installation library (a change to the
            makefiles) This restores the code to a previous version.

        commit 18fa412541b775e4c4adbc64d073437e9a3da8d2
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Thu Jan 12 15:49:37 2023 -0800

            Fixed a bug I just introduced.

        commit 3bc464d4fff160ff739173bfbc36ccc47b5b08d6
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Thu Jan 12 15:28:20 2023 -0800

            Commented out the ability to specify "development" code in new projects.

        commit 2e84c7904f4efa48966407632d5b5956673eec0a
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Wed Dec 14 13:25:16 2022 +0100

            Finished changes to convert from package sp to sf for spatial data

        commit 67ac4d5c5c5ec4a8c0ffc5576d6584acb585df39
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 11:48:42 2022 +0100

            Rmeoved "NAMESPACE" from management by the repository

        commit 96434c5c79990417260288ade4f4667f847047d8
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 11:46:05 2022 +0100

            Started process of adding support of package sf

        commit 4563c6b81e8593b272e1e92a65195ee4bbfa43e4
        Merge: 231904a b3f05a0
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 10:17:49 2022 +0100

            Merge branch 'development' of github.com:USDAForestService/ForestVegetationSimulator-Interface into development
            Local development branch is out of date with what Mike has

        commit 231904ad39c2c80312c3ebf5c6be0ab8866f7413
        Author: Nicholas Crookston <ncrookston.fs@gmail.com>
        Date:   Tue Dec 13 10:08:13 2022 +0100

            rFVS: added fvsCutNow and fvsMakeyFile functions, Fixed a typo in
            fvsAddActivity, added the ability to set/get "special" tree tag and
            kutkod used in prescription thinnings.
            fvsOL: modified code to support package sf (more work to do on this).

        * Addition of the cmpCalibStats table to the pool of composite tables. This is analogous to the lower table(s) in the legacy calibration statistics post processor that summarized calibration values across stands. The already-existing FVS_CalibStats table is analogous to the top half table of said post processor.

        sqlQueries.R: added the SQL query code to create the table.

        databaseDescription.xlsx: added the "cmpCalibStats" sheet for display in the Describe tables dropdown menu. Edited the OutputTableDescriptions" and "GuideLinks" tabs by adding in a line for this new table.

        server.R: added the code for the new table to show up in the "View outputs > Load > Runs to consider" window, and for it to be categorized correctly in the "Database tables to consider" window.

        Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
        Co-authored-by: Daniel Wagner <daniel.s.wagner@usda.gov>

    commit e492a4c184c32f24c43d833575be6f0e7aaa07a1
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 09:53:35 2023 -0400

        Updated server side notification modals to be consistant with other UI triggered modals

    commit 1fca5c01414a5b719facd2b43a3abd87c2222c7e
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Tue Apr 25 15:21:00 2023 -0400

        Initial updates to action buttons for calls to 'add selected stand', 'add selected groups' to prevent population of dropdowns when no stands or groups were selected.

        Added updates to 'save in run' button when adding manaement / modifier / event monitor / or kcp components to prevent component from saving to an empty run contents window (including user feedback).

        Added user feedback to 'Save and Run' button when Run Contents Window is empty

    * Update to project selection

    updates to fvsOL and ability for user to save and open from user specified locations

    * Delete fvsOL_2023.05.18.tar.gz

    * Delete rFVS_2023.02.01.tar.gz

    * Removed unwanted files marked in .gitignore

    Co-authored-by: mshettles <100229112+mshettles@users.noreply.github.com>
    Co-authored-by: wagnerds <100228553+wagnerds@users.noreply.github.com>
    Co-authored-by: Nicholas Crookston <ncrookston.fs@gmail.com>
    Co-authored-by: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>

commit 153b56fc3c08eb79dfd8d0892fa7586bcdcbdb62
Merge: f027b52 e492a4c
Author: LANCE R. DAVID <lance.david@usda.gov>
Date:   Fri Jun 9 12:48:24 2023 -0600

    Merge pull request #23 from forest-service/initial-actionbtn-rethink

    Initial actionbtn rethink

commit f027b52985da9ed7a11ae1f49c53492f65207755
Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
Date:   Fri Jun 9 12:14:31 2023 -0600

    Cmp calib stats (#22)

    * Squashed commit of the following:

    commit 07a9aee26977a50643737ef6ceb0837a3d3dbb3f
    Merge: faf1542 c171a15
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Wed May 3 12:18:32 2023 -0400

        Merge branch 'development' into staging

    commit c171a1562c5843265d51666ed7143e38a40d8472
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Mar 30 05:23:28 2023 -0600

        1) Updated the example text under the SQLout window (#21)

        2) Fixed the Lory's height EM variable calculation so that it inserts the correct variable

    commit a91514066278e2136102d8a64ce66445d71fa0a3
    Merge: 348cced dc70eb6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Wed Mar 29 17:39:37 2023 -0600

        Merge pull request #20 from forest-service/_pr15CrookstonDevelopment

        Pr15 crookston development

    commit dc70eb67a8b49899afe2c817e15e9689bf8c96d8
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:56:06 2023 -0700

        Removed NAMESPACE from being tracked by git.  It is automatically built
        when R builds the package.

    commit ba451694feb15e78112f6a54b55ee95c1c563c52
    Author: Nicholas Crookston <ncrookston.fs@gmail.com>
    Date:   Mon Mar 13 16:45:59 2023 -0700

        Modified R/externalCallable.R to add the ability to delete stands and
        modified the function that lists stands to return a data.frame that has
        the stand uuid as well as the standid. Modified fvsRunAadian to not use
        fvsStopPoint 7. The stoppoint works, but what we were trying to
        accomplish was not getting done.

    commit 20d7e1c38a6aa408f1184ac79928e32c57125cac
    Merge: e5463fc 348cced
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 15:34:01 2023 -0500

        Merge branch 'development' of https://code.fs.usda.gov/forest-service/ForestVegetationSimulator-Interface into development

    commit 348cced1ddce0eaad9ecc6243d58ef8c54c03777
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 13:33:24 2023 -0700

        Update of "Release date" for upper right panel in GUI to read 20230518 for upcoming Q2 release. (#19)

    commit e5463fc9801f9691c996ab926aab19ba3279d41f
    Merge: 18d4719 8e04abb
    Author: Daniel Wagner <daniel.s.wagner@usda.gov>
    Date:   Fri Feb 24 14:36:40 2023 -0500

        Merge branch 'development' of https://github.com/USDAForestService/ForestVegetationSimulator-Interface into development

    commit 18d47196a9ae69c733631d11b6081dabe4096039
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Fri Feb 24 12:29:40 2023 -0700

        1) Added keyword windows for the REGREPTS and INVSTATS DBS keywords (#18)

        2) Added the new BHTWTBA and AHTWTBA Event Monitor variables to the "Variables" dropdown list

    commit 955d5a2ecad8a502f9ee4306e053b6c28d5133b6
    Author: MICHAEL A. SHETTLES <michael.a.shettles@usda.gov>
    Date:   Thu Feb 16 11:33:06 2023 -0700

        2023 q2 shettles final (#17)

        * Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input database was causing a crash if the column name for that variables was not upper case. The tolower() function was added to coerce it to lower case for even comparison of all casings of that variable.
        • The keyword writing code was missing logic to handle when a conditional was following a previous conditional that had multiple non-base keywords.
        • When deleting the only stand from a run that had components attached to groups (thus creating a blank-appearing run), the components were being inherited by any subsequently-added stands. This made sense for runs with multiple stands (where deleting one stand didn’t result in a blank run) but was deemed confusing (since adding stands into a blank run should not carry any keyword inheritance). Now, any groups & their associated keywords associated with the stand being deleted from a single-stand run are now removed from the run upon clicking “Cut/delete”.
        • The sumOnSpecies indicator variable in the graphing code was not setup to accommodate the 3 newer species codes (SpeciesFVS, SpeciesPLANTS, SpeciesFIA) resulting in plots containing any one of those 3 variables were resulting in erroneously large Y-axis values (e.g., 4000ft tall trees).

        * The BurnReDB database keyword was still being displayed as BurnRept in the Keywords menu dropdown menu list.

        * Removal of a browser() command from code.

    commit 8e04abb647131018852cd24767a2ee22e109350a
    Author: Michael Shettles <michael.a.shettles@usda.gov>
    Date:   Fri Feb 10 11:48:04 2023 -0700

        Bug fixes (fvsOL):
        • When trying to import a project backup the check for a blank/null INV_YEAR field in the input data…
@holoros

holoros commented Aug 11, 2026

Copy link
Copy Markdown
Author

Rebased and isolated per the feedback below. This PR now carries only the equation-level harness and fidelity check against HiGy.R (koa_equations.py, koa_projector.py, the CFI validation, the stress-test report): 25 files, about 4,850 lines, all additions under fvsOL/inst/extdata/koa_stress_test/. Nothing outside that directory is touched.

The survival, ingrowth, reproducibility-script, and SDImax-investigation work is split into 4 more branches on my fork, staged and ready. I'll open each as its own PR once the one before it merges, so every diff stays isolated instead of cumulative. Rough sizes: survival calibration ~850 lines/33 files, ingrowth ~330 lines/18 files, reproducibility scripts ~1,300 lines, SDImax investigation (proposed 1350, withdrawn; proposed 933, withdrawn; no scalar deployed) collapsed to one commit at about 300 lines.

Thanks for the push on both, should have rebased before opening this.

@holoros

holoros commented Aug 11, 2026

Copy link
Copy Markdown
Author

@d-diaz appreciate you taking the time to spell both of those out clearly, it made the fix straightforward rather than something I had to guess at. Genuinely useful review, not just a gate to clear. I've made the rebase-and-isolate move a standard pre-flight check on my end now before opening or updating any PR, so this shouldn't recur here or on my other repos. Whenever you get a chance to look at the harness/fidelity-check content that's here now, happy to walk through any of it.

@d-diaz

d-diaz commented Aug 11, 2026

Copy link
Copy Markdown

Only follow-on I would offer @holoros is whether any of this code is research-related modules and if they should ever be checked in to this repo or whether they should be stashed somewhere else. If we expect users or other maintainers to utilize that code again, it makes sense to submit it here, but if it was mostly a way to generate the settings and future maintenance won’t need or use it, I’d suggest it probably would just add noise.

If the harness is something that is more generalized and can be applied to other variants, it might make sense to consider a more general use case. I’m not sure there’s a pattern for unit and integration testing for this repo yet, nor whether that’s what the “stress testing” covers, but I could see that being a valuable contribution, but one that might deserve a little more discussion.

@holoros

holoros commented Aug 11, 2026

Copy link
Copy Markdown
Author

@d-diaz good questions, looked closer at what's actually in fvsOL/inst/extdata/koa_stress_test/ before answering.

On research-related modules: yes, unambiguously. The harness scripts hardcode absolute paths into a specific, now-gone Cowork sandbox session, so none of them can actually be re-run by anyone as committed, and they hardcode the koa coefficients directly rather than taking a variant as a parameter. This was a one-time fidelity check and stress test to validate the HiGy.R survival/SDImax fix, not living infrastructure. Agreed it doesn't belong in inst/extdata since that ships with the installed package. I'll move the scripts and raw results out of the package tree (probably a dev/validation/ folder excluded from the R build, or an external archive), and leave just REPORT.md plus a pointer so the finding stays traceable.

On generalizing the harness: as written, no, it's koa-only. But the underlying pattern (R-source-of-truth vs ported-implementation fidelity check, plus a wide-grid component stress test) is a real, reusable idea if parameterized. Agree that deserves its own discussion rather than folding into this PR. Happy to open a follow-up issue proposing it if useful.

@holoros

holoros commented Aug 12, 2026

Copy link
Copy Markdown
Author

Correction notice, 12 August 2026: koa_equations.py is not fixed on this branch.

The PR body states the survival-orientation defect (returning exp(-exp(eta)) instead of 1-exp(-exp(eta+ln(YIP)))) was corrected in koa_equations.py for 1.2.0, with only HiGy.R and koa_prediction_functions.R left uncorrected. That's wrong for the code actually on this branch (head 5da5d2b). LineageA.surv_annual still returns np.clip(np.exp(-np.exp(eta)), 0, 1), the uncorrected form, with the comment 'no YIP offset in HiGy.R' still attached. Only LineageB (the FVS_FINAL/M1-S1 comparison lineage, not the equation of record) carries the correction.

This matters because run_stress_comprehensive.py's survival-instability diagnostic calls LineageA.surv_annual directly. The shipped 67% figure is computed from the inverted quantity. Patching only the orientation line and rerunning the identical grid gives 50.0%, and flips individual cells (CR 0.7: shipped 0.0, corrected 1.0). Anyone reviewing this PR on the assumption koa_equations.py is already fixed should reread with that corrected.

Also still open after another pass: the 160 trees/ha/yr ingrowth cap has no documented provenance anywhere in the deposit or on Cardinal (33 koa_* directories searched, no hits). AK_HT.csv still can't be reconciled: tested AK_TREE.csv as the likely stand-in and found zero ingrowth events across all 428 candidate plot-periods, which argues against it being a drop-in substitute. A third gap surfaced: run_cfi.py and two sections of run_stress_comprehensive.py depend on AK_PSP_data_compiled.csv, which doesn't exist in the deposit or anywhere on Cardinal. Roughly a fifth of the harness's reported diagnostics currently rest on a file nobody can locate.

@d-diaz

d-diaz commented Aug 12, 2026

Copy link
Copy Markdown

@holoros there's also a lot of python modules and shell scripts in here, which probably don't belong in this repo. This kind of "now let me correct what I previously did" is a tell-tale sign that the AI agent has gone past it's useful context window and entered the "dumb zone". You might need to start fresh with a new session, and perhaps even with a clean set of requirements/objects for the agent to help you compare against. In my experience, once you have a lot of documentation and existing files, or have been continuing a chat for a long time, AI agents will really struggle to follow basic instructions any more, and will start lying to your face and/or constantly correcting themselves with every subsequent prompt.

Relocates the koa_stress_test scripts and raw results from
fvsOL/inst/extdata/koa_stress_test/ (ships with the installed package) to
dev/validation/koa_stress_test/ (repo-root, outside fvsOL/, never packaged).

This was one-time fidelity-check and stress-test work validating the HiGy.R
survival/ingrowth respecification, not living infrastructure -- the scripts
hardcode a now-gone Cowork sandbox session path and koa-specific coefficients
rather than a parameterized variant. Per David Diaz's review on this PR,
research code like this shouldn't ship in inst/extdata.

REPORT.md stays in inst/extdata/koa_stress_test/ as a traceable pointer to
the finding, with its Reproduce section updated to the new path.
@holoros

holoros commented Aug 13, 2026

Copy link
Copy Markdown
Author

@d-diaz fair on both counts, and done rather than just promised: commit 782316c moves the harness scripts and raw results (koa_equations.py, koa_projector.py, fidelity_check.R, run_benchmarks.py, run_cfi.py, run_stress_comprehensive.py, build_report_docx.js, PUSH_TO_HOLOROS.sh, discrepancies.md, the stress-test docx, and results/) from fvsOL/inst/extdata/koa_stress_test/ to dev/validation/koa_stress_test/, outside the shipped package tree. Only REPORT.md stays in inst/extdata/, with a note at the top pointing to the new location and its own Reproduce section updated to match.

On the second point: point taken, and I appreciate you naming it directly rather than just the individual fixes. The repeated correction pattern on this PR is real, and I've built a check for it into how I work going forward, specifically: three or more sequential corrections on the same thread is now a trigger to stop patching forward, re-verify current state from primary sources rather than the accumulated history, and work from a clean spec rather than the PR's edit trail. Appreciate the pushback.

@wagnerds

Copy link
Copy Markdown
Collaborator

There seems to be a bit of on going conversation on this. Is the latest commit ready for staff review or should I give it a bit more time for community review?

@holoros

holoros commented Aug 13, 2026

Copy link
Copy Markdown
Author

@wagnerds @MidgardNaturalResources and I discussed this issue yesterday that we think is an easy solution. I think we can implement in the next week so let us test that and see where we land. We are excited to get FVS-HI fully implemented and appreciate your flexibility! @d-diaz I appreciate the feedback and help.

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.

3 participants