Cosmogenic nuclides¶
Figures from lsdtt3's cosmogenic tools: comparisons against CRONUS and published data, transient (step-change) and landslide experiments, and basin erosion-rate maps.
Chi and cosmogenic basins¶
Basins coloured by erosion rate (lsdviz3-cosmo-basins). Spatially joins
point erosion rates from a cosmogenic CSV to basin polygons and draws the
basins, coloured by erosion rate, over the standard hillshade, with the
scaling, muon and atmosphere schemes in the caption:
pixi run lsdviz3-cosmo-basins --base runs/site_DEM.tif \
--basins runs/site_junction_basin_polygons.fgb --cosmo-csv runs/site_erates.csv \
--out figures/site_erates.png --colorbar
Flags: --base --basins --cosmo-csv --out [--hillshade --joined-basins-out
--colorbar --scaling-scheme --muon-scheme --atmosphere --erate-input-units
--allow-incomplete-basins]. Python: join_basins_with_cosmo_erates,
render_cosmo_basin_erate_map.
Chi with erosion rates (lsdviz3-chi-cosmo). From a chi run's fit tables,
writes the stacked and per-basin chi plots, a per-basin k_sn summary and map,
and, given --cosmo-csv, k_sn against erosion rate with error bars:
pixi run lsdviz3-chi-cosmo --fit-nodes-csv runs/site_chi_fit_nodes_mn_0p450.csv \
--fit-segments-csv runs/site_chi_fit_segments_mn_0p450.csv --outdir figures \
--base runs/site_DEM.tif --basins runs/site_chi_basin_polygons.fgb \
--cosmo-csv runs/site_erates.csv --theta 0.45
Flags: --fit-nodes-csv --fit-segments-csv --outdir [--base --hillshade
--basins --basin-id-col --cosmo-csv --erate-col --lon-col --lat-col
--sample-col --theta --scaling-scheme --atmosphere --muon-scheme
--erate-input-units --allow-incomplete-basins --stem --dpi --cmap]. Python:
render_chi_and_cosmo_basin_workflow, summarize_basin_ksn,
render_chi_basin_ksn_map, charts.plot_ksn_vs_erate.
Cosmo comparison workflows¶
For cosmogenic workflows, lsdviztools3 can render standard comparison figures
from lsdtt3 CSV artefacts.
Expected primary input:
single_point_scan_comparison.csv, written bytests/scripts/run_cosmo_single_point_scaling_scan.pyin a clone of lsdtt3 into the folder its--outdirnames (it is generated, not tracked), for example:
cd ../lsdtt3
python3 tests/scripts/run_cosmo_single_point_scaling_scan.py \
--pred-exe build/lsdtt-cosmo-prediction --tool-exe build/lsdtt-cosmo-tool \
--with-cronus-v3 --sample-age-yr 0 \
--outdir ../lsdviztools3/scan_out
--with-cronus-v3 queries the online CRONUS v3 calculator for the reference
values that reference="cronus_v3" below compares against (without it those
columns are empty), and --sample-age-yr 0 matches how CRONUS treats the
samples.
The published-summary inputs below are tracked in lsdtt3, under
tests/expected/cosmo/published/; the commands assume a clone of lsdtt3 next to
this one.
Optional secondary input:
- sample-level comparison tables (for example OCTOPUS/riversand summary style CSVs containing a percent-difference column).
Python API:
from lsdviztools3.charts import load_cosmo_table, plot_cosmo_sweep_panels
from lsdviztools3.workflows import render_cosmo_comparison_figures
scan = load_cosmo_table("scan_out/single_point_scan_comparison.csv")
fig, axes = plot_cosmo_sweep_panels(scan, reference="cronus_v3", representative_pressure_hpa=900)
outputs = render_cosmo_comparison_figures(
scan_comparison_csv="scan_out/single_point_scan_comparison.csv",
sample_comparison_csv="../lsdtt3/tests/expected/cosmo/published/dethier2014_riversand_summary.csv",
out_dir="demo_output/cosmo",
)
print(outputs)
Scripted example:
python examples/cosmo_comparison_workflow.py \
--scan-csv scan_out/single_point_scan_comparison.csv \
--outdir demo_output/cosmo
# Published-summary residuals (stone/lsdn/riversand)
pixi run lsdviz3-cosmo-published \
--published-dir ../lsdtt3/tests/expected/cosmo/published \
--datasets dethier2014,clapp2002,dibiase2010 \
--mode auto \
--outdir demo_output/cosmo
Main chart helpers:
plot_cosmo_sweep_panels: nuclide x scaling panels of residual vs latitude, including separate muon-scheme traces.plot_cosmo_sample_residuals: grouped boxplots for sample-level residual tables, optionally split byscaling_scheme.
Main workflow helpers:
render_cosmo_comparison_figures: sweep residual panels and optional sample-level residual figure.render_cosmo_published_residuals: dataset-level residual figure directly from<dataset>_summary.csv,<dataset>_lsdn_summary.csv, and<dataset>_riversand_summary.csvstyle files.
Transient cosmogenic and landslide charts¶
Charts over the lsdtt-cosmo-column-tool step_change_sweep CSVs
(cosmo_transient_sweep_<label>.csv) and the per-sample
<stem>_joined_samples.csv from a routed step-change landscape. Every quantity
drawn is a column lsdtt3 already wrote: nothing is normalised or inverted here.
| Function | What it draws |
|---|---|
plot_cosmo_transient_concentration |
Normalised concentration vs time since the step change, one series per nuclide (column prefix approach_frac_, norm_conc_ or norm_full_). |
plot_cosmo_transient_erate_ratio |
Apparent erosion-rate ratios vs time since the step change. |
plot_nuclide_removal_response |
Three panels explaining why stripping a surface moves the apparent ¹⁴C/¹⁰Be ratio. |
plot_ratio_vs_steptime |
Per-sample apparent-rate ratio vs time since the knickpoint passed, coloured by true basin-mean erosion rate. |
plot_ratio_vs_mean_erate |
The same ratio vs true basin-mean erosion rate, coloured by time since the step. |
plot_ratio_overlay_1d |
plot_ratio_vs_steptime with the equivalent 1-D column sweep drawn over it. |
plot_scenario_delta |
Paired change in the apparent-rate ratio, one series per scenario. |
plot_landslide_area_volume_larsen |
Realised landslide area–volume pairs (*_LS_INVENTORY.csv) against a Larsen-style power law. |
plot_sample_effect_apparent_vs_true / plot_sample_effect_ratio |
Landslide-vs-control apparent rates from *_LS_SAMPLE_EFFECT.csv. |
Loaders: load_cosmo_transient_table, load_joined_samples,
load_landslide_inventory. The sweep figures also have a CLI: