Instrument Line Shapes

Using packages:

using Plots
using Plots.PlotMeasures

This needs to be installed from https://github.com/RadiativeTransfer/RadiativeTransfer.jl

using RadiativeTransfer.Absorption
using InstrumentOperator

Load HITRAN data and CO2 cross sections

hitran_data = read_hitran(artifact("CO2"), mol=2, iso=1, ν_min=6000, ν_max=6400)
line_co2 = make_hitran_model(hitran_data, Voigt(), architecture=CPU())

Compute a high resolution transmission spectrum

Δν = 0.0025
ν_min = 6320;
ν_max = 6355;
ν = ν_min:Δν:ν_max;

CO₂ cross section at 800hPa and 296K:

σ_co2   = absorption_cross_section(line_co2, ν, 800.0, 296.0);
nothing #hide

Transmission through a typical atmosphere (8e21 molec/cm²)

T = exp.(-8e21*σ_co2);
nothing #hide

plot high resolution transmission

plot(ν, T, lw=2, label="High resolution",  top_margin = 10mm, bottom_margin = 10mm, left_margin = 5mm, right_margin = 5mm)

Define the instrument kernel grid

x = -8:Δν:8;

Create a kernel at a center wavenumber of 6300cm⁻¹

Use FTS with 5cm MOPD, FOV of 7.9mrad, no assymetry:

FTS = FTSInstrument(5.0, 7.9e-3, 0.0)
FTSkernel = create_instrument_kernel(FTS, x,6300.0)
margin = 5.0
sampling = 0.01
FTS_instr = FixedKernelInstrument(FTSkernel, collect(ν_min+margin:sampling:ν_max-margin))
FixedKernelInstrument{Float64}([3.103154742108218e-7, 4.118639572709501e-7, 5.10936422300988e-7, 6.069187065724935e-7, 6.992153234676476e-7, 7.872531563628298e-7, 8.70485016820565e-7, 9.48393044991749e-7, 1.0204919311077903e-6, 1.086331938023197e-6  …  -4.267180266584847e-6, -3.4450483239496215e-6, -2.701208008292877e-6, -2.0401948666991217e-6, -1.4660311248207805e-6, -9.822012192814042e-7, -5.916306596842205e-7, -2.9666834841354145e-7, -9.907246502968032e-8, 5.618484051898666e-19], [6325.0, 6325.01, 6325.02, 6325.03, 6325.04, 6325.05, 6325.06, 6325.07, 6325.08, 6325.09  …  6349.91, 6349.92, 6349.93, 6349.94, 6349.95, 6349.96, 6349.97, 6349.98, 6349.99, 6350.0])

Convolve with instrument kernel

T_conv = conv_spectra(FTS_instr, ν, T);
nothing #hide

overplot convolved transmission:

plot!(FTS_instr.ν_out, T_conv, label="Convolved")

This page was generated using Literate.jl.