Refactor Plan
Once work on the FY24 Referenace and Derived Modeling Fabrics data release has concluded, a refactor of the workflows to use targets will be undertaken.
Key goals include:
- leverage multiple targets projects to separate download, preprocess, refactor, aggregate, and post-process steps.
graph LR
download --> refactor
download --> preprocess
preprocess --> refactor
preprocess --> aggregate
refactor --> aggregate
aggregate --> post-process
The mainstems workflow follows this pattern. https://code.usgs.gov/wma/nhgf/mainstems
-
greatly limit the amount of untested code within the work flow. This will be accomplished through naive characterization testing based on existing process results. How best to do this characterization testing is a planning task.
-
leverage renv to pin versions of all dependencies but also allow use of bespoke local environments for development. How to setup renv for development or reproducible pipeline use is a planning task.
-
have high-level characterization testing that runs in CI and clear documentation of each component of the overall workflow. This will be accomplished with a custom gitlab ci job and creation of a pkgdown site for the overall project that lives with the R package in the project root.
-
... to be planned