GFIS Final Version 2026 · M.Tech Dissertation Evidence · Report V2

Gate 3 Integrated Scientific Report

Public time-series integration, leakage-safe baselines, temporal-memory study, natural temperature-drift evaluation, and reproducible experiment memory.

Accepted run: G3-E01-20260724T1530Z-ds03-v3Git: d7318a3f8674Generated: 24 July 2026GFIS core target: methane yieldDS-03 test target: total biogas
Gate 3 complete · temporal claim rejected

Executive scientific verdict

GFIS remains a methane-yield prediction and decision-support system. Gate 3 adds a reproducible public-data experiment chain, but DS-03 evaluates total-biogas dynamics rather than measured methane. On that dataset, the current LSTM is not promoted: persistence won two of three rolling-origin folds. The LSTM remains a short-window challenger while methane-specific external validation continues separately.

MAERMSEsMAPEFoldSeedWindowDrift
1,167Process records
4Distinct digesters
51,766Weather records
3 × 3 × 4Folds · seeds · windows
Champion: persistence

Fold wins: persistence 2, LSTM 1. Selection was locked before the final test was opened.

No methane validation claim from DS-03

This boundary applies only to the evaluator-suggested public dataset: methane fraction is 99.66% missing, so its total-biogas target is not relabelled as methane. GFIS methane prediction remains implemented and is demonstrated separately in the simulator evidence section.

Direct response to evaluator guidance

Evaluator-suggested dataset: experimental impact

Gate 3 selected the catalogue's rank-1 public source—Mendeley DS-03, farm-scale digester process and weather data—in direct response to the evaluation requirement for real/open evidence and temperature sensitivity. The evaluator guidance motivated the source category and experiment; it does not imply that the evaluator authored the dataset.

Guidance

Use real/open anaerobic-digestion data, disclose limitations, test temperature sensitivity, compare LSTM with strong baselines, and keep claims traceable.

Gate 3 experiment

Immutable DS-03 ingestion quality audit rolling-origin persistence/XGBoost/LSTM comparison natural drift study locked test.

Changed understanding

Real farm-scale evidence did not justify promoting the LSTM. It exposed target and metadata limits, regime instability, and the need for a second licensed methane-rich dataset.

Before DS-03

  • Synthetic evidence could demonstrate workflow, not field validity.
  • “Biogas” risked being discussed too loosely as methane.
  • A favourable aggregate score could hide unstable regimes.
  • Temperature robustness and experiment replay were not evidenced end to end.

After DS-03

  • Four reactor identities and 51,766 measured weather records are traceable.
  • The evaluated target is explicitly total biogas; methane is 99.66% missing.
  • Three chronological folds reveal persistence wins two folds and LSTM one.
  • Natural drift, repeated seeds, checksums, predictions, epochs and checkpoints are retained.

Experiment-to-learning traceability

Experiment or auditEvidence producedWhat it changed in GFIS understanding
Source and schema auditFour farm-scale reactors; mixed Excel dates; duplicates, gaps and structural missingness documented.Catalogue descriptions must be verified against files. GFIS now repairs dates transparently, flags exclusions and preserves reactor identity.
Target auditDaily/interval total-biogas field usable; methane fraction 99.66% missing; VFA/ALK and required VS/BMP fields unavailable.DS-03 cannot validate methane yield, VFA/ALK soft sensing or methane physics loss. Physics-violation rate is unavailable—not zero.
Leakage-safe rolling comparisonPersistence wins folds 1 and 3; LSTM wins fold 2; all models use identical chronological splits.Temporal learning is regime-dependent. GFIS keeps persistence as the DS-03 champion and the compact LSTM only as a challenger.
Sequence windows 3/7/14/28Window differences are small relative to fold-to-fold dispersion.No evidence supports a larger model zoo or Transformer. Short memory is the defensible current choice.
Natural temperature driftRMSE degradation is −21.2%, +29.3% and −21.2% across folds.Temperature association is inconsistent; Gate 3 makes no causal temperature claim and labels observed versus synthetic stress separately.
Locked test and experiment memoryChecksummed data, split version, seeds, epochs, predictions, environment, checkpoints and replay artifacts.A single favourable final score cannot override rolling evidence; every dissertation claim can now be replayed and audited.

