Skip to main content
The uncertainty feature in Mangrove allows you to specify measurement uncertainty for data inputs and automatically calculates how uncertainty propagates through model calculations. Uncertainty can be set on:
  • Datapoint Types: Uncertainty values that apply to all data points of that type
  • Static Inputs: Uncertainty values for static (constant) input values
You can also override calculated uncertainty values for specific batch calculations when needed.

Setting Uncertainty on Datapoint Types

Uncertainty settings for datapoint types are configured when creating or editing event types in the Data Inputs settings:
  1. Navigate to Data InputsSettings
  2. Create a new event type or edit an existing one
  3. For each numeric datapoint type, you’ll see an “Add Uncertainty” button next to the unit field

Example: Biochar Weigh Scale Uncertainty

Creating a “Biochar Delivery” event type with a “Biochar weight” datapoint type measured in tons, with a known 0.1t uncertainty of the weigh scale.
  1. Create the event type and add a numeric datapoint type called “Weight” with unit “U.S. ton”
  2. Click “Add Uncertainty” next to the unit field, and select Value Type: “Absolute”
  3. Select a + conservative direction (i.e. delivery amounts are conservatively larger)
  4. Enter Value: 0.1 
Now, all measurements of biochar weight in deliveries ingested into Mangrove have an uncertainty of ±0.1 tons associated with them.

Setting Uncertainty on Static Inputs

Static inputs are configured in the Data Inputs settings:
  1. Navigate to Data InputsSettingsStatic Inputs
  2. Click “Add Input Type” to create a new static input, or edit an existing one
  3. For numeric static inputs, you’ll see an “Add Uncertainty” button next to the unit field

Understanding Uncertainty Propagation

Uncertainty automatically propagates through batch calculations. The platform computes uncertainty for each node within the batch calculations, and displays the uncertainty alongside the batch calculations within each Batch detail.

Propagation Rules

Uncertainty is propagated through calculations according to how the expressions are modeled: Uncertainty on inputs:
  • Uncertainty comes from the data points themselves
  • If multiple data points are used, their uncertainties are combined
Propagation within calculations:
operatorbehavior
Summation/DifferenceUncertainty = sum of all child node uncertainties
uncertainty_total = Σ(uncertainty_child)
Product/Quotientrelative uncertainty formula
uncertainty = √(Σ(relative_uncertainty²)) × value
relative_uncertainty = uncertainty_child / value_child
Max/MinUses the uncertainty from the node with the maximum or minimum value

Example: Fuel Consumption Emissions

Consider a simple model that calculates total emissions:
Total Emissions = (Fuel Consumption × Emission Factor) + Direct Emissions
Where:
  • Fuel Consumption = 1000 gallons (uncertainty: ±50 gallons)
  • Emission Factor = 20 kg CO₂/gallon (uncertainty: ±1 kg CO₂/gallon)
  • Direct Emissions = 500 kg CO₂ (uncertainty: ±25 kg CO₂)
Step 1: Uncertainty propagation in multiplication
  • Value: 1000 × 20 = 20,000 kg CO₂
  • Relative uncertainties: 50/1000 = 0.05, 1/20 = 0.05
  • Combined relative: √(0.05² + 0.05²) = √0.005 = 0.071
  • Uncertainty: 20,000 × 0.071 = ±1,420 kg CO₂
Step 2: Calculate Total Emissions (Sum)
  • Value: 20,000 + 500 = 20,500 kg CO₂
  • Uncertainty: 1,420 + 25 = ±1,445 kg CO₂
Final Result: 20,500 kg CO₂ (±1,445 kg CO₂)

Overriding Calculated Uncertainty Values

Sometimes you may want to override the automatically calculated uncertainty for a specific model run. This is useful when you have expert knowledge about the uncertainty that differs from the calculated value. How to Override Uncertainty
  1. Navigate to the Ledger view and open a batch
  2. In the Batch Calculations Table, locate the node whose uncertainty you want to override
  3. Click on the uncertainty value (displayed as (±value) or (±value%))
  4. A popover will appear with an input field
  5. Enter your custom uncertainty value
  6. Click the checkmark (✓) to save, or the delete icon (🗑️) to remove an existing override

Troubleshooting

  • Ensure uncertainty is set on the datapoint types used in your events
  • Check that data points have values (percentage uncertainty requires a value to convert)
  • Verify that the model run has completed successfully
  • Review the propagation rules to understand how uncertainty combines
  • Check if any overrides are set that might affect the calculation
  • Verify that all input uncertainties are correctly configured
  • Ensure the datapoint or static input has a value set
  • Check that the value type is numeric
  • Verify the uncertainty configuration is saved correctly