This is an old revision of the document!


Carbon Monitoring Satellite - CarbonSat

The primary mission objective of CarbonSat is the “quantification and monitoring of CO2 and CH4 sources and sinks at the regional scale for i) a better understanding of the processes that control the Carbon Cycle dynamics and ii) an independent estimate of local greenhouse gas emissions (fossil fuel, geological CO2 and CH4 , etc.) in the context of international treaties”1). To measure CO2 and CH4 knowledge about the O2 column is required. This may be obtained by measuring in the strongly absorbing O2-A band.

In this example we show how uvspec may be used to simulate the TOA radiance in the O2-A band representative for CarbonSat. It is also shown how aerosols, surface albedo and rotational Raman scattering may be included in the simulation.

Spectral resolution

The requirement for the spectral resolution in the O2-A band for CarbonSat is between 0.03-0.045 nm. The example thus calculates the top of the atmosphere (TOA) radiance at higher spectral resolution and convolves with an appropriate spectral response function. This requires a solar spectrum with high spectral resolution. Here we use a spectrum with 0.01 nm resolution2) 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 ./kurucz_735.0_790.0.dat_vac_0.01_0.01

The wavelengths to be covered are set as follows:

wavelength 756 776

O2-A band absorption

High resolution absorption cross sections of the appropriate gases are needed in the spectral region of interest. We use the ARTS-model to calculate high-resolution absorption optical depth profiles due to O2 and H2O. 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.7350e-6)  # 735 nm
NumericSet(wvl_max, 0.7910e-6)  # 791 nm
VectorNLinSpace( wvl_grid, 5601,  wvl_max, wvl_min ) # 735-791

# 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",
     "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, "carbonsat-735-791.nc" )
}

The molecular optical depth file covers the O2-A band. It is input to uvspec with the following line:

mol_tau_file abs carbonsat-735-791.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

Geometry and surface

The solar zenith angle must be specified.

sza 50.0

Furthermore we assume the instrument is nadir viewing and of course is at TOA.

umu 1     # Looking down
zout toa  # top of atmosphere

And we assume a spectrally flat surface albedo

albedo 0.10

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

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.

Aerosols

We start by including default aerosols3).

aerosol_default  

We then modify some of the default values as follows:

      
aerosol_vulcan 1          # Aerosol type above 2km
aerosol_haze 6            # Aerosol type below 2km
aerosol_visibility 10.0   # Visibility
aerosol_file tau AERO_TAU.DAT # File with aerosol optical depth profile

See the libRadtran User's Guide for more information about how to specify aerosol properties.

Complete uvspec input file

With all this in place the complete uvspec input file is (with some comments included)

source solar ./kurucz_735.0_790.0.dat_vac_0.01_0.01
wavelength 756 776

mol_tau_file abs carbonsat-735-791.nc

atmosphere_file ./afglms_95.dat

sza 50.0
umu 1
zout toa

albedo 0.10

data_files_path /home/arve/develop/libRadtran/data/
number_of_streams 16
rte_solver disort
output_user lambda edir eup uu
quiet

#raman  # Uncomment to include rotational Raman scattering

aerosol_default
aerosol_vulcan 1          # Aerosol type above 2km
aerosol_haze 6            # Aerosol type below 2km
aerosol_visibility 10.0   # Visibility
aerosol_tau_file AERO_TAU.DAT

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 set up.

Results

uvspec is run with the following command (assuming the input is stored in the file UVSPEC_CARBONSAT.INP)

uvspec < UVSPEC_CARBONSAT.INP > UVSPEC_CARBONSAT_NC_noraman_aero.OUT

The output from uvspec is at 0.01 nm resolution. We want it at CarbonSat resolution. This is achieved by convolution by a spectral response function with FWHM of 0.03 nm. We assume the spectral response to Gaussian (try 'make_slitfunction -h') and generate it with the command:

make_slitfunction -f 0.03 -r 0.001 -t g > slit_function_0.03_0.001

The convolution is carried out with the libradtran conv tool.

conv UVSPEC_CARBONSAT_NC_noraman_aero.OUT slit_function_0.03_0.001  > UVSPEC_CARBONSAT_NC_noraman_aero.OUTc_0.3

The TOA radiance for the full wavelength region covered by the O2-A band,is shown in the Figure below at high, 0.01 nm spectral resolution with (green line) and without (red line) rotational Raman scattering. The radiance at CarbonSat resolution is in blue and includes rotational Raman scattering. The results below do not include aerosols.

The radiance for the O2-A band with and without aerosols is shown in the Figure below for CarbonSat resolution. Both spectra include rotational Raman scattering. Note that the aerosol results will change depending on aerosol type, aerosol size distribution and concentration.

Rotational Raman scattering was included in the spectra above. The filling-in for no aerosols and with aerosols are shown below.

Input files

The various input and output files discussed above are available as a gzipped tar ball carbonsat_example.tgz.

1)
Buchwitz, M., Bovensmann, H., Reuter, M., Geilowski, K., and Burrows, J. P.: Carbon Monitoring Satellite - CarbonSat, Mission Requirements Document (MRD), Tech. Rep. IUP-CS-MRD-0001, Version 3.2, IUP, University of Bremen, 2010.
2)
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.
3)
Shettle, E.: Models of aerosols, clouds and precipitation for atmospheric propagation studies, in: Atmospheric propagation in the uv, visible, ir and mm-region and related system aspects, no. 454 in AGARD Conference Proceedings, 1989.
 
 
user_area/carbon_monitoring_satellite_carbonsat.1382181476.txt.gz · Last modified: 2013/10/19 12:17 by arve
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Drupal Garland Theme for Dokuwiki