pyharp-plot CLI
pyharp-plot is the unified command line entry point for spectroscopy
diagnostic figures. It can plot HITRAN collision-induced absorption (CIA)
binary coefficients, molecular cross sections, attenuation coefficients,
transmission, and multi-panel overview PDFs.
Basic Usage
Choose one subcommand, then choose the target data source with --pair,
--species, or --composition where that subcommand supports it.
pyharp-plot binary --pair H2-H2 --temperature-k 300 --wn-range=20,10000
pyharp-plot xsection --species CO2 --temperature-k 300 --pressure-bar 1 --wn-range=20,2500
pyharp-plot attenuation --species H2O --temperature-k 300 --pressure-bar 1 --wn-range=25,2500
pyharp-plot transmission --composition H2O:0.1,H2:0.9 --temperature-k 300 --pressure-bar 1 --path-length-km 1 --wn-range=25,2500
pyharp-plot overview --species H2O --temperature-k 300 --pressure-bar 1 --path-length-km 1 --wn-range=20,2500
Every command writes a figure. Use --figure to select an explicit output
path. Without --figure, plots are written under output/ using a name
derived from the target, plot type, temperature, pressure, and wavenumber
range, such as output/co2_xsection_300K_1bar_20_2500.png.
Subcommands
binary
Plot a HITRAN CIA binary absorption coefficient spectrum. This subcommand
uses a CIA pair selected by --pair.
pyharp-plot binary --pair H2-H2 --temperature-k 300 --wn-range=20,10000
pyharp-plot binary --pair H2-He --temperature-k 500 --resolution 5 --figure output/h2_he_cia.png
xsection
Plot a molecular absorption cross section at one pressure-temperature state.
This subcommand uses a molecule selected by --species.
pyharp-plot xsection --species CO2 --temperature-k 300 --pressure-bar 1 --wn-range=20,2500
pyharp-plot xsection --species CH4 --temperature-k 700 --pressure-bar 0.1 --wn-range=1000,4000 --refresh-hitran
attenuation
Plot an attenuation coefficient in 1/m. Select exactly one target:
--pairfor a CIA pair.--speciesfor a molecule.--compositionfor a gas mixture.
pyharp-plot attenuation --pair H2-H2 --temperature-k 300 --pressure-bar 1 --wn-range=20,10000
pyharp-plot attenuation --species CO2 --temperature-k 300 --pressure-bar 1 --wn-range=20,2500
pyharp-plot attenuation --composition H2O:0.1,H2:0.9 --temperature-k 300 --pressure-bar 1 --wn-range=25,2500
transmission
Plot transmission over a fixed path length. Select exactly one target with
--pair, --species, or --composition. The path length defaults to
1 km and can be changed with --path-length-km.
pyharp-plot transmission --pair H2-H2 --temperature-k 300 --pressure-bar 1 --path-length-km 1 --wn-range=20,10000
pyharp-plot transmission --species CO2 --temperature-k 300 --pressure-bar 1 --path-length-km 0.5 --wn-range=20,2500
pyharp-plot transmission --composition H2O:0.1,H2:0.9 --temperature-k 300 --pressure-bar 1 --path-length-km 1 --wn-range=25,2500
overview
Generate a multi-panel PDF. With one species and one wavenumber range, the
output is a single molecule overview. With multiple species or multiple
--wn-range values, the output is a combined multi-page PDF. With
--composition, the output is an atmospheric mixture overview PDF and a
manifest JSON file.
pyharp-plot overview --species H2O --temperature-k 300 --pressure-bar 1 --path-length-km 1 --wn-range=20,2500
pyharp-plot overview --species H2O CO2 CH4 --temperature-k 500 --pressure-bar 0.5 --wn-range=25,2500 --wn-range=2500,10000
pyharp-plot overview --composition H2O:0.1,H2:0.9 --temperature-k 300 --pressure-bar 1 --wn-range=25,2500 --manifest output/h2o_h2_sources.json
Target Selection
Use --pair for a CIA pair, for example H2-H2 or H2-He. Built-in
CIA pair resolution includes CH4-CH4, CO2-CH4, CO2-CO2,
CO2-H2, H2-H2, H2-He, N2-CH4, and N2-N2.
Use --species for molecular line calculations. Built-in HITRAN line
species are CH4, CO2, H2, H2O, H2S, N2, and NH3.
Use --composition for a gas mixture. The format is a comma-separated list
of species:fraction terms:
--composition H2O:0.1,H2:0.9
For attenuation and transmission, choose only one of --pair,
--species, and --composition. For overview, choose only one of
--species and --composition.
Broadening Gases
The practical broadening gas keys supported by pyharp are:
airfor standard HITRAN air broadeningselffor absorber self broadeningH2HeCO2
Examples:
pyharp-plot xsection --species CO2 --broadening-composition air:0.8,self:0.2
pyharp-plot transmission --species CH4 --broadening-composition H2:0.85,He:0.15 --path-length-km 1
pyharp-plot overview --composition H2O:0.1,H2:0.9 --broadening-composition CO2:1 --wn-range=25,2500
Fallback Behavior
If --broadening-composition is omitted, single-species molecular
workflows default to self broadening. Atmosphere-mixture workflows default
to the plotted gas mixture as the requested line-broadening composition.
If a requested foreign broadener cannot be found in the HITRAN line table for
the active absorber, pyharp falls back to air for that fraction. For
example, a requested broadening mixture of H2:0.85,He:0.15 will be
remapped to air for any unavailable broadener component.
If fallback to air is needed but the line table also lacks air
broadening parameters, pyharp raises an error instead of inventing
coefficients. Invalid broadening-composition syntax also raises a validation
error.
Output Examples
Default filenames are normalized for shells and filesystems:
pyharp-plot xsection --species CO2 --temperature-k 275.5 --pressure-bar 0.25 --wn-range=25,30.5
# writes output/co2_xsection_275p5K_0p25bar_25_30p5.png
pyharp-plot overview --composition H2O:0.1,H2:0.9 --wn-range=25,2500
# writes output/h2o_0p1_h2_0p9_overview_300K_1bar_25_2500.pdf
# also writes output/h2o_0p1_h2_0p9_overview_300K_1bar_25_2500.manifest.json