Open evaluator action plan Open response report

Input provenance and integrity

The selected source is Mendeley Data V1, DOI 10.17632/gk3f363sfg.1, contributed by Daniel Mulat and licensed CC BY 4.0.

Immutable source package

Title: Process monitoring and weather datasets on farm-scale biogas digesters

Archive: 12,005,187 bytes

Archive SHA-256

ee88e12be5acd05d0c1ec08bcebdfb4f72f15789c91dfddfc4f96277826adbf3

Canonical output

Schema: gfis-gate3-ds03-v1

Processed SHA-256

66d7dfc303f6197d3c5b96eaffb9bfbe5c351b0929461db7c13fe69a8f7e5654

Raw files are preserved; processing is additive.

Open input and processing artifacts

ArtifactSizeSHA-256Action
Raw Mendeley archive12,005,187 Bee88e12be5acd05d0c1ec08bcebdfb4f72f15789c91dfddfc4f96277826adbf3Open ↗
Canonical processed CSV174,638 B66d7dfc303f6197d3c5b96eaffb9bfbe5c351b0929461db7c13fe69a8f7e5654Open ↗
Processing manifest3,544 B840a429d766a189fa858b5ef2cd6fb50d88605e999d6b03ac3e42caec5a54202Open ↗
Dataset coverage and temperature

Figure 1. Four reactor histories and naturally observed air-temperature trajectories. Reactor identity is retained throughout.

reactor rows start end duplicate_timestamps non_daily_intervals temperature_missing methane_fraction_observations date_repairs
R1 306 2024-01-04 2025-01-14 0 55 0 1 0
R2 306 2024-01-04 2025-01-14 0 54 0 1 0
R3 279 2024-01-10 2025-01-14 6 50 10 1 23
R4 276 2024-01-10 2025-01-14 5 48 8 1 32

Data quality and target audit

Missingness chart

Figure 2. Predictor and target-field missingness. Methane coverage is scientifically unusable.

Acceptance rules

  • One-day intervals only for comparable daily forecasting.
  • Duplicate reactor timestamps excluded.
  • Targets are never imputed.
  • Predictor imputation and scaling are fitted within each training fold.
  • R1–R4 identity is retained with group-aware sequence creation.
  • Mixed Excel dates are repaired monotonically and flagged.
View complete processing-manifest quality payload
{
  "rows": 1167,
  "reactors": [
    "R1",
    "R2",
    "R3",
    "R4"
  ],
  "timestamp_start": "2024-01-04 00:00:00",
  "timestamp_end": "2025-01-14 00:00:00",
  "target_definition": "Total biogas meter increment between recorded observations, source-labelled mL",
  "target_is_methane": false,
  "by_reactor": {
    "R1": {
      "rows": 306,
      "start": "2024-01-04",
      "end": "2025-01-14",
      "duplicate_timestamps": 0,
      "non_daily_intervals": 55,
      "median_interval_days": 1.0,
      "target_missing": 1,
      "temperature_missing": 0,
      "digester_temperature_missing": 3,
      "methane_fraction_observations": 1,
      "date_repairs": 0
    },
    "R2": {
      "rows": 306,
      "start": "2024-01-04",
      "end": "2025-01-14",
      "duplicate_timestamps": 0,
      "non_daily_intervals": 54,
      "median_interval_days": 1.0,
      "target_missing": 1,
      "temperature_missing": 0,
      "digester_temperature_missing": 7,
      "methane_fraction_observations": 1,
      "date_repairs": 0
    },
    "R3": {
      "rows": 279,
      "start": "2024-01-10",
      "end": "2025-01-14",
      "duplicate_timestamps": 6,
      "non_daily_intervals": 50,
      "median_interval_days": 1.0,
      "target_missing": 1,
      "temperature_missing": 10,
      "digester_temperature_missing": 279,
      "methane_fraction_observations": 1,
      "date_repairs": 23
    },
    "R4": {
      "rows": 276,
      "start": "2024-01-10",
      "end": "2025-01-14",
      "duplicate_timestamps": 5,
      "non_daily_intervals": 48,
      "median_interval_days": 1.0,
      "target_missing": 1,
      "temperature_missing": 8,
      "digester_temperature_missing": 276,
      "methane_fraction_observations": 1,
      "date_repairs": 32
    }
  },
  "missing_fraction": {
    "total_biogas_interval_ml": 0.003427592116538132,
    "air_temperature_c": 0.015424164524421594,
    "digester_temperature_c": 0.48414738646101113,
    "manure_fed_kg": 0.01456726649528706,
    "methane_fraction_percent": 0.9965724078834619
  }
}

