uaf-arctic-eco-modeling / dvm-dos-tem

A process based Dynamic Vegetation, Dynamic Organic Soil, Terrestrial Ecosystem Model.
MIT License
22 stars 24 forks source link

Ac refac #686

Closed tobeycarman closed 9 months ago

tobeycarman commented 9 months ago

Motivation and background

Work began around 2020 envisioning an improved and increasingly automated way to calibrate dvmdostem. This effort began with code that could perform a rudimentary sensitivity analysis. Efforts over the next several years saw additions that could combine a sensitivity analysis with a subsequent optimization step that calculates optimized (calibrated) parameters. These two components ("sensitivity" and "calibration") were assembled into a a set of steps that team members used to calibrate dvmdostem for new sites and conditions. The code for this was developed with a reserarch and development mindset that resulted in a solid working prototype. This prototype is the state of the calib branch as of commit 27e3d41bfaa34cde9bf5cb1c9ac4736dc623bc3a (Sept 21, 2023).

The pull request is the refactoring that was inspired by feedback and observations of the folks using the prototype. Hopefully the changes here are more intutitve for users trying to calibrate dvm-dos-tem and make the code easier to expand upon.

Goals of refactoring

High level code changes

Additions

Term/phrase/concept migration

Known Issues

Testing

With the help of @Benjamin-Maglio we have extensively tested the sensitivity analysis tools and process and the Mads optimization process and are confident that the behavior is matching or exceeding the behavior of the pre-refactored code (commit 27e3d41b). The C++ model core was not modified nor the parameters so the model's scientific behavior has not been changed.