====== Carbon Monitoring Satellite - CarbonSat ====== The primary mission objective of [[http://www.iup.uni-bremen.de/carbonsat/|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”((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.)). 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 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.)). 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 [[http://www.sat.ltu.se/arts/|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 640. raman ====== 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 aerosols((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.)). 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 [[http://www.libradtran.org/doc/libradtran.pdf|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. {{:user_area:carbon_monitoring_satellite_carbonsat:toa_spectra_noaero.png?800|}} 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. {{:user_area:carbon_monitoring_satellite_carbonsat:toa_spectra_aero.png?800|}} Rotational Raman scattering was included in the spectra above. The filling-in for no aerosols and with aerosols are shown below. {{:user_area:carbon_monitoring_satellite_carbonsat:toa_fi_aero.png?800|}} ====== Input files ====== The various input and output files discussed above are available as a gzipped tar ball {{:user_area:carbon_monitoring_satellite_carbonsat:carbonsat_example.tgz|}}.