Integrated processing and evaluation flow

Immutable Mendeley archive
Reactor + weather canonicalisation
Past-only features and windows
Rolling-origin model comparison
Locked test + evidence memory

Chronological split

Split version: ds03-chronological-v1

Final test: 2024-11-20 to 2025-01-14

The last 15% of dates stayed sealed during architecture selection.

fold train_end_exclusive validation_start validation_end_exclusive
1 2024-08-02 2024-08-02 2024-09-08
2 2024-09-08 2024-09-08 2024-10-11
3 2024-10-11 2024-10-11 2024-11-20

Past-only features

  • Prior total-biogas value
  • Past 3-observation mean and standard deviation
  • Feed and water values
  • Observed air temperature
  • Calendar sine/cosine
  • Explicit reactor identity

No future target or future-fitted preprocessing enters a fold.

Equations, derivations, and statistical definitions

These equations define exactly what the Gate 3 code computes. Symbols are indexed by reactor r, observation time t, rolling fold k, and random seed s.

1. Target construction and eligibility

yr,t = Br,t − Br,t−1

B is the cumulative biogas-meter reading. The source workbook supplies this difference as “Daily Biogas (mL).” Gate 3 interprets it as interval total biogas and accepts it as daily only when Δt = 1 day.

𝓔r,t = 𝟙[Δt = 1] · 𝟙[not duplicate] · 𝟙[yr,t observed]

Only observations with 𝓔 = 1 enter model evaluation. Missing targets are never imputed.

2. Past-only temporal features

Lag1r,t = yr,t−1

The most recently observed total-biogas interval.

μ̄(3)r,t = (1/3) Σj=13 yr,t−j

Three-observation past-only rolling mean.

s(3)r,t = √[(1/(3−1)) Σj=13(yr,t−j − μ̄(3)r,t)²]

Sample rolling standard deviation. The current or future target never enters these features.

dsin,t = sin(2π·DOYt/366),   dcos,t = cos(2π·DOYt/366)

Cyclic calendar encoding prevents an artificial discontinuity between 31 December and 1 January.

3. Fold-local preprocessing derivation

mk,j = median{xi,j : i ∈ Traink}
i,j = xi,j if observed; otherwise mk,j
zi,j = (x̃i,j − μk,j) / σk,j

The imputation median m, mean μ, and standard deviation σ are estimated only from the current training fold. Validation and test observations are transformed but never used to fit preprocessing.

4. Persistence baseline

ŷpersistr,t = yr,t−1

A temporal model must outperform this operationally meaningful baseline on leakage-safe validation before an improvement claim is accepted.

5. XGBoost objective

ŷi = Σm=1M fm(xi),   fm ∈ 𝓕
𝓛(m) = Σi(yi − ŷ(m−1)i − fm(xi))² + Ω(fm)

Each tree fits residual structure from the current ensemble; Ω regularizes tree complexity. All lag and rolling predictors remain past-only.

6. Current LSTM state derivation

