›› rand(foo); Adam Geboff

26Jan/104

MODTRAN

This post is going to discuss two pitfalls that i encountered while using MODTRAN via the PLEXUS GUI.  First is the conversion between Wavenumber to Wavelength, the second is using PLEXUS to perform night time lunar models.

Background:
The atmosphere, through its six layers, contains various particles and gases which attenuate impinging solar radiation.  The particles which contribute the most to this attenuation are water (H2O) in the troposphere (0-11Km), carbon dioxide (CO2) also in the troposphere, and ozone (O3) in the stratosphere (11-50Km).  While there is relatively little solar absorption through the visible bands (380nm - 750nm), there are strong absorption bands in the UVC and LWIR attributed to ozone, while H2O and CO2 absorb intermittently throughout the rest of the solar spectrum.  A Transmittance vs. Wavelength graph for two generic scenarios can be seen below.  Note: For larger absorption bands, the contributing particles are shown; the full Raytheon infrared wall chart can be found below under references. 08-1759_IR Wall Chart_small MODTRAN (MODerate spectral resolution atmospheric TRANSmittance algorithm and computer model) is an atmospheric spectral radiance modeling code developed by the Air Force Research Lab, Space Vehicles Directorate.  This code has been combined with several others (MODTRAN4 V2R1, SAMM 1.1, SAMM 1.82, FASCODE3 with HITRAN2K, SHARC Atmosphere Generator (SAG) V1 & V2, and Celestial Background Scene Descriptor (CBSD) V5) into a single software suite called PLEXUS (Phillips Laboratory EXpert-assisted User Software) which provides the user with an easier to use GUI for these atmospheric codes.  The most  recent version as of the publishing of this post is Release 3 Version 3A.  More information on PLEXUS as well as its constituent codes can be found on the AFRL software information page.

Data Conversion:
MODTRAN is written in FORTRAN and requires the user to specify various attributes of an experimental scenario (Location, Date, Time, Albedo, etc.) which MODTRAN will then produce both the transmittance in percentage vs. wavenumber as well as the spectral radiance in Watt/centimeter2·steradian·centimeter-1 vs. wavenumber for that scenario.  Unfortunately, while MODTRAN performs all of its modeling in wavenumber space (cm-1), my work requires the data to be in wavelength space (nm) so a conversion for the output data is needed.  PLEXUS gives the user to option convert the units of the plots, but there is no option to save the data being displayed.  The user does however have access to the output data directly in its original units via the MODTRAN output files (radiance: *.spc, transmittance: *.trn).  You can use an external mathematical editor to modify the data, i chose to write a MatLab function. For the conversion, one could easily make the mistake of performing a quick x-axis conversion of λ=107/ν to obtain the correct units and assume this will change the y-axis accordingly.  Unfortunately, this will not work, as it would produce a data-point density gradient with a higher density of points at shorter wavelengths which causes less spectral information to be represented in the shorter wavelength points while conversely more spectral information is represented in the longer wavelength points.  To properly perform the conversion, one has to convert both the x-axis from wavenumber to wavelength (1), as well as the y-axis from W/cm2·sr·cm-1 to W/m2·sr·nm (2).  The conversion derivations for both axis are shown below.

\begin{matrix}\nu&\left[cm^{-1}\right]&=&\frac{1}{\nu}&\left[cm\right]\\&&=&10^7\cdot\frac{1}{\nu}&\left[nm\right]\\\lambda&\left[nm\right]&=&\frac{10^7}{\left|\nu\right|}&\left[nm\right]\end{matrix}\qquad(1)

\begin{matrix}L_e\left(\nu\right)&\left[\frac{W}{cm^2\,sr\,cm^{-1}}\right]&=&\left|\nu\right|^2\cdot L_e\left(\nu\right)&\left[\frac{W\left(cm^{-1}\right)^2}{cm^2\,sr\,cm{-1}}\right]\\&& =&\left|\nu\right|^2\cdot L_e\left(\nu\right)\cdot10^4&\left[\frac{W\,cm^{-1}}{m^2\,sr}\right]\\&&=&\left|\nu\right|^2\cdot L_e\left(\nu\right)\cdot10^4\cdot10^{-7}&\left[\frac{W}{m^2\,sr\,nm}\right]\\L_e\left(\lambda\right)&\left[\frac{W}{m^2\,sr\,nm}\right]&=&\left|\nu\right|^2\cdot L_e\left(\nu\right)\cdot10^{-3}&\left[\frac{W}{m^2\,sr\,nm}\right]\end{matrix}\qquad(2)

