You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update CLAUDE.md with LS and PN variant infrastructure details
Document bark ratio, crown ratio, mortality, volume, and SDI maximums
for both LS and PN variants. Update PN expected yields to actual smoke
test values. Add steps 6-10 to Adding New Variants guide covering
infrastructure modules. Add OP variant entries throughout.
-**WC (West Cascades)** - 37 species for western Oregon and Washington Cascades including Douglas-fir, Western Hemlock, and Western Red Cedar
14
14
-**NE (Northeast)** - 108 species for New England and Mid-Atlantic (CT, DE, MA, MD, ME, NH, NJ, NY, OH, PA, RI, VT, WV) including Red Maple, Sugar Maple, Northern Red Oak, Eastern White Pine
15
15
-**CS (Central States)** - 96 species for Midwest oak-hickory forests (IL, IN, IA, MO) including White Oak, Northern Red Oak, Sugar Maple, Black Walnut
16
+
-**OP (ORGANON Pacific Northwest)** - 18 species for intensively managed PNW plantations including Douglas-fir, Western Hemlock, Red Alder
16
17
17
18
## Key Development Commands
18
19
@@ -93,8 +94,8 @@ tree.py
93
94
├── pn_diameter_growth.py (18-coef ln(DDS) with topographic effects, PN variant)
94
95
├── wc_diameter_growth.py (19-coef ln(DDS) with topographic effects, WC variant)
│ ├── pn_bark_ratio_coefficients.json # 3 equation types, 16 groups
135
+
│ ├── pn_crown_ratio_coefficients.json # Weibull, 17 groups + Redwood logistic
133
136
│ ├── pn_species_config.yaml
134
137
│ └── species/*.yaml # PN species configs (39 species)
135
138
├── wc/ # WC (West Cascades) variant
@@ -198,29 +201,48 @@ src/pyfvs/cfg/
198
201
25.**String Normalization Utilities** - Added `utils/string_utils.py` with `normalize_code()`, `normalize_species_code()`, and `normalize_ecounit()` functions for consistent string handling throughout the codebase.
199
202
26.**Test Fixtures Consolidation** - Created `tests/conftest.py` with 30+ shared pytest fixtures for trees (seedling, small, transition, large, mature), tree lists (sample, mixed species, density levels), and stands (young, mature, high/low site, ecounits).
200
203
27.**VolumeCalculator Caching** - Added module-level cache for VolumeCalculator instances in `volume_library.py`, keyed by species code. The `get_volume_library()` function returns cached instances for performance.
201
-
28.**Multi-Variant Architecture** - Added support for multiple FVS regional variants. Implemented Lake States (LS), Pacific Northwest Coast (PN), West Cascades (WC), Northeast (NE), and Central States (CS) variants alongside existing Southern (SN) variant. Key changes:
204
+
28.**Multi-Variant Architecture** - Added support for multiple FVS regional variants. Implemented Lake States (LS), Pacific Northwest Coast (PN), West Cascades (WC), Northeast (NE), Central States (CS), and ORGANON Pacific Northwest (OP) variants alongside existing Southern (SN) variant. Key changes:
- Created `cfg/ls/ls_bark_ratio_coefficients.json`, `cfg/ls/ls_crown_ratio_coefficients.json`, `cfg/ls/ls_mortality_coefficients.json`
228
+
- 42 tests in `tests/test_ls_variant.py`
229
+
30.**PN Variant Infrastructure** - Full infrastructure for Pacific Northwest Coast variant:
230
+
-`bark_ratio.py`: Added `PNBarkRatioModel` - 3 equation types (power `DIB=a*DOB^b`, linear `DIB=a+b*DOB`, constant `DIB=a*DOB`), 16 species groups via JBARK
231
+
-`crown_ratio.py`: Added `PNCrownRatioModel` - Weibull with linear mean CR, 17 species groups via IMAP, special Redwood logistic equation
232
+
-`mortality.py`: PN uses `MortalityModel` (same as SN) with PN-specific SDI maximums
233
+
-`volume_library.py`: Added 17+ PNW species (DF, WH, RC, SS, SF, GF, etc.) combined-variable coefficients from Brackett (1977)
234
+
-`stand_metrics.py`: Added `PN_SDI_MAXIMUMS` dict (37 species, range 300-1000)
235
+
- Created `cfg/pn/pn_bark_ratio_coefficients.json`, `cfg/pn/pn_crown_ratio_coefficients.json`
0 commit comments