it = σ(Wxixt + Whiht−1 + bi)
ft = σ(Wxfxt + Whfht−1 + bf)
gt = tanh(Wxgxt + Whght−1 + bg)
ot = σ(Wxoxt + Whoht−1 + bo)
ct = ft ⊙ ct−1 + it ⊙ gt
ht = ot ⊙ tanh(ct)
ŷt = wyTht + by

σ is the logistic sigmoid and ⊙ is element-wise multiplication. Gate 3 uses one layer, hidden size 32, no random shuffling, and windows of 3, 7, 14, and 28 observations.

MSEtrain = (1/N) Σi=1N(z(yi) − z(ŷi))²

Targets are standardized from training data only. Adam minimizes scaled MSE; early stopping retains the state with lowest validation MSE.

7. Reported error metrics

MAE = (1/N) Σ |yi − ŷi|
RMSE = √[(1/N) Σ (yi − ŷi)²]
R² = 1 − [Σ(yi − ŷi)² / Σ(yi − ȳ)²]
sMAPE = (100/N) Σ [2|ŷi − yi| / (|yi| + |ŷi|)]

sMAPE terms with a zero denominator are excluded. Negative R² means the model is worse than predicting the evaluation-period mean.

8. Repeated-seed aggregation and dispersion

k,w,m = (1/S) Σs=1S Mk,w,m,s
SD(M) = √[(1/(n−1)) Σq=1n(Mq − M̄)²]

S = 3 seeds (17, 29, 43). The report presents mean and sample standard deviation across fold/seed observations.

9. Natural temperature-drift definition

Driftk,t = 𝟙[Tt < Q0.10(TTrain,k) ∨ Tt > Q0.90(TTrain,k)]
Degradationk(%) = 100 · [RMSEdrift,k − RMSEstable,k] / RMSEstable,k

Positive degradation means worse error in naturally outlying temperature conditions. This is an association test, not a causal temperature derivation.

10. Robust architecture-selection rule

Winnerk = arg minm means[RMSEk,m,s]
Champion = arg maxm Σk 𝟙[Winnerk = m]

Ties are resolved by median fold RMSE and then dispersion. The rule was applied before opening the final test. Persistence won two folds; LSTM won one.

11. Future methane-physics formulation — not evaluated here

Method proposal only
ŷCH₄,t = ŷmech,t + fθ(xt−w:t)
𝓛total = 𝓛data + λyield·mean[max(0, ŷCH₄ − BMP·VSfed)²] + λstate𝓛state + λstability𝓛VFA/ALK

This residual/physics loss requires measured methane, substrate VS/BMP, and stability variables. DS-03 lacks them, so Gate 3 does not compute, tune, or claim this loss.

Rolling-origin model evidence

A single mean score would conceal the extreme second regime. Model selection therefore uses fold wins, then median fold RMSE and dispersion.

Rolling fold robustness

Figure 3. Fold-level RMSE on a logarithmic axis. Persistence is strongest in folds 1 and 3; LSTM is strongest only in fold 2.

Sequence-window study

Figure 4. Sequence-window changes are negligible relative to fold-to-fold dispersion.

Complete model-window rolling summary
Model Window RMSE mean RMSE SD MAE mean R² mean
lstm 3 22,036.865 31,653.674 7,888.023 -8.247
lstm 7 21,974.337 31,561.129 8,250.821 -7.988
lstm 14 21,985.184 31,575.850 8,261.796 -8.227
lstm 28 22,041.158 31,505.673 8,364.877 -10.393
persistence 3 30,585.725 52,451.814 12,999.159 -0.541
persistence 7 30,585.725 52,451.814 12,999.159 -0.541
persistence 14 30,585.725 52,451.814 12,999.159 -0.541
persistence 28 30,585.725 52,451.814 12,999.159 -0.541
xgboost 3 36,949.411 29,335.792 15,980.197 -4,300.392
xgboost 7 37,920.000 29,605.812 16,662.618 -5,103.333
xgboost 14 38,008.514 29,286.710 16,516.972 -4,982.804
xgboost 28 42,435.957 32,661.801 19,397.180 -6,991.630

