SolarModel API
SolarModel provides Planck helpers and file-backed solar/stellar transmission loading used by the shortwave and inelastic workflows.
vSmartMOM.SolarModel.planck_spectrum_wn Function
planck_spectrum_wn(T::Real, ν_grid::Vector)Produce the black-body planck spectrum (mW/m²-sr-cm⁻¹), given the temperature (K) and calculation grid (ν in cm⁻¹)
sourceplanck_spectrum_wn(T::Real; stride_length::Integer = 100)Produce the black-body planck spectrum (mW/m²-sr-cm⁻¹), given the temperature (K). Use a unit calculation grid and check for convergence every stride_length cm⁻¹ until the spectrum dies off.
vSmartMOM.SolarModel.planck_spectrum_wl Function
planck_spectrum_wl(T::Real, λ_grid::Vector)Produce the black-body planck spectrum (W/m²-sr-μm), given the temperature (K) and calculation grid (λ in μm)
sourcevSmartMOM.SolarModel.solar_transmission_from_file Function
solar_transmission_from_file(file_name::String)Get the solar transmission from the specified file
sourcesolar_transmission_from_file(file_name::String, ν_grid::Union{AbstractRange{<:Real}, AbstractArray})Get the solar transmission from the specified file, and interpolate to wavenumber grid
sourcevSmartMOM.SolarModel.default_solar_transmission_path Function
default_solar_transmission_path() -> StringReturn the local path to the package default disk-integrated solar transmission table.
Resolution order:
ENV["VSMARTMOM_SOLAR_FILE"], when setthe registered
solarJulia artifact, when installed or installablea checksum-verified scratch-space cache downloaded from the legacy vSmartMOM solar table URL
This helper is package-relocatable and never writes downloaded data into the source tree.
sourcevSmartMOM.SolarModel.default_solar_transmission Function
default_solar_transmission(ν_grid::Union{AbstractRange{<:Real}, AbstractArray} = 600.0:0.01:26316.0)Get the default solar transmission and interpolate to wavenumber grid (entire grid if not specified)
sourcevSmartMOM.SolarModel.default_solar_spectrum_at_earth Function
default_solar_spectrum_at_earth(ν_grid::Union{AbstractRange{<:Real}, AbstractArray} = 600.0:0.01:26316.0)Get the default solar spectrum and interpolate to wavenumber grid (entire grid if not specified).
Returns an (n, 2) matrix [ν E] with ν in cm⁻¹ and E the spectral irradiance at 1 AU of a 5777 K blackbody, diluted by (R☉/AU)² = 2.1629e-5 and multiplied by the TCCON solar line transmission. E is in photons s⁻¹ m⁻² µm⁻¹ — a per-wavelength density sampled at ν — not in the mW m⁻² (cm⁻¹)⁻¹ irradiance units of SolarBeam F₀; convert before using it as F₀.