User Tools


teaching:radiative_transfer:thermal_irrad

Outgoing longwave radiation spectrum

Task: Compute the emitted irradiance spectrum at the Earth surface and at the top of the atmosphere from 3.5 µm to 100 μm. Plot the result together with the Planck function at the surface temperature.

thermal_irr.inp
                         # specify libRadtran data path
data_files_path  /home/claudia/libRadtran/data
 
                         # Location of atmospheric profile file. 
atmosphere_file          us-standard
 
mol_abs_param             lowtran
 
albedo 0.0               # Surface albedo
 
rte_solver disort2       # Radiative transfer equation solver
 
wavelength 3500 100000.0 # Wavelength range [nm]
 
                         # calulcation wavelengths
transmittance_wl_file    trans_wl.dat
 
source thermal           # Emission from Earth surface is source of radiation
 
zout toa                 # surface or toa
 
output per_nm            # Output unit

The following file includes wavelengths for which the radiative transfer calculation is performed: trans_wl.dat

plot_olr.py
from pylab import *
 
def planck(lam, T):
 
    c= 2.99792458e8
    k= 1.380662e-23
    h= 6.626180e-34
    return 2*pi*h*c*c/(lam**5 * (exp(h*c/(lam*k*T))-1.))
 
# irradiance from 300 to 500 nm
lw_spectrum_sur=loadtxt('thermal_sur.out')
lw_spectrum_toa=loadtxt('thermal_toa.out')
 
figure(1, figsize=(10,7))
 
plot(lw_spectrum_sur[:,0], lw_spectrum_sur[:,3], label='surface')
plot(lw_spectrum_toa[:,0], lw_spectrum_toa[:,3], label='TOA')
plot(lw_spectrum_toa[:,0], planck(lw_spectrum_toa[:,0]*1e-9, 288.2)*1e-9, label='Planck')
xlim(3500,60000)
title('LW spectrum')
xlabel('wavelength [nm]')
ylabel('irradiance [W/ (m^2 nm)]')
legend(loc=1)
 
savefig('olr.png')
Upwelling irradiance at top of atmosphere (green). The upwelling irradinace at the surface corresponds exactly to the Planck function for 288.2 K (surface temperature).
teaching/radiative_transfer/thermal_irrad.txt · Last modified: 2018/05/04 08:40 (external edit)