Locked final-period comparison

Final period metrics

Figure 5. The LSTM has slightly lower final-test RMSE, but much worse sMAPE and was not the rolling-validation champion.

Model MAE mean RMSE mean R² mean sMAPE mean
lstm 3,918.765 23,316.775 0.013 106.351
persistence 3,968.208 33,272.249 -1.009 30.311
xgboost 2,694.391 23,616.635 -0.012 63.119
Timestamped final predictions

Figure 6. Seed-averaged final-period predictions. Symlog scaling exposes both normal and extreme intervals.

Training sessions and epoch evidence

Every LSTM epoch is retained with run, fold, seed, window, training loss, and validation loss. Final-fit LSTM and XGBoost checkpoints are checksum-registered.

Epoch histories

Figure 7. Window-3 rolling LSTM validation traces across all folds and seeds.

Experiment scale

84 fold/seed/model/window metric records

399 epoch records

8,512 rolling prediction rows

1,113 final prediction rows

Model configuration

Click to inspect model and training configuration
{
  "experiment_id": "G3-E01",
  "dataset_id": "DS-03",
  "processed_schema": "gfis-gate3-ds03-v1",
  "target": "total_biogas_interval_ml",
  "target_semantics": "total biogas meter increment between observations; not methane",
  "test_fraction_by_time": 0.15,
  "rolling_folds": 3,
  "sequence_windows": [
    3,
    7,
    14,
    28
  ],
  "seeds": [
    17,
    29,
    43
  ],
  "lstm": {
    "hidden_size": 32,
    "num_layers": 1,
    "epochs": 30,
    "patience": 6,
    "learning_rate": 0.003,
    "batch_size": 64
  },
  "xgboost": {
    "n_estimators": 250,
    "max_depth": 4,
    "learning_rate": 0.04,
    "subsample": 0.9,
    "colsample_bytree": 0.9
  },
  "temperature_drift": {
    "natural_only": true,
    "low_quantile": 0.1,
    "high_quantile": 0.9
  },
  "physics_violation": {
    "status": "unavailable",
    "reason": "methane fraction and substrate VS required for a methane-yield bound are absent"
  }
}

Open source code and configuration

ArtifactSizeSHA-256Action
Canonical data pipeline9,366 Bb7f7769b5a8e2be336fcaba736b52547ba775047799ed815a2797edc277b97eaOpen ↗
Leakage-safe experiment engine19,555 B174562de87a54219a5490e68a0f6d0e340cf0cf0b0b4dfb144432ee59500e04cOpen ↗
Dataset preparation command697 B2e0989543d8b42ff91b17ba9ffec2845714d8140350831ecac920ab643a5439dOpen ↗
Training command853 B155b9ab3b7a9294ba0e53ba46c56dd6c5801c69ad48c6a554d639a3411561631Open ↗
Integrated report generator66,148 B4bfd7a8a81630d65ad7057089889290d9b1b8de3b544bd51a44f38294bbf5369Open ↗
Experiment configuration718 Be9b04943c480a436fd4538a116dca805183e11eaa84adce6209054fc6c768cfbOpen ↗

Natural temperature-drift study

Drift observations fall outside each training fold's 10th–90th percentile temperature range. No artificial perturbation is presented as plant data.

Temperature drift degradation

Figure 8. Degradation is inconsistent across folds: −21.2%, +29.3%, and −21.2%. No causal temperature claim is supported.

fold natural_drift_n stable_n training_temperature_low_c training_temperature_high_c rmse_degradation_percent
1 47 61 19.4 28.62 -21.202
2 28 64 18.3 28.10 29.334
3 16 88 18.2 28.30 -21.222

Persistent experiment memory

The accepted run binds source identity, checksums, Git commit, split version, seeds, windows, environment, configurations, predictions, epoch histories, plots, checkpoints, and replay instructions.

Run identity

