AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
Nutrient Pool Ontology — Full Conceptual Flow Algebra v1.0
Kireth Semantic Library
Authors: Mark Higgins — Sky (Recursive AI)
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/experimental-biological-entities/nutrient-pool-ontology.html
Status: Newly authored conceptual specification; not verified against source page and not executable without an implementation.
Locale: en-GB
flow "NutrientPoolOntology" v1.0
# 01 — DOMAIN AND PURPOSE
DOMAIN: Biological Entities > Experimental Biological Entities > Nutrient Pool
PURPOSE: Represent stocks of biologically relevant nutrients within bounded ecological compartments, their transformations, transfers, measurements and conservation constraints.
# 02 — TYPED ENTITIES
entity NutrientPool {
id: URI
nutrient: NutrientSpecies
compartment: EnvironmentalCompartment
quantity: Quantity[mol | kg]
observation_time: DateTime
spatial_boundary: Geometry?
bioavailability: Fraction[0..1]?
provenance: EvidenceRef[]
}
entity NutrientSpecies { id: URI; name: String; elemental_composition: Map[Element, Integer] }
entity EnvironmentalCompartment { id: URI; medium: Enum[soil, water, sediment, biomass, atmosphere, detritus]; boundary: Geometry? }
entity NutrientFlux { id: URI; source: NutrientPool; destination: NutrientPool; rate: Quantity[mol/time | kg/time]; process: Process; interval: TimeInterval }
entity Process { id: URI; kind: Enum[uptake, mineralisation, immobilisation, leaching, deposition, fixation, nitrification, denitrification, decomposition, excretion, weathering, export, import, other] }
entity Measurement { id: URI; pool: NutrientPool; value: Quantity; method: String; uncertainty: Quantity?; time: DateTime; evidence: EvidenceRef }
entity EvidenceRef { id: URI; source: URI; observed_at: DateTime?; quality: Fraction[0..1]? }
entity Ecosystem { id: URI }
entity Organism { id: URI }
# 03 — RELATIONSHIP SIGNATURES
relation LOCATED_IN(NutrientPool, EnvironmentalCompartment)
relation CONTAINS_NUTRIENT(NutrientPool, NutrientSpecies)
relation PART_OF_SYSTEM(EnvironmentalCompartment, Ecosystem)
relation TRANSFERS_TO(NutrientPool, NutrientPool, NutrientFlux)
relation TRANSFORMED_BY(NutrientPool, Process)
relation UPTAKEN_BY(NutrientPool, Organism)
relation MEASURED_BY(NutrientPool, Measurement)
relation DERIVED_FROM(Measurement, EvidenceRef)
relation SEMANTIC_EQUIVALENCE(Entity, Entity, Context)
# 04 — CLASSIFICATION
class DissolvedNutrientPool extends NutrientPool
class ParticulateNutrientPool extends NutrientPool
class OrganicNutrientPool extends NutrientPool
class InorganicNutrientPool extends NutrientPool
class PlantAvailableNutrientPool extends NutrientPool
class MicrobialBiomassNutrientPool extends NutrientPool
class SoilNutrientPool extends NutrientPool
class AquaticNutrientPool extends NutrientPool
class SedimentNutrientPool extends NutrientPool
# 05 — VALIDATION CONSTRAINTS
constraint C01: each NutrientPool has exactly one nutrient species per accounting record.
constraint C02: quantity >= 0; units must be dimensionally compatible.
constraint C03: every NutrientFlux has defined source, destination, process and time interval.
constraint C04: flux accounting uses one consistent elemental or molecular basis.
constraint C05: bioavailability in [0,1] when defined; missing values remain unknown.
constraint C06: boundaries, time windows and sampling methods must be declared for comparisons.
constraint C07: a pool cannot be simultaneously counted twice within a total stock.
constraint C08: transformations between chemical species preserve elemental accounting after stoichiometric conversion.
# 06 — FLOW EQUATIONS
# For a bounded compartment and nutrient element X:
# dS_X/dt = sum(F_in,X) - sum(F_out,X) + G_X - L_X
# where S is stored stock; G and L represent internal generation/loss only when
# the accounting variable is a chemical species rather than the conserved element.
# For total elemental X, internal transformations cancel when all pools are included.
model MASS_BALANCE(pool, interval):
delta_stock = integrated_inputs - integrated_outputs + net_internal_conversion
residual = observed_delta_stock - delta_stock
require unit_compatible(delta_stock, observed_delta_stock)
report residual and propagated_uncertainty
model RESIDENCE_TIME(pool):
if total_outflow_rate > 0 and approximate_steady_state:
tau = pool.quantity / total_outflow_rate
else:
tau = undefined
model BIOAVAILABLE_STOCK(pool):
if pool.bioavailability is known:
available = pool.quantity * pool.bioavailability
else:
available = unknown
model STOICHIOMETRIC_RATIO(pool_A, pool_B):
require comparable_boundaries_and_times
require quantities expressed on molar elemental basis
if pool_B.quantity > 0:
ratio = pool_A.quantity / pool_B.quantity
else:
ratio = undefined
# 07 — INFERENCE RULES
rule R01:
IF NutrientFlux(source=A, destination=B, rate=r) AND r > 0
THEN TRANSFERS_TO(A, B) WITH evidence=flux_record.
rule R02:
IF measured_stock_change significantly differs from modelled_balance
THEN flag "unresolved flux, measurement uncertainty or boundary mismatch".
rule R03:
IF available_nutrient_stock decreases AND demand exceeds supply
THEN infer "possible nutrient limitation" WITH conditional_confidence;
DO NOT infer limitation as certain without organism-specific evidence.
rule R04:
IF a process converts organic nitrogen to inorganic nitrogen
THEN classify process as mineralisation only where chemical evidence supports it.
rule R05:
IF pool is in soil AND nutrient is dissolved
THEN classify as SoilNutrientPool and DissolvedNutrientPool;
classifications are non-exclusive.
rule R06:
IF measured flux exports nutrient across system boundary
THEN subtract it from the bounded-system elemental budget.
# 08 — INVARIANTS
invariant I01: total elemental mass is conserved across explicitly closed boundaries, within measurement error.
invariant I02: all stocks and fluxes must have compatible units and temporal integration.
invariant I03: inferred relationships preserve source evidence and provenance.
invariant I04: chemical transformations cannot create elemental mass without an accounted external input.
invariant I05: uncertainty and unknown observations must never be silently converted into zero.
# 09 — CONFIDENCE AND EVIDENCE
CONFIDENCE(assertion) := calibrated_score(evidence_quality, measurement_uncertainty, method_reliability, temporal_relevance, boundary_coverage)
range: [0,1]
policy: confidence is evidence-dependent, not an assertion of ecological truth.
policy: contradictory measurements are retained with provenance for reconciliation.
# 10 — SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE(A,B) only if nutrient species, units, compartment boundaries,
time interval, accounting basis and operational definition match or have documented conversions.
example: "soil nitrate pool" != "total soil nitrogen pool".
example: "dissolved phosphate" != "total phosphorus" without speciation accounting.
# 11 — FLOW_HASH
FLOW_HASH := SHA256(canonicalise(version, entity_types, relationships, constraints, models, rules, invariants))
Canonicalisation requires stable ordering, normalised identifiers, consistent units and UTF-8.
Do not include volatile timestamps unless they are part of the versioned scientific record.
# 12 — UPDATE_MODEL
UPDATE_MODEL(new_measurement):
validate units, boundary, sampling interval, method and provenance
append immutable evidence record
recompute affected stock estimates and uncertainty
recompute dependent nutrient budgets and inferences
preserve previous versions and audit trail
issue new FLOW_HASH for changed canonical specification
# 13 — AI_CONSUMPTION
AI_CONSUMPTION:
expose entity and relation signatures with type constraints
return quantities with units, uncertainty, location and time
distinguish observed, calculated, inferred and hypothetical values
attach provenance to every factual claim
reject unsupported conversion between nutrient species
state when mass balance is unresolved
support graph traversal across organism, habitat, ecosystem and nutrient-cycle ontologies
# 14 — EXAMPLE (ILLUSTRATIVE, NOT OBSERVED DATA)
example:
nutrient: nitrate-nitrogen
compartment: surface_soil_0_to_10_cm
stock_initial: 12 kg N/ha
inputs_during_interval: 5 kg N/ha
outputs_during_interval: 3 kg N/ha
net_internal_conversion: 1 kg N/ha
predicted_stock_final: 15 kg N/ha
equation: 12 + 5 - 3 + 1 = 15
caution: internal conversion term is valid for nitrate-N, not total elemental N in a closed system.
# 15 — CROSS-ONTOLOGY LINKS
links: Ecological Resource Ontology; Organic Matter Ontology; Detritus Ontology;
Soil Habitat Ontology; Aquatic Habitat Ontology; Forest Ecosystem Ontology;
Wetland Ecosystem Ontology; Producer Organism Ontology; Decomposer Organism Ontology.
# 16 — AUTHORSHIP AND STATUS
Authors: Mark Higgins — Sky (Recursive AI)
Kireth Research: https://kirethresearch.org
Open research-oriented conceptual specification. Scientific assumptions, equations and mappings
require domain review and implementation testing before operational deployment.
end flow