_Results` folder.
-
+#### 1. GHG Emissions — `*GHGEmissions*.csv`
-### Green House Gas Emissions
+Raw greenhouse gas emissions, **not** yet converted to carbon dioxide equivalents.
-- Holos will calculate the green house gas emissions for each farm and their respective components.
-- The results will include the following calculated emission values: **Enteric CH4, Manure CH4, Direct Nitrous Oxide, Indirect Nitrous Oxide, Energy Carbon Dioxide and Carbon Dioxide emissions.**
-- **Energy carbon dioxide** is calculated for **each animal group** (i.e. backgrounder steers), **therefore**, you will see “N/A” for the data fields that are not applicable.
-- **However, these are not converted to carbon dioxide equivalence values**
+- **Units:** all emission values are in **kg GHGs**
+- **Columns:** Farm Name, Component Category, Component Name, Group Name, *Month* (monthly file only), Year, Enteric CH4, Manure CH4, Direct N2O, Indirect N2O, Energy CO2, CO2
-
+#### 2. CO2 Equivalent Emissions — `*CO2EEmissions*.csv`
-### Estimates of Production
+The same values as the GHG file, but converted to **carbon dioxide equivalents** using standard global warming potentials so they can be compared directly.
-- Holos will calculate the estimates of production for each farm and their respective components.
-- The results will include the following calculated estimates of production values: **Harvest, Area, Manure Available for Land Application, Beef Produced, Lamb Produced, Milk Produced and Fat Protein Corrected Milk Production.**
+- **Units:** all emission values are in **Mg CO2e** (megagrams of CO2 equivalent)
+- **Columns:** same as the GHG file, plus a **SubTotal** column giving the per-row CO2-equivalent total.
-
+#### 3. Estimates of Production — `*EstimatesOfProduction*.csv`
-### Feed Estimates
+Physical production output from every component on the farm.
-- Holos will calculate the estimates of production for each farm and their respective components.
-- The results will include the following calculated feed estimate value: **Dry Matter Intake.**
+- **Columns (units in parentheses):** Farm Name, Component Category, Component Name, Group Name, *Month* (monthly file only), Harvest (kg), Area (ha), Land Applied Manure (kg N), Beef Produced (kg), Lamb Produced (kg), Milk Produced (kg), Fat Protein Corrected Milk (kg)
-
+#### 4. Feed Estimates — `*FeedEstimates*.csv`
-### Specific Component Results for a Farm
+Animal feed intake estimates.
-- In each farm output folder, there will be directories corresponding to each available land management component category in Holos.
-- For each land management component, there will be a specific output results file for each land management component data file you have made. **These results are specific to the component you are interested in** and we will go over each in this section.
+- **Columns (units in parentheses):** Farm Name, Component Category, Component Name, Group Name, *Month* (monthly file only), Dry Matter Intake (kg head⁻¹ day⁻¹)
-#### Shelterbelt Component Results
-- The shelterbelt results will provide carbon emission details for every row and their corresponding species ranging from the **start year** until the **cut year.**
+### How the rows are organized
-
+Every result file uses the same hierarchical row structure. Reading from the Farm Name column outwards:
+
+```
+Farm Name
+└── Component Category ← Beef Production, Dairy, Other Livestock,
+ └── Component ← Poultry, Sheep, Swine, or Land Management
+ └── Animal Group ← e.g. "Backgrounder Steers"
+```
-#### Field Component Results
-- The field results will display results based on the **Introductory Carbon Balance Model (ICBM)** which will show all the carbon and nitrogen emission information related to your crops from 1985 to present day.
+- **Component categories** are: Beef Production, Dairy, Other Livestock, Poultry, Sheep, Swine, and Land Management (which holds Shelterbelt and Field components).
+- **Animal group rows** are the smallest unit — each row represents one animal group's contribution (or, in the monthly files, one month of that group).
+- **If a column does not apply** to a particular row (for example, *Milk Produced* on a beef farm row, or *Energy CO2* on a shelterbelt row), the value is shown as **`N/A`**.
+- **Grand totals** appear at the bottom of every file: a row that sums across all farms in the yearly files, and a row that sums across all components in each per-farm monthly file.
-### Navigating Through Holos CLI Results Directories
+### Component processing order
+
+The CLI processes components in a fixed order so that cross-references work correctly:
-Below are example directories and their corresponding results
+1. **Shelterbelts** and **Fields** are processed first.
+2. **Animal components** are processed after, because some of them reference a field (for example, a Swine component with `Housing Type = Pasture` must point to an existing field).
-#### Total Results Example Directory
+You don't need to configure this — it happens automatically — but it explains why Field and Shelterbelt rows always appear near the top of the result files.
+
+### Folder layout in practice
+
+The two screenshots below show the folder structure that is created after a run.
+
- Figure 10-36 - Total Farm results directory
+ Figure 10-36 – `TotalResultsForAllFarms` folder
- A: Path to total results for all farms directory. The results folder is created inside the user created general Farms directory
+ A: Path to the `TotalResultsForAllFarms` directory, created inside the user's `Farms` folder
- B: Output files for each calculated result category (yearly basis)
+ B: The four yearly total CSV files (GHG, CO2e, Estimates of Production, Feed Estimates)
-
-#### Results for a Farm Example Directory
-
-
- Figure 10-37 - Results for each calculated category
-
- A: Path to the directory
+ Figure 10-37 – `_Results` folder
- B: Specific output results for each land management component in a farm
+ A: Path to the farm's output directory
- C: Output files for each calculated result category (monthly basis) for the farm and for each settings file
+ B: The four monthly result CSV files for that farm, one set per settings file
diff --git a/H.Core/Calculators/Shelterbelt/ShelterbeltCalculator.cs b/H.Core/Calculators/Shelterbelt/ShelterbeltCalculator.cs
index d4c30a1c..47bbb2a9 100644
--- a/H.Core/Calculators/Shelterbelt/ShelterbeltCalculator.cs
+++ b/H.Core/Calculators/Shelterbelt/ShelterbeltCalculator.cs
@@ -329,13 +329,15 @@ public void CalculateEstimatedGrowth(TrannumData trannumData)
// Equation 2.3.3-6
var livingBiomassFraction = livingBiomass * trannumData.RealGrowthRatio;
- // Equation 2.3.4-2
- var deadOrganicMatterFraction = deadOrganicMatter * trannumData.RealGrowthRatio;
+ // DOM is not adjusted by the real growth ratio — RealGrowthRatio is derived
+ // from living biomass only and should not scale dead organic matter pools.
+ // See GitHub issue #429.
+ var deadOrganicMatterFraction = deadOrganicMatter;
// Calculate the estimated biomass carbon based on the real growth ratio
trannumData.EstimatedTotalLivingBiomassCarbonBasedOnRealGrowth = livingBiomassFraction;
- // Calculate the estimated dead organic matter based on the real growth ratio
+ // Calculate the estimated dead organic matter (unscaled lookup value)
trannumData.EstimatedDeadOrganicMatterBasedOnRealGrowth = deadOrganicMatterFraction;
}