G3-E01-20260724T1530Z-ds03-v3

Git commit: d7318a3f86743fb6ddd00783990808e30cb0470e

Run manifest SHA-256: cf04430551daaf04e0dd585e00219faab0c547c6163bcc3b11d31b865f869bd0

Environment

Click to inspect package and runtime versions
{
  "python": "3.13.5 (v3.13.5:6cb20a219a8, Jun 11 2025, 12:23:45) [Clang 16.0.0 (clang-1600.0.26.6)]",
  "platform": "macOS-26.5.2-arm64-arm-64bit-Mach-O",
  "numpy": "2.2.6",
  "pandas": "2.2.2",
  "scikit_learn": "1.8.0",
  "xgboost": "2.0.1",
  "torch": "2.9.1"
}
Complete clickable artifact inventory and checksums
ArtifactSizeSHA-256Action
checkpoints/lstm_seed_17.pt26,769 B8a562c8b931b9a155735ea69b01d629cc9986850ba9dec338f5eef95beef2a13Open ↗
checkpoints/lstm_seed_29.pt26,769 B38a82f214ea7e2142b4087c509c7bc3fb61e9b5b735a139100555a4a423a5b9bOpen ↗
checkpoints/lstm_seed_43.pt26,769 Ba8e08c5f241c5344d21bb6e460e9232da8dc843dc07083129ae0e8d62a705801Open ↗
checkpoints/xgboost_seed_17.joblib382,652 Bbc3ed6ad8ccae92ff1ba11443f785ca5c25a93c612b5fad6098d3fd62ae6ad3fOpen ↗
checkpoints/xgboost_seed_29.joblib378,716 B49fac2d01d39ffbfea638ad2738a9706ffce4f1aa41cb294dc1264b19694a48cOpen ↗
checkpoints/xgboost_seed_43.joblib380,412 Bcbb1371d14926771c4896bbebc3b607b4d359ed3d8ce004294d1e76f37f046deOpen ↗
config.yaml718 Be9b04943c480a436fd4538a116dca805183e11eaa84adce6209054fc6c768cfbOpen ↗
environment.json268 B8e5897c2452c3c470a8ed51133f18d1a3da933de792038f9b35cd51e9519649bOpen ↗
final_test_metrics.csv700 B6f2b5c8fc31a75dff8e4eb51f4055605ed0d0d43a660073033305366d8bc5109Open ↗
fold_metrics.csv8,015 B651636fb5313986ed14c0b81d5bc30d080485fca4e788a906ee9a58c5a20c742Open ↗
logs/epoch_history.csv21,993 Bcb51b40c9f28371c79bc6776cf83ff52a977fc299323320ed9ac1288f907bba3Open ↗
plots/window_rmse.png54,316 B0ea3d858386bf77fc5890e708c3fc4a5944c9463ef62b664c5eb76503f656ce7Open ↗
predictions/final_test_predictions.csv60,863 B031b0f8b1743c9ba0b944252293b0851545c10a2c64a34150725405ee07bddceOpen ↗
predictions/rolling_predictions.csv484,748 B562f617f8488cdb3c4796586e9070200d3931988b4a1303fc1644268311f0bc3Open ↗
rolling_summary.csv1,999 B6e44dd5c6ddfc94805cc4502c3d51744c5c9456c784596fb4269b917432e56eaOpen ↗
scientific_decision.json732 B8851ffa78c806e32c0e5fafce62c527a58903178db64b8135b001a1c6db08d54Open ↗
split_manifest.json756 Ba3089f12eaa4b0c3bef0ef0a8254fd4b603a8d9861f74cf4c3fe42ab30cd29faOpen ↗
temperature_drift.json1,659 Ba75e80c79777490905364db9aaef3548e56cb007596169784ca14f97b87b6935Open ↗

Exact replay

The accepted run was replayed. Fold metrics, summaries, final-test metrics, scientific decision, drift results, prediction files, and epoch history matched byte-for-byte.