The post conversion dataset is still going to have a data-point density gradient, but all the points are now weighted equally.  To get a equally spaced set of data, you can take the mean of all the points within the range of your desired step.  More information on optical units as well as the difference between radiance and irradiance can be found in the Jurgen R. Meyer-Arendt paper "Radiometry and Photometry: Units and Conversion Factors" below under references.

Lunar Modeling:
PLEXUS has a built in utility called SAG which will determine the kind of scenario which should be modeled based on the input parameters i.e. 'Night' scenario or 'Day' scenario.  Unfortunately i made the assumption that if SAG suggests a night scenario, it would set the MODTRAN cards to perform a lunar radiance model.  What actually happens, is solar spectral radiance is produced for that scenario which would look like the figure below.  You will notice that there is no visible radiation with extremely low levels of radiation starting to pick up in the NIR.  This makes sense as the sun is illuminating the other side of the Earth, so the only solar radiation would be due to various scattering phenomena. Midnight Solar Spectral Radiance In order to obtain a Lunar radiance model for a given scenario, PLEXUS has to be in the advanced user profile set in the 'User Profile' screen.  All the parameters should be input as you would have originally, but before running the model you must go into the 'CPDF Editor' screen and set the 'ISOURC' attribute in the 'Source' tab to 1 (moon) as well as set the 'IEMSCT' attribute in the right column to either 2 or 3.  Note: MODTRAN will not produce a lunar model if the 'IEMSCT' attribute is set to 1 or 0. If you are using MODTRAN directly through its FORTRAN interface - the 'ISOURC' attribute is Card 3 Field 6 or Card3A1 Field 4, while the 'IEMSCT' attribute is Card 1 Field 5.  When these parameters are set correctly, the lunar spectral radiance for the same scenario as above will look like the figure below.  You'll notice the shape of the output looks very similar to that of daytime solar radiance which is due to the fact that the moon acts as a reflector for the sun and is modeled with a frequency dependent geometric albedo. Midnight Lunar Spectral Radiance Unfortunately, MODTRAN only models the solar contribution to spectral radiance and does not take into account other night time sources of natural illumination i.e. airglow, zodiacal light, and faint stars.  More information on these nighttime contributing sources can be found in the Ch. Leinert paper "The 1997 reference of diff use night sky brightness" below under references.  Additionally an excel dataset for visible contributors of nighttime illumination (airglow, zodiacal light, and faint stars) extracted from Figure 1 of the Leinert paper (shown below) can be found by clicking the figure.

Overview on the brightness of the sky outside the lower terrestrial atmosphere and at high ecliptic and galactic latitudes

Leinert et al - Figure1: Overview on the brightness of the sky outside the lower terrestrial atmosphere and at high ecliptic and galactic latitudes

References:
Raytheon Vision Systems - The Infrared Wall Chart (©2009)
Jurgen R. Meyer-Arendt, "Radiometry and Photometry: Units and Conversion Factors," Appl. Opt. 7, 2081-2081 (1968)
Leinart et al. "The 1997 Reference of Diffuse Night Sky Brightness." Astronomy and Astrophysics Supplement Series, 127, pp1-99 (1998)

Comments (4) Trackbacks (0)
  1. Mr Geboff,
    I am interested in the Transmittance vs wavelength chart in this article. Could i include this chart in a training session for solar prfessionals while discussing the available solar resource? Are there other charts that you think might be of use?
    Thanks,
    David

  2. This was really helpful. Would you be willing to share your Matlab files for processing the Plexus output. Also, I have a general MODTRAN question: are the Radiance values that are output for a particular scenario the values at the sensor or at the top of the atmosphere, i.e. does one need to multiply the radiance by the transmittance to get the radiance at the surface of the earth, say for a path to infinity? Many thanks.

  3. The data is provided so it can be used. Please just reference me when it is used.

  4. Thanks for the informative and useful article. I am trying to get a copy of PLEXUS for government use; do you know if it is still available and from where?


Leave a comment

No trackbacks yet.