Skip to content

lsdtt3 outputs and the plots that read them

lsdviztools3 never computes topographic metrics: every chart and map is a view of a file lsdtt3 wrote. This table is the linkage — which CLI, which switch, which file, which columns, which loader, which plotter. Filenames are shown with the <stem> = lsdtt3 write_fname prefix stripped.

lsdtt3 CLI Switch that writes it Output file Key columns / bands Loader Plot function
lsdtt-raster-preprocessing write_hillshade_raster _hillshade.tif single band (path) render_hillshade (Hillshade)
lsdtt-raster-preprocessing write_fill_raster / default _fill.tif, _remove_seas.tif elevation (path) base layer for every map; render_relief3d (3D perspective relief (rayshader-style))
lsdtt-channel-extraction write_channel_network_lines _channel_network_lines.fgb stream_order load_vector render_channels (Channel network coloured by log₁₀ k_sn)
lsdtt-channel-extraction write_channel_network_points _channel_network_points.fgb flat, row, col, stream_order, drainage_area — the .csv form omits drainage_area, so ask for flatgeobuf/gpkg if you want to size points by it load_vector render_points (Points sized by drainage area)
lsdtt-channel-extraction write_channel_slope_points _channel_slope_points.csv (or .fgb/.gpkg) drainage_area_m2, flow_distance_m, elevation_m, smoothed_elevation_m, slope_m_per_m, slope_valid, slope_window_length_m load_channel_points lsdviz3-channel-slopes, charts.channel_slopes (Smoothed channel profiles and slopes)
lsdtt-channel-extraction run_channel_point_attributes _channel_points.csv (or .fgb/.gpkg) every input attribute, then original_x, original_y, snap_distance_m, snap_status, snapped_flat, contributing_pixels, drainage_area_m2, flow_distance_m, elevation_m, smoothed_elevation_m, slope_m_per_m, slope_valid, slope_window_length_m load_channel_points lsdviz3-channel-slopes --field-points (Smoothed channel profiles and slopes)
lsdtt-basin-extraction write_basin_outlines (+ _as_polygon) _junction_basin_polygons.fgb basin id load_vector render_basins (Basins)
lsdtt-basin-extraction select_basins_from_line_crossings _line_crossing_basins.csv outlet, centre of mass, area, outlet→COM bearing, fault azimuth, side, relative bearing load_table rose_diagram, plot_distributions (Python workflows)
lsdtt-chi-analysis write_fit_tables _chi_fit_nodes_mn_*.csv basin_index, chi, observed_elevation, fitted_elevation, branch_id (no k_sn) load_chi_fit_nodes / load_chi_fit plot_chi_stacked, plot_chi_profile (Chi profiles)
lsdtt-chi-analysis write_fit_tables _chi_fit_segments_mn_*.csv basin_index, branch_id, downstream_chi, upstream_chi, k_sn load_chi_fit_segments plot_chi_stacked, plot_chi_profile
lsdtt-chi-analysis write_chi_fit_segment_lines _chi_fit_segment_lines_mn_*.fgb as above + geometry load_chi_segment_lines plot_chi_*; render_chi_ksn_map / render_chi_ksn_relief3d (Channel network coloured by log₁₀ k_sn)
lsdtt-chi-analysis write_chi_data_maps _chi_data_maps.fgb chi, elevation, drainage_area, flow_distance, basin_key, source_key load_chi_points observed= overlay (Overlaying observed points); render_points
lsdtt-chi-analysis write_ksn_basin_summary _chi_ksn_basin_summary_mn_*.csv per-basin k_sn statistics load_table — (tabular)
lsdtt-swath-profile default _swath_profile.csv along_axis_centre, n_pixels, mean, p0…p100 (21 levels, step 5) load_swath plot_swath (Swath profiles)
lsdtt-channel-network-analysis write_channel_link_bearings _channel_link_bearings.csv/.fgb bearing_deg, bearing_rad, stream_order, drainage_area_m2, total_length_metres, fit_linearity, … load_table / load_vector rose_diagram, plot_circular_comparison (Rose diagrams (bearings)–Circular / directional comparison)
lsdtt-channel-network-analysis write_junction_angles _junction_angles.csv/.fgb donor_opening_angle_rad, donor_*_receiver_angle_rad, per-limb *_bearing_deg, *_order, *_area_m2 load_table, load_junction_angle_sets plot_distributions (Distributions), plot_junction_angle_cdf
lsdtt-channel-network-analysis write_area_scaling_summary _area_scaling_summary.csv, _area_scaling_curve.csv beta (MLE), beta_stderr, beta_ols, n_used, n_decades — check this before quoting beta load_area_scaling, load_area_scaling_curve plot_metric_panels, plot_metric_vs_temperature
lsdtt-ridgeline-analysis write_paired_flowpath_statistics _paired_flowpaths.csv, _paired_flowpaths_summary.csv delta_L, delta_chi, path_length_a/b; summary adds n_pairs and the rejection counts — read those before the median load_paired_flowpaths, load_paired_flowpath_pairs plot_delta_L_cdf, plot_metric_panels
lsdtt-channel-network-analysis write_junction_centre_of_mass_bearings _junction_com_bearings.csv outlet→centre-of-mass bearing load_table rose_diagram
lsdtt-channel-network-analysis write_channel_bearing_statistics, write_junction_angle_statistics _channel_bearing_group_summary.csv, _channel_bearing_comparisons.csv, _channel_bearing_rose.csv, _junction_angle_group_summary.csv, _junction_angle_comparisons.csv per-group circular statistics; circular Wasserstein + Kuiper between groups (path) lsdviz3-channel-bearings (Channel networks); annotation= for plot_circular_comparison
lsdtt-flat-surface-finder (older versions only) write_hand_profile_csv (retired) _hand_profile.csv HAND, distance, surface_class (1 = floodplain, 2 = terrace) load_table plot_hand_distance and the rest of Valley floor / HAND charts
lsdtt-valley-centreline write_valley_cross_sections _valley_cross_section_samples.csv per-sample offset, elevation, section id load_table Valley cross sections
lsdtt-valley-centreline write_cross_section_features _valley_cross_section_hydraulic_breaks.csv break HAND per section and rank load_table Hydraulic breaks
lsdtt-lem frequency_of_output_writing, write_erosion_rate_raster, write_channel_mask_raster _model_iteration_<N> rasters, _model_elevation_stats.csv elevation, erosion rate, channel mask, model time find_pulse_frames / find_transient_frames animate_lem_pulse, animate_transient_rasters (lsdviz3-lem-pulse, lsdviz3-animate)
lsdtt-lem channelization-index ladder run _model_iteration_<N> rasters, _initial_topography, _model_elevation_stats.csv elevation, CI history find_ci_frames animate_ci_run (lsdviz3-lem-ci)
lsdtt-fluvial-surfaces default / write_ladder_histograms_csv _ladder_windows.csv, _ladder_histograms.csv, _band_index.tif per-window breaks, level centres, status; HAND densities; band index (path) plot_ladder_windows, plot_ladder_density, plot_ladder_band_map (Fluvial-surface ladder and valley sections)
lsdtt-valley-centreline write_valley_cross_sections _valley_cross_sections.fgb, _valley_centreline.fgb, _valley_cross_section_sides.fgb section geometry, centreline, margins (path) plot_valley_sections, plot_valley_section_map (Fluvial-surface ladder and valley sections)
lsdtt-valley-centreline run_valley_width_network _valley_widths.csv, _valley_segments.csv, _valley_cross_sections.fgb (with segment_id, excluded_reason) width per station, channel tree, exclusions (path) plot_valley_width_map, plot_valley_widths_along_channel, plot_channel_and_centreline (lsdviz3-valley-widths, Fluvial-surface ladder and valley sections)
lsdtt-hillslope-channel-coupling default trace / ridgeline / hilltop outputs trace outcome, hillslope length, relief, E, R load_hilltop_outputs charts.hilltop_coupling, plot_estar_rstar (lsdviz3-hilltop-coupling, lsdviz3-estar-rstar)
lsdtt-cosmo-column-tool step_change_sweep cosmo_transient_sweep_<label>.csv, _joined_samples.csv normalised concentrations, apparent-rate ratios load_cosmo_transient_table, load_joined_samples Transient cosmogenic and landslide charts (lsdviz3-cosmo-transient)
lsdtt-spectral-analysis valley spacing _valley_spacing.csv, _valley_spacing_spectrum.csv spectrum, peaks, spacing measures load_valley_spacing, load_valley_spacing_sweep plot_valley_spectrum, plot_spacing_vs_ci (Spectral analysis)
lsdtt-spectral-analysis write_significant_frequencies_2d (default on) _significant_frequencies_2d.csv (legacy: _significant_freq.csv) bearing, frequency, wavelength, normalised PSD per significant 2D cell load_significant_frequencies_2d, load_significant_frequencies_2d_sweep, summarise_significant_frequencies_2d (io.spectral) plot_significant_frequencies_polar (Spectral analysis)
lsdtt-spectral-analysis write_radial_spectrum: true, write_2d_spectrum_rasters (default on) _radial_spectrum.csv, _significant_frequencies.csv, _psd_2d.tif, _background_psd_2d.tif, _significant_frequencies_2d.csv radial and 2D spectra, rollover, significant cells load_spectral_analysis (io.spectral) plot_spectral_tile_summary, plot_normalised_spectrum_2d, plot_radial_spectrum (Spectral analysis)
lsdtt-stream-burning stream_burn_mode: burn_to_corridor, write_burned_profiles_csv (default on) _burned_profiles.csv path_id, path_rank, name, distance_m, flow_distance_m, z_original, z_cleaned, z_profile, z_final, pit_filled, pit_id, is_record_low, is_rejected_low, chi, joins_path_id, join_distance_m read_burned_profiles, select_course plot_burned_profiles (lsdviz3-burned-profiles, Burned long profiles)
lsdtt-divide-migration default divides, channel heads, pair summary per-head metrics, Δ = A − B io.divide_migration loaders Divide migration charts (lsdviz3-divide-migration)
lsdtt-chi-analysis write_chi_fit_segment_lines, write_fit_tables _chi_fit_segment_lines_mn_*.fgb, fit tables k_sn per segment load_chi_fit lsdviz3-chi (Chi analysis)
lsdtt-chi-analysis write_chi_tributary_table, write_chi_knickpoint_table (default on) _chi_tributaries_mn_*.csv, _chi_knickpoints_mn_*.csv, _chi_knickpoint_thresholds_mn_*.csv per tributary: source_key, junction_drainage_area_m2, area_fraction, area_rank_in_basin, ksn_max; per segment boundary: delta_ksn, log_ratio_ksn, at_junction; suggested thresholds load_chi_tributaries, load_chi_knickpoints, load_chi_knickpoint_thresholds, select_tributaries lsdviz3-chi tributary flags, render_chi_removed_map (Removing tributaries); lsdviz3-knickpoints, charts.knickpoints (Knickpoints)
lsdtt-chi-analysis lithology_fname, write_lithology_code_raster _chi_ksn_by_lithology_mn_*.csv, _chi_ksn_histogram_by_lithology_mn_*.csv, _chi_ksn_lithology_nodes_mn_*.csv, _lithology_code.tif, _lithology_units.csv k_sn by unit; unit codes and names io.lithology loaders lsdviz3-ksn-by-lithology, lsdviz3-lithology-map (Lithology)
lsdtt-chi-analysis erosion_rate_fname _erodibility_calibration_* tables and basin polygons erosion rate vs k_sn fit, sample basins io.erodibility_calibration lsdviz3-erodibility-calibration (Lithology)
lsdtt-fluvial-surfaces write_floodplain_polygons, write_reference_field_raster _floodplain_polygons.fgb, _floodplain_first_pass_polygons.fgb, _floodplain_hand_qq.csv, _reference_field.tif, _surface_patch_polygons.fgb floodplain passes, HAND QQ tables, HAND (path) lsdviz3-floodplain, lsdviz3-surface-methods (Valleys and cross sections)
lsdtt-channel-extraction run_perimeter_sources perimeter flat runs, outlets, sources where valleys enter the DEM (path) lsdviz3-perimeter-sources (Valleys and cross sections)
lsdtt-ridgeline-analysis ridgeline profiles *_with_polyfit.csv, triple divide junction CSVs ridge-crest elevation, curvature (path) lsdviz3-ridgeline-*, lsdviz3-mdd-ridgeline (Hillslopes and ridgelines)

Two rules follow from this table:

  1. If a column is missing, fix the lsdtt3 call, not the plot. The switch in column 2 is what produces it; lsdviz3-lsdtt / run_lsdtt runs the tool.
  2. Basin numbering is per-product. basin_index (fit tables) and basin_key (data maps) are separate counters that only coincide when lsdtt-chi-analysis filtered to complete basins — see the warning in Overlaying observed points.