Core Showcase¶
Core-Dependency Showcase: Field Input Assembly for ARC-SCOPE¶
If you need the full ARC retrieval plus two real SCOPE runs, start with the Full Run Example. This page is the dependency-light fallback.
This page documents the repo's primary in-repo showcase: a deterministic experiment that assembles a SCOPE-shaped input package from ARC-like biophysical arrays, bundled field geometry, bundled local weather, observation geometry, and radiation partitioning.
Verified here: synthetic ARC-like inputs, bridge conversion, local weather ingestion, observation geometry, direct/diffuse radiation partitioning, and a proxy calibration step that exercises the optimisation stack.
Not claimed here: a validated full scope-rtm execution.
What This Demonstrates¶
The showcase uses only the core package dependencies and the code paths already exercised in the repository. It demonstrates how ARC-SCOPE turns spatial biophysical arrays and field context into inspectable, time-aligned experiment inputs before any heavy SCOPE dependency is introduced.
What This Does Not Demonstrate¶
- It does not execute
prepare_scope_dataset()orrun_scope_simulation(). - It does not claim scientific validation of SCOPE outputs.
- Its calibration step fits a proxy fluorescence response, not a real SCOPE fluorescence product.
Experiment Inputs¶
- Synthetic ARC-like
post_bio_tensorandscale_dataarrays with seasonal structure. - The bundled Belgian test field polygon from
arc_scope.data.TEST_FIELD_GEOJSON. - A bundled local weather CSV sampled at Sentinel-2-like overpass times.
- Default nadir viewing geometry with
overpass_hour=10.5.
Workflow¶
- Generate synthetic ARC-like biophysical and soil arrays.
- Convert them to named xarray structures with
arc_arrays_to_scope_inputs(). - Build observation geometry from the field centroid with
build_observation_dataset(). - Load local weather through
LocalProvider. - Partition shortwave radiation into direct and diffuse terms with
partition_shortwave(). - Assemble a compact experiment dataset for diagnostics.
- Fit a proxy fluorescence yield parameter with the scipy optimisation wrapper.
Run It¶
pip install arcope
python3 -m arc_scope.experiments.showcase --output-dir ./showcase-output
If you are working from a repo checkout, examples/05_showcase_experiment.py wraps the same packaged entry point.
Outputs to Inspect¶
post_bio_da: gridded biophysical inputs in physical units.post_bio_scale_da: phenology and soil parameters aligned to the field grid.weather_ds: time-indexed local forcing with SCOPE-style variable names.observation_ds: solar and viewing geometry at each overpass time.timeseries.csv: flattened experiment diagnostics for each date.summary.json: compact calibration metrics.
Files generated for this page:
Published Summary¶
The generated summary.json file records:
n_time_stepspeak_laimean_direct_fractionmean_diffuse_fractiontrue_fqeinitial_fqeoptimized_fqermse_initialrmse_optimizedrelative_fqe_error_pct
The Pages workflow regenerates these artifacts before each docs build so the charts and summary stay aligned with the current showcase code.
Interactive Dashboard¶
The showcase generates a single-scroll Plotly dashboard that shows the full causal chain: canopy state drives absorption, radiation provides illumination, their product (scaled by fqe) produces the SIF signal, and the optimiser fits fqe against observations.
All plots are visible at once so you can scroll and see the seasonal coupling without switching tabs. The dashboard includes:
- Season overview with normalised LAI, Rin, and proxy SIF overlaid on a shared axis
- Canopy panels showing LAI, chlorophyll, and leaf water content individually
- Radiation partitioning with direct/diffuse breakdown and clearness fraction
- Calibration curve comparing observed, initial, and optimised proxy SIF
- Fit diagnostics with residual time series and observed-vs-modelled scatter (1:1 line)
Radiation Partition¶
Proxy Calibration¶
Why This Matters¶
This experiment validates the interface boundary where ARC-SCOPE is already strongest: spatial biophysical data assembly, field context, forcing alignment, and optimisation mechanics. It gives you a concrete artifact to inspect before you introduce scope-rtm, torch, ARC retrieval, or ERA5 downloads.
Optional Extension: Full SCOPE Integration¶
If you have verified scope-rtm and torch installed, move next to the pipeline and SCOPE integration paths:
Failure Modes¶
- Missing weather columns or mismatched
var_mapentries. - Time alignment mismatches between weather and observation timestamps.
- Invalid or empty field geometries.
- Unrealistic synthetic values that make the proxy calibration trivial or unstable.