Click to view exact replay commands
PYTHONPATH=01_Product_Source/GFIS_Project python3 \
  01_Product_Source/GFIS_Project/scripts/gate3_prepare_dataset.py \
  --workbook "03_Datasets/01_Raw_Public_Datasets/DS03_Mendeley_gk3f363sfg_v1/extracted/Farm-scale_Biodigester_Perfromance_dataset/Farm-scale Biodigester 2024_Performance.xlsx" \
  --weather-workbook "03_Datasets/01_Raw_Public_Datasets/DS03_Mendeley_gk3f363sfg_v1/extracted/Farm-scale_Biodigester_Perfromance_dataset/Mazingira main(z6-02152)-1729245757_weather_data.xlsx" \
  --output 03_Datasets/05_Processed_Final/DS03/gfis_ds03_canonical_v1.csv \
  --manifest 03_Datasets/05_Processed_Final/DS03/processing_manifest_v1.json

PYTHONPATH=01_Product_Source/GFIS_Project python3 \
  01_Product_Source/GFIS_Project/scripts/gate3_run_experiment.py \
  --run-id G3-E01-20260724T1530Z-ds03-v3-replay
Executable simulator proof

GFIS capabilities working end to end

The simulator evidence below is not a conceptual mock-up. The trained GFIS service bundle was loaded and executed for 9 controlled scenarios × 48 hours, producing 432 hour-indexed output rows. UI screenshots show the corresponding Control Room, scenario handoff, alarm state and experiment-memory surfaces.

Fresh Version 2 replay

Run: V2-SIM-20260724T2220Z

Trained model bundle loaded: true

Model SHA-256:

008e25cea87e740a3b9ce5a909d859aa4e4fb82d64d54e8b9bd038c8c5e67602

Evidence label: synthetic controlled simulator replay; not plant validation

What “working” means here

  • Python service executed predictions and stateful 48-hour traces.
  • VFA/ALK warning states changed under overload stress.
  • A low-VS boundary challenge triggered and recorded the physics constraint.
  • Every output row, configuration identity and checksum is retained.
  • This is controlled synthetic replay evidence—not measured plant validation.
Executed GFIS simulator capability replay

Figure 9. Fresh Version 2 backend replay. Methane trajectories, VFA/ALK responses and the VS-dependent physics ceiling are plotted directly from the preserved 432-row simulator output.

Executed scenario results

Scenario Hours Mean methane yield Max VFA/ALK Warning/Critical hours Physics violation hours
Nominal mesophilic operation 48 199.342 0.197 0 0
Organic overload 48 200.932 0.335 48 0
pH acidification shock 48 152.935 0.284 0 0
Low-temperature disturbance 48 183.397 0.227 0 0
Reduced HRT washout risk 48 194.579 0.278 0 0
High-solids feedstock 48 213.273 0.251 0 0
Corrective recovery operation 48 196.719 0.152 0 0
Critical acidification boundary stress 48 148.083 0.331 48 0
Low-VS physics-bound challenge 48 180.278 0.332 48 1
GFIS Model Control Room with experiment memory

Figure 10. Localhost Control Room evidence captured 9 July 2026: process controls, methane/physics/VFA outputs, 48-hour handoff, and CSV/JSON/report experiment-memory export. The historical panel's model-status message is superseded by the fresh Version 2 replay above, which confirms the trained bundle loaded.

Industrial simulator receiving a Control Room stress scenario

Figure 11. Localhost scenario-handoff evidence captured 9 July 2026: the industrial simulator imports OLR, pH, temperature, HRT, TS and VS, detects VFA/ALK stress, raises warning/critical UI states, and records the operator-applied process state.

Industrial simulator memory and export panel

Figure 12. Localhost industrial-simulator memory evidence captured 9 July 2026: scenario variables, action/effect records, VFA/ALK warning state, physics message and CSV/report export controls remain visible in one audit surface.

Open replayable simulator evidence

