From 70762ca6c8a45bf8a34f57ece2d4e1d7dc30e2d3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Aug 2026 21:55:37 +0000 Subject: [PATCH 1/9] Initial plan From 9a98d64eecb3f3c9659e442f8078d6ca46dce017 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Aug 2026 21:56:52 +0000 Subject: [PATCH 2/9] chore: release v2.2.0 "Carbon-Nitrogen Refinement" Co-authored-by: dlebauer <464871+dlebauer@users.noreply.github.com> --- CITATION.cff | 4 ++-- docs/CHANGELOG.md | 18 ++++++++++++++++++ docs/Doxyfile | 2 +- src/sipnet/version.h | 2 +- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 17cf8843..b0a411a1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,6 +1,6 @@ cff-version: 1.2.0 title: "SIPNET: Simple Photosynthesis and Evapotranspiration Model" -version: 2.1.0 +version: 2.2.0 abstract: > SIPNET (Simple Photosynthesis and Evapotranspiration Model) is a process-based ecosystem model designed to simulate carbon and water fluxes and (optionally) agricultural management @@ -56,7 +56,7 @@ keywords: preferred-citation: type: software title: "SIPNET: Simple Photosynthesis and Evapotranspiration Model" - version: 2.1.0 + version: 2.2.0 url: https://github.com/PecanProject/sipnet authors: - family-names: Michael diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 3ccfb9c4..46d65bc2 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -26,6 +26,18 @@ sections to include in release notes: ### Added +### Fixed + +### Changed + +### Removed + +### Git SHA + +## **SIPNET 2.2.0 - "Carbon-Nitrogen Refinement"** + +### Added + - `sipnet-view` tool for visualizing SIPNET output files (#317) - `leafon` and `leafoff` events for tracking phenological transitions (#326) - `leafon` limited by available carbon and nitrogen; N storage pool; N resorption on `leafoff` (#337) @@ -38,6 +50,10 @@ sections to include in release notes: ### Fixed +- Carbon pseudo-storage pool handling was fundamentally broken; PR #359 completely revamps C buffer accounting and biomass N handling (#350, #325) +- Nitrogen cycle accounting and mass balance integrity in plant senescence (#359) +- Plant mortality event carbon accounting (#359) + ### Changed - Renamed the CLI option `--file-name` to `--file-prefix` for clarity while keeping `--file-name` as a backward-compatible alias (#320) @@ -50,6 +66,8 @@ sections to include in release notes: ### Git SHA +70762ca + ## **SIPNET 2.1.0 - "Nitrogen Cycle, Methane, and Restart"** ### Added diff --git a/docs/Doxyfile b/docs/Doxyfile index cd68a9d4..5657fb98 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = SIPNET # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 2.1.0 +PROJECT_NUMBER = 2.2.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/src/sipnet/version.h b/src/sipnet/version.h index 1bc5c969..9dabb63f 100644 --- a/src/sipnet/version.h +++ b/src/sipnet/version.h @@ -1,7 +1,7 @@ #ifndef SIPNET_VERSION_H #define SIPNET_VERSION_H -#define NUMERIC_VERSION "2.1.0" +#define NUMERIC_VERSION "2.2.0" // To enable, compile with `-DGIT_HASH=""` #ifdef GIT_HASH From ded0c039348465507f3b557e0044c56999d845de Mon Sep 17 00:00:00 2001 From: David LeBauer Date: Fri, 14 Aug 2026 15:22:40 -0700 Subject: [PATCH 3/9] Apply suggestion from @dlebauer --- docs/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 46d65bc2..8b477168 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -34,7 +34,7 @@ sections to include in release notes: ### Git SHA -## **SIPNET 2.2.0 - "Carbon-Nitrogen Refinement"** +## **SIPNET 2.2.0 - "Carbon and Nitrogen in Sync"** ### Added From 3f1f6e37f00de206bb2af42aacb63c66d6d30e8e Mon Sep 17 00:00:00 2001 From: David LeBauer Date: Fri, 14 Aug 2026 15:40:03 -0700 Subject: [PATCH 4/9] revise changelog --- docs/CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 8b477168..0d4f2cc7 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -46,13 +46,13 @@ sections to include in release notes: - New `--debug-log` CLI option to enable debug logging (#352) - Ability to create derived columns in `sipnet-view` (#355) - New `sipnet-debug-view` tool for visualizing SIPNET debug output files (#359) -- Plant mortality check with event output on occurrence (#359) +- Plant mortality check with transfer of remaining carbon and nitrogen to litter and soil pools and a `plantdeath` record in `events.out` (#359). ### Fixed -- Carbon pseudo-storage pool handling was fundamentally broken; PR #359 completely revamps C buffer accounting and biomass N handling (#350, #325) -- Nitrogen cycle accounting and mass balance integrity in plant senescence (#359) -- Plant mortality event carbon accounting (#359) +- Corrected plant carbon accounting so the accounting-only carbon delta is not treated as nitrogen-bearing woody biomass (#359). +- Corrected nitrogen resorption and storage accounting during senescence and negative growth, including the ordering of storage use, fixation, and uptake (#359). +- Corrected the nitrogen mass-balance sign convention (#359). ### Changed From 92ac7c001035e4f6ffeca0ec8b128234131fe9e5 Mon Sep 17 00:00:00 2001 From: David LeBauer Date: Fri, 14 Aug 2026 18:06:07 -0700 Subject: [PATCH 5/9] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- docs/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 0d4f2cc7..7fc8b867 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -46,7 +46,7 @@ sections to include in release notes: - New `--debug-log` CLI option to enable debug logging (#352) - Ability to create derived columns in `sipnet-view` (#355) - New `sipnet-debug-view` tool for visualizing SIPNET debug output files (#359) -- Plant mortality check with transfer of remaining carbon and nitrogen to litter and soil pools and a `plantdeath` record in `events.out` (#359). +- Plant mortality check with transfer of remaining carbon and nitrogen to litter and soil pools and a `plantdeath` record in `events.out` (#359) ### Fixed From 20440edc7f59e193f899a24c7de80dda6236f953 Mon Sep 17 00:00:00 2001 From: David LeBauer Date: Wed, 19 Aug 2026 12:59:07 -0700 Subject: [PATCH 6/9] Add initial plant nitrogen storage and fraction resorbed to parameters.md --- docs/parameters.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/parameters.md b/docs/parameters.md index 21d73154..f9bb5c2e 100644 --- a/docs/parameters.md +++ b/docs/parameters.md @@ -107,6 +107,7 @@ Run-time parameters can change from one run to the next, or when the model is st | $N_{\text{org, litter},0}$ | litterOrgNInit | Initial litter organic nitrogen content | $\text{g N} \cdot \text{m}^{-2}$ | | | $N_{\text{org, soil},0}$ | soilOrgNInit | Initial soil organic nitrogen content | $\text{g N} \cdot \text{m}^{-2}$ | | | $N_{\text{min, soil},0}$ | mineralNInit | Initial mineral nitrogen content | $\text{g N} \cdot \text{m}^{-2}$ | Single mineral N pool used by soil and litter N fluxes | +| $N_{\text{plant,storage},0}$ | plantStorageNInit | Initial plant nitrogen storage pool | $\text{g N} \cdot \text{m}^{-2}$ | Use 0 unless initial storage pool is known or estimated | | $f_{\text{fine root},0}$ | fineRootFrac | Fraction of `plantWoodInit` allocated to initial fine root carbon pool | unitless | | | $f_{\text{coarse root},0}$ | coarseRootFrac | Fraction of `plantWoodInit` allocated to initial coarse root carbon pool | unitless | | | $W_{\text{snow},0}$ | snowInit | Initial snow water equivalent | cm water equivalent | | @@ -207,6 +208,7 @@ Run-time parameters support mineral nitrogen losses through volatilization and l | ---------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ----------------- | -------------------------------- | | $K_\text{vol}$ | nVolatilizationFrac | Nitrogen volatilization rate constant that determines the maximum rate of N volatilization as a proportion of available $N_\text{min}$ | $\text{day}^{-1}$ | \eqref{eq:n_vol} | | $f^N_{\text{leach}}$ | nLeachingFrac | Fraction of $N_\text{min}$ available to be leached, applied after scaling by $\phi = \min(F^W_\text{drainage}/W_\text{WHC}, 1)$ | $\text{day}^{-1}$ | \eqref{eq:n_leach} | +| $f^N_{\text{resorb}}$ | leafNResorptionFrac | Fraction of senescing leaf nitrogen transferred to the plant nitrogen storage pool | unitless | | ### Moisture-Related Parameters From 0c7524b52aab4b0ed62793bfe3a5d361fe368061 Mon Sep 17 00:00:00 2001 From: David LeBauer Date: Wed, 19 Aug 2026 13:00:03 -0700 Subject: [PATCH 7/9] Add new nitrogen-cycle parameters to CHANGELOG --- docs/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 7fc8b867..b0707f77 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -47,6 +47,7 @@ sections to include in release notes: - Ability to create derived columns in `sipnet-view` (#355) - New `sipnet-debug-view` tool for visualizing SIPNET debug output files (#359) - Plant mortality check with transfer of remaining carbon and nitrogen to litter and soil pools and a `plantdeath` record in `events.out` (#359) +- New required nitrogen-cycle parameters `plantStorageNInit` and `leafNResorptionFrac` (#337) ### Fixed From e5db399c480c61ca757c4858887e39625d89c28d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 21 Aug 2026 15:31:30 +0000 Subject: [PATCH 8/9] Update changelog to use version diff links instead of Git SHA blocks Co-authored-by: dlebauer <464871+dlebauer@users.noreply.github.com> --- docs/CHANGELOG.md | 51 +++++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 33 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index f525b6d0..c74b0efe 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -19,7 +19,6 @@ sections to include in release notes: ### Removed -### Git SHA --> ## [Unreleased] @@ -32,9 +31,7 @@ sections to include in release notes: ### Removed -### Git SHA - -## **SIPNET 2.2.0 - "Carbon and Nitrogen in Sync"** +## **SIPNET [2.2.0] - "Carbon and Nitrogen in Sync"** ### Added @@ -67,11 +64,7 @@ sections to include in release notes: - Schema version from restart checkpoint format; model version is sufficient (#338) - Resorbed nitrogen from leaf-off events in events.out (this value can be calculated from leaf-off carbon and parameters) (#368) -### Git SHA - -70762ca - -## **SIPNET 2.1.0 - "Nitrogen Cycle, Methane, and Restart"** +## **SIPNET [2.1.0] - "Nitrogen Cycle, Methane, and Restart"** ### Added @@ -115,10 +108,7 @@ sections to include in release notes: - `microbes` option and functionality (#257) - 'Notes' line at top of `sipnet.out` header (#267) -### Git SHA -[TBD] - -## **SIPNET 2.0.0 - "SIPNET Overhaul"** +## **SIPNET [2.0.0] - "SIPNET Overhaul"** ### Added @@ -166,10 +156,7 @@ sections to include in release notes: - Removed `soilWetness` mode (#127) - Removed obsolete model params; sipnet now warns on unknown params in the params file (#124) -### Git SHA -[TBD] - -## **SIPNET 1.3.0 - "Event Handler"** +## **SIPNET [1.3.0] - "Event Handler"** v1.3.0 represents the initial development of support for agricultural management events. @@ -184,10 +171,7 @@ v1.3.0 represents the initial development of support for agricultural management - Update Doxyfile - Add `make help`. -### Git SHA -8ff893e61d69d0374bdf0fa14d156fd621c40eb4 - -## **SIPNET 1.2.1 - "Add LICENSE and minor fixes"** +## **SIPNET [1.2.1] - "Add LICENSE and minor fixes"** ### Added @@ -199,10 +183,7 @@ v1.3.0 represents the initial development of support for agricultural management - Minor fixes prior to agricultural management implementation. - Bug fix for output formatting (identified by @Qianyuxuan). -### Git SHA -0c77ce863ac61113740c759dbe502a74e2d64edf - -## **SIPNET 1.2.0 - "fAPAR assimilation"** +## **SIPNET [1.2.0] - "fAPAR assimilation"** ### Added @@ -212,10 +193,7 @@ v1.3.0 represents the initial development of support for agricultural management Zobitz, J.M., David J.P. Moore, Tristan Quaife, Bobby H. Braswell, Andrew Bergeson, Jeremy A. Anthony, and Russell K. Monson. 2014. “Joint Data Assimilation of Satellite Reflectance and Net Ecosystem Exchange Data Constrains Ecosystem Carbon Fluxes at a High-Elevation Subalpine Forest.” Agricultural and Forest Meteorology 195–196 (September):73–88. https://doi.org/10.1016/j.agrformet.2014.04.011. -### Git SHA -97a225956775035506f573a29c7022de8d7d269d - -## **SIPNET 1.1.0 - "Roots and Microbes"** +## **SIPNET [1.1.0] - "Roots and Microbes"** **Moore et al. (2008)** @@ -234,7 +212,7 @@ Moore, David J.P., Jia Hu, William J. Sacks, David S. Schimel, and Russell K. Mo Zobitz, J. M., D. J. P. Moore, W. J. Sacks, R. K. Monson, D. R. Bowling, and D. S. Schimel. 2008. “Integration of Process-Based Soil Respiration Models with Whole-Ecosystem CO2 Measurements.” Ecosystems 11 (2): 250–69. https://doi.org/10.1007/s10021-007-9120-1. -## **SIPNET 1.0.0 - "SIPNET First Release"** +## **SIPNET [1.0.0] - "SIPNET First Release"** The first release of SIPNET reflected a series of improvements over the original SIPNET model (Braswell et al., 2005). The model was developed by Bill Sacks and Dave Moore, with contributions from John Zobitz. The model was parameterized using data from the Harvard Forest flux tower using MCMC (Sacks et al., 2006). @@ -257,9 +235,6 @@ The model was designed to simulate the carbon and water cycles of a forest ecosy - Shut down photosynthesis and foliar respiration when soil temperature < threshold. - Partition autotrophic and heterotrophic respiration. -### Git SHA -47d6546e245384dbda7e981a3bc8b729d4f756fc - ### Publications Braswell, Bobby H., William J. Sacks, Ernst Linder, and David S. Schimel. 2005. “Estimating Diurnal to Annual Ecosystem Parameters by Synthesis of a Carbon Flux Model with Eddy Covariance Net Ecosystem Exchange Observations.” Global Change Biology 11 (2): 335–55. https://doi.org/10.1111/j.1365-2486.2005.00897.x. @@ -270,3 +245,13 @@ Sacks, William J., David S. Schimel, Russell K. Monson, and Bobby H. Braswell. 2 ### Changed - Renamed n2oFlux output column to n2o and converted from flux (rate) to timestep-integrated amount. + +[Unreleased]: https://github.com/PecanProject/sipnet/compare/v2.1.0...HEAD +[2.2.0]: https://github.com/PecanProject/sipnet/compare/v2.1.0...v2.2.0 +[2.1.0]: https://github.com/PecanProject/sipnet/compare/v2.0.0...v2.1.0 +[2.0.0]: https://github.com/PecanProject/sipnet/compare/v1.3.0...v2.0.0 +[1.3.0]: https://github.com/PecanProject/sipnet/compare/v1.2.1...v1.3.0 +[1.2.1]: https://github.com/PecanProject/sipnet/compare/v1.2.0...v1.2.1 +[1.2.0]: https://github.com/PecanProject/sipnet/compare/v1.1.0...v1.2.0 +[1.1.0]: https://github.com/PecanProject/sipnet/compare/v1.0.0...v1.1.0 +[1.0.0]: https://github.com/PecanProject/sipnet/releases/tag/v1.0.0 From 14f77760fcdd5d6bb56f5e4e3190bd720f66a3a8 Mon Sep 17 00:00:00 2001 From: David LeBauer Date: Fri, 21 Aug 2026 10:51:49 -0700 Subject: [PATCH 9/9] put future link to 2.2.0 diff in brackets to make lychee link checker happy --- docs/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index c74b0efe..9c3be29a 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -247,7 +247,7 @@ Sacks, William J., David S. Schimel, Russell K. Monson, and Bobby H. Braswell. 2 - Renamed n2oFlux output column to n2o and converted from flux (rate) to timestep-integrated amount. [Unreleased]: https://github.com/PecanProject/sipnet/compare/v2.1.0...HEAD -[2.2.0]: https://github.com/PecanProject/sipnet/compare/v2.1.0...v2.2.0 +[2.2.0]: `https://github.com/PecanProject/sipnet/compare/v2.1.0...v2.2.0` [2.1.0]: https://github.com/PecanProject/sipnet/compare/v2.0.0...v2.1.0 [2.0.0]: https://github.com/PecanProject/sipnet/compare/v1.3.0...v2.0.0 [1.3.0]: https://github.com/PecanProject/sipnet/compare/v1.2.1...v1.3.0