====== FLuorescence EXplorer ======
The FLuorescence EXplorer (FLEX) mission is devoted to monitor the
photosynthetic activity of the terrestrial vegetation layer((M. Drusch
and FLEX team, FLEX Candidate Earth Explorer Mission: Mission
Requirements Document (MRD), European Space Agency,
EOP-SM/2221/MDr-md, 2011.)).
The natural fluorescence signal is weak compared to the reflected solar
radiation. However, by measuring at wavelengths where the solar
spectrum is attenuated, for example the O2-A and B bands,
information about natural fluorescence may be retrieved
(([[http://onlinelibrary.wiley.com/doi/10.1029/2009JD013716/abstract|Guanter
et al. 2010,Developments for vegetation fluorescence retrieval from
spaceborne high-resolution spectrometry in the O2-A and
O2-B absorption bands.]])). The top of the atmosphere (TOA) radiance
in the O2-A and B bands is influenced by the fluorescence
magnitude, surface pressure, aerosol optical depth, aerosol layer
height and aerosol type. Radiative transfer models may be used to
quantify these effects.
In this example we show how uvspec may be used to simulate the TOA
radiance in the O2-A and B bands representative for the
FLEX mission. It is also shown how rotational Raman scattering may be
included in the simulation.
====== Spectral resolution ======
The key instrument for the FLEX mission is the FLuORescence Imaging
Spectrometer (FLORIS). It is planned to measure at 0.3~nm spectral
resolution. Thus radiative transfer simulations should be carried out
at higher spectral resolution and convolved with an appropriate
spectral response function. This requires a solar spectrum with high
spectral resolution. Here we use a spectrum with 0.01 nm
resolution((Fontenla, J., White, O. R., Fox, P. A., Avrett, E. H., and
Kurucz, R. L.: Calculation of solar irradiances. I. Synthesis of the
solar spectrum, The Astrophysical Journal, 518, 480-499, 1999.))
The solar spectrum must have the same units as the fluorescence
spectrum. We use units of photons/nm/s/m2 in order to be
able to include rotational Raman scattering. The following uvspec
option specifies the solar source:
source solar ./UVSPEC_FLUORESCENCE_kurucz_640.0_810.0.dat_vac_0.01_0.01
Also note that inclusion of fluorescence requires that internally the
transmittance is calculated at the same grid as the solar_file. The
first wavelength in the ''wavelength_grid_file'' must be the same as
that specified by ''wavelength''. The wavelengths to be covered are
set as follows:
wavelength 750 770 # O2-A band
wavelength_grid_file kurucz_750_801_trans_0.01
Change this to
wavelength 677 697 # O2-B band
wavelength_grid_file kurucz_677_801_trans_0.01
for the O2-B band. Note that ''wavelength_grid_file'' does
not have to be included if ''raman'' is specified.
====== O2-A and B band absorption ======
High resolution absorption cross sections of the appropriate gases are
needed in the spectral region of interest. Here we use the
[[http://www.sat.ltu.se/arts/|ARTS-model]] to calculate
high-resolution absorption optical depth profiles including O2,
H2O, CO2, O3, CO and
CH4. It is noted that most of the absorption line
structures are due to H2O except for the O2-A and B bands.
The arts input file looks as follow.
#DEFINITIONS: -*-sh-*-
Arts2 {
INCLUDE "general"
INCLUDE "continua"
# Create some variables:
NumericCreate(fmin)
NumericCreate(fmax)
NumericCreate(wvl_min)
NumericCreate(wvl_max)
VectorCreate(wvl_grid)
# Set minimum and maximum wavelength
NumericSet(wvl_min, 0.6400e-6) # 650 nm
NumericSet(wvl_max, 0.8100e-6) # 810 nm
VectorNLinSpace( wvl_grid, 17001, wvl_max, wvl_min )
# Convert to Hz, maximum wavelength = minimum frequency:
FrequencyFromWavelength(f_grid, wvl_grid)
FrequencyFromWavelength(fmax, wvl_min)
FrequencyFromWavelength(fmin, wvl_max)
# Read HITRAN data
abs_linesReadFromHitran2004( abs_lines,
"/home/arve/Projects/data/HITRAN/HITRAN04.par",
fmin,
fmax)
# Set species to be considered in line-by-line calculation
SpeciesSet(abs_species,[
"H2O, H2O-SelfContCKDMT100, H2O-ForeignContCKDMT100",
"CO2, CO2-CKDMT100",
"O3",
"CO",
"CH4",
"O2, O2-CIAfunCKDMT100"
])
# This separates the lines into the different tag groups and creates
# the workspace variable `abs_lines_per_species':
abs_lines_per_speciesCreateFromLines
# Atmospheric profiles
AtmRawRead( t_field_raw, z_field_raw, vmr_field_raw, abs_species,
"/home/arve/arts/arts-xml-data-1.1.31/atmosphere/fascod/midlatitude-summer" )
# Extract pressure grid from atmosphere files (this is the vertical
# coordinate for all calculations, can be specified as you like)
p_gridFromAtmRaw(p_grid, z_field_raw)
# Now interpolate all the raw atmospheric input onto the pressure
# grid and create the atmospheric variables `t_field', `z_field', `vmr_field'
AtmFieldsCalc
# Initialize the input variables of abs_coefCalc from the Atm fields:
AbsInputFromAtmFields
abs_h2oSet
# Non-linear species
SpeciesSet( abs_nls,[ ])
# Perturbation if lookup-table should be created that can be used for a wide range of atmospheric conditions
VectorSet( abs_t_pert, [] )
VectorSet( abs_nls_pert, [] )
# Calculate absorption field:
IndexSet(f_index, -1) # calculate all frequencies
abs_fieldCalc
# Write molecular_tau_file for libRadtran
WriteMolTau ( f_grid, z_field, abs_field, atmosphere_dim, "UVSPEC_FLUORESCENCE_arts-640-810.nc" )
}
The molecular optical depth file covers both the O2-A and
B bands. It is input to uvspec with the following line:
mol_tau_file abs ./UVSPEC_FLUORESCENCE_arts-640-810.nc
====== Atmosphere ======
The atmosphere density file must contain the same information for both
arts and uvspec. That is, the same molecular gas densities at the same
vertical resolution. Arts have several atmospheric models in the
''arts-xml-data/atmosphere'' directory. Here we use the mid-latitude
summer atmosphere model.
atmosphere_file ./afglms_95.dat
====== Surface input ======
For the surface the surface albedo and the flourescence must be
specified. We use spectral data from the ESA-FLUSS project((see also Miller,
J. R., Berger, M., Goulas, Y., Jacquemond, S., Lous, J., Moise, N.,
Mohammed, G., Moreno, J., Moya, I., PedrĂ³s, R., Verhoef, W., and
Zarco-Tejada, P. J.: Development of a Vegetation Fluorescence Canopy
Model, Final Report, Tech. rep., ESTEC Contract No. 16365/NL/FF,
2005.)) The following parameters were used: Chlorophyll a and
b 40; Stoichiometry 1; Fluorescence 0.02; Relative azimuth angle 40;
Viewing zenith angle 41.4; Leaf are index 3; Soil-type code 2; Solar
zenith angle 30.
fluorescence_file ./UVSPEC_FLUORESCENCE.FLU_ph
albedo_file ./UVSPEC_FLUORESCENCE.TOC
====== Geometry ======
The solar zenith angle must be specified. This should equal the solar
zenith angle used to calculate the fluorescence and surface albedo
spectra.
sza 30.0
Furthermore we assume the instrument is nadir viewing and of course is
at TOA.
umu 1 # Looking down
zout toa # top of atmosphere
====== Rotational Raman scattering ======
Rotational Raman scattering may be included by adding the following
line. Note that this will increase the computing time by about a
factor of 480.
#raman # Uncomment to include rotational Raman scattering.
====== Miscellanoues ======
In addition to the above input we need to specify where uvspec may
find additional data files, what radiative transfer solver to use
(only disort can handle fluorescence and rotational Raman scattering
at the moment)
data_files_path /home/arve/develop/libRadtran/data/
number_of_streams 16
rte_solver disort
As output we want solar irradiance (''edir''), upward irradiance (''eup'') and
nadir radiance (''uu'' as specified by ''umu'' above) as a function
of wavelength
output_user lambda edir eup uu
And we turn of any warning messages.
quiet # Turn of messages.
====== Complete uvspec input file ======
With all this in place the complete uvspec input file is (with some
comments included)
atmosphere_file ./afglms_95.dat
# Note that solar_file and fluorescence_file must have the same units.
source solar ./UVSPEC_FLUORESCENCE_kurucz_640.0_810.0.dat_vac_0.01_0.01
# Fluorescence and top of canopy reflectance spectra
fluorescence_file ./UVSPEC_FLUORESCENCE.FLU_ph
albedo_file ./UVSPEC_FLUORESCENCE.TOC
# Use gas absorption calculated by arts.
mol_tau_file abs ./UVSPEC_FLUORESCENCE_arts-640-810.nc
# Specify wavelength region
wavelength 750 770 # O2-A band
wavelength_grid_file kurucz_750_810_trans_0.01
#wavelength 677 697 # O2-B band
#wavelength_grid_file kurucz_677_810_trans_0.01
#wavelength 650 800 # Both, very memory consuming if raman is on.
#wavelength_grid_file kurucz_650_801_trans_0.01
sza 30.0
umu 1 # Simulate nadir viewing satellite.
zout toa
data_files_path /home/arve/develop/libRadtran/data/
number_of_streams 16
rte_solver disort
output_user lambda eglo eup uu
quiet
#raman # Uncomment to include rotational Raman scattering.
====== Clouds and aerosols ======
No aerosol nor liquid water and ice clouds are included in this
examples. These may be included as described in the
[[http://www.libradtran.org/doc/libradtran.pdf|libRadtran User's
Guide]].
====== Note on input directory and file names ======
Note that the input file contains references to other files with input
data. The file path to these files must be correctly set in order to
run this example. As the paths are set they reflect my setup.
====== Results ======
uvspec is run with the following command (assuming the input is stored
in the file ''UVSPEC_FLUORESCENCE.INP'')
uvspec < UVSPEC_FLUORESCENCE.INP > UVSPEC_FLUORESCENCE_650_880_noraman.OUT
The output from uvspec is at 0.01 nm resolution. We want it at FLORIS
resolution. This is achieved by convolution by a spectral response
function with FWHM of 0.3 nm. We assume it to be triangular and
generate it with the command:
make_slitfunction -f 0.3 -r0.001 > SLIT_0.3.dat
The convolution is carried out with the libradtran ''conv'' tool.
conv UVSPEC_FLUORESCENCE_650_880_noraman.OUT SLIT_0.3.dat > UVSPEC_FLUORESCENCE_650_880_noraman.OUTc_0.3
The TOA radiance for the full wavelength region covered by the
O2-A and B bands,is shown in the Figure below at high, 0.01
nm (blue line), and FLORIS, 0.3 nm (magenta line), spectral resolution. The
fluorescence spectrum, multiplied by a factor of 100, is shown in red
while the surface albedo used for the simulation is shown by the green
line.
{{:user_area:fluorescence_explorer_flex:toa_spectra.png?600|}}
The radiance for the O2-B band with and without
fluorescence is shown in the Figure below.
{{:user_area:fluorescence_explorer_flex:toa_fluor_02b.png?600|}}
Rotational Raman scattering was included in the spectra above. The
filling-in with and without fluorescence is given below:
{{:user_area:fluorescence_explorer_flex:toa_fi_02b.png?600|}}
====== Input files ======
The various input and output files discussed above are available as a
gzipped tar ball
{{:user_area:fluorescence_explorer_flex:flex_example.tgz|}}.