ArtifactSizeSHA-256Action
V2 simulator run metadata769 Bba2c5c244164c65dd16276b5d5eac3d31046001d6f704c8cbc4a9a01fdd1db67Open ↗
Nine-scenario summary1,806 B146c77173f7b99a292cdce1cd518c8bebee07fc2fee646fe288cf8a4b325637aOpen ↗
Complete 432-row 48-hour traces51,716 B933d36b9245fe084fb492af2e5e5826a235c06a2ec2f3f5cb2369e8e4cef0dd7Open ↗
Simulator artifact manifest751 B374369eafbee87946043516e07595960167a673f7b2e0ea3cfc572fbde0de55cOpen ↗
Replay evidence generator7,491 Bf7a7d366bddb9219653b32eb2eb99f30a843d254138cc36e16b78c117f4062fdOpen ↗
Click to view the simulator replay command template
PYTHONPATH=01_Product_Source/GFIS_Project python3 01_Product_Source/GFIS_Project/scripts/generate_v2_simulator_evidence.py --run-id <NEW_UNIQUE_RUN_ID> --hours 48

Capability conclusion

This evidence supports the statement that GFIS implements and executes continuous multi-hour methane simulation, VFA/ALK soft sensing, VS-based feasibility checking, scenario coordination and persistent experiment export. It does not convert controlled replay into an industrial-plant accuracy claim; that remains the next external-validation layer.

Implemented GFIS capability versus external validation

These are not missing product ideas. They already exist in the GFIS prototype and simulator. Gate 3's limitation is narrower: DS-03 cannot independently validate every capability because it provides total biogas with almost no measured methane and lacks the required VFA/ALK and VS/BMP targets.

GFIS capabilityImplemented evidence nowValidation boundaryNext evidence upgrade
Continuous methane forecastingTrained methane predictor, temporal inputs and deterministic 48-hour plant trace with feedback history.Demonstrated on synthetic/scenario data; DS-03 does not contain a usable continuous methane target.Replay on a licensed timestamped methane dataset and compare chronologically against persistence and XGBoost.
VFA/ALK virtual soft sensorRandom-forest soft sensor, stability thresholds, overload/acidification scenarios, API output and simulator alarms.Functional prototype evidence; no independent measured VFA/ALK labels in DS-03.Validate classification and regression against laboratory VFA and alkalinity samples, including lead-time to warning.
VS-based physics guidanceVS-dependent methane ceiling, violation flag, post-prediction correction and scenario violation memory.The current implementation is a feasibility constraint/post-processing layer—not yet a trained physics-loss experiment on measured methane/VS/BMP.Add an ablation-controlled loss term and report accuracy, violation rate and yield-bound calibration.
Temporal memoryLSTM branch, lag/rolling history, sequence-window experiments and complete epoch logs/checkpoints.On DS-03, longer windows do not improve rolling-origin robustness and persistence wins two of three folds.Keep the compact LSTM challenger; retest only when a longer, methane-rich series provides adequate memory evidence.
Industrial digital-twin workflowControl Room, 48-hour industrial simulator, scenario handoff, optimization, warnings and JSON/CSV/report memory export.Product workflow is demonstrable; it is not yet a field-performance claim from a commissioned industrial plant.Run shadow-mode pilot validation with sensor mapping, calibration records, uptime, error and operator-decision metrics.

Defensible Version 2 statement

GFIS implements and demonstrates methane prediction, VFA/ALK soft sensing, VS-based feasibility checking, temporal modelling, and a memory-enabled industrial simulator. The validation level is explicitly labelled as synthetic, public-dataset, or future plant validation for each result.

Recommended temporal architecture

Keep persistence as the safe DS-03 champion. Retain the compact 3–7 observation LSTM as challenger. Advance the physics-guided methane architecture when a licensed continuous dataset supplies reactor identity, measured methane, temperature, feed/VS or BMP, and preferably VFA/ALK.

Open prediction and 48-hour simulation service Open LSTM and physics-constraint models Open controlled scenario evidence