The DIRSIG Atmospheric Database (ADB) file format was designed in the early days of DIRSIG3 development (1996) as a way to capture output of MODTRAN and feed it into the DIRSIG model. The ADB file and the make_adb tool that generates it are still supported in DIRSIG4 and DIRSIG5.
Format Overview
The content of that ADB file is divided into 4 primary sections. The ADB file is all text and there are actually comments in an ADB file to tell you what data is in each section. Each section contains spectral data on the wavelengths (or frequencies) that are specific to the sensor being modeled.
-
The "header" section contains date, time, location and some sensor information. This info is used to make sure the rest of the ADB file can be used for a given simulation.
-
The "source" section contains information including the exo-atmospheric solar and lunar irradiance and the transmissions for each down to the nominal ground altitude.
-
The "sensor" (or "upwelled") section contains "path" radiance and transmission information for various angles within the sensor field of view. These paths are from the sensor to the ground or to a given range if the sensor is looking above the horizon.
-
The "sky" (or "downwelled") section contains radiance and transmission information for the sky dome at different zenith and azimuth pairs. There is also a "total" (hemispherically integrated) irradiance at the end of this section.
An optional 5th section that contains atmospheric backscatter data is included if the associated simulation contains a LIDAR instrument.
The Header Sections
The file starts with a set of sections that describe the context for which the file was generated. The excerpt below contains examples of these sections:
DIRSIG_ADB = 4.7.5 SCENE { GROUND_ALTITUDE = -0.0000 DATE = 6 1 2009 LOCAL_TIME = 16.0000 GMT_OFFSET = 5.00 LATITUDE = 43.1200 LONGITUDE = 78.4500 } PLATFORM { INSTRUMENT { BAND_LIST { BAND { MINIMUM_WAVELENGTH = 0.400000 MAXIMUM_WAVELENGTH = 1.200000 DELTA_WAVELENGTH = 0.010000 } BAND { MINIMUM_FREQUENCY = 750.00 MAXIMUM_FREQUENCY = 1250.00 DELTA_FREQUENCY = 1.00 } } FIELD_OF_VIEW { MINIMUM_ZENITH = 0.00 MAXIMUM_ZENITH = 1.00 DELTA_ZENITH = 1.00 MINIMUM_AZIMUTH = 0.00 MAXIMUM_AZIMUTH = 360.00 DELTA_AZIMUTH = 5.00 } } }
Similar to many other DIRSIG3 era "tag style" files, the first line of the
file contains a variable defining the file type and version. In this case
the file type is DIRSIG_ADB
.
The Scene Section
The next header element in the file is the SCENE
section, which
contains information specific to the scene used in the simulation
and the date/time of the simulation. Note that if the simulated
collection occurs over a time window, the date/time will reflect
the mid-point of that window.
The Platform Section
The final header element is the PLATFORM
section, which contains two
key pieces of information that define the dimensions of the radiometic
data contained in the rest of the file:
-
The
BAND_LIST
section contains aBAND
section for each focal plane bandpass in the platform associated with the simulation. In this example there were two focal planes in the platform — one with a bandpass defined in microns and one defined in wavenumbers. -
The
FIELD_OF_VIEW
section contains the field-of-view (FOV) of the sensor. As described in the make_adb manual, this FOV is an accumulated angle range for the instruments across the associated collection time window.
In DIRSIG 4.7.5, the original 1D (zenith) sampling of the sensor
field-of-view was updated to a 2D (zenith and azimuth) sampling.
Hence, the FIELD_OF_VIEW section generated by older versions of
make_adb would only contain the zenith range and sampling
variables.
|
The Radiometric Data Sections
The Source Paths Section
The SOURCE_PATHS
section contains the exo-atmospheric solar and lunar
irradiance values plus the corresponding transmissions from space to the
ground altitude associated with the scene.
# # SECTION: SOURCE_PATHS # CONTENTS: Exoatmospheric Solar and Lunar # irradiances and atmospheric # transmission to ground (tau #1) # FORMAT: spectral center, E_sun, T_sun, E_moon, T_moon # SOURCE_PATHS { INFO { SOLAR_ZENITH = 66.02958123 SOLAR_AZIMUTH = 176.05967598 SUB_SOLAR_LATITUDE = -22.93126879 SUB_SOLAR_LONGITUDE = -74.09060413 LUNAR_ZENITH = 117.87338902 LUNAR_AZIMUTH = 2.45063374 SUB_LUNAR_LATITUDE = 19.09075813 SUB_LUNAR_LONGITUDE = -104.29230877 LUNAR_PHASE = 96.37578481 } SPECTRAL_DATA { 0.400000 1.5500e-01 0.40970 1.9600e-07 0.00000 0.410000 1.8000e-01 0.44660 2.3500e-07 0.00000 ... [data deleted for documentation purposes] ... 1.190000 5.1400e-02 0.71000 1.8200e-07 0.00000 1.200000 4.9900e-02 0.69840 1.7800e-07 0.00000 750.00 1.3600e-07 0.09400 0.0000e+00 0.00000 751.00 1.3600e-07 0.11320 0.0000e+00 0.00000 ... [data deleted for documentation purposes] ... 1249.00 3.6500e-07 0.41070 0.0000e+00 0.00000 1250.00 3.6600e-07 0.36320 0.0000e+00 0.00000 } }
In DIRSIG 4.7.5, the new INFO section was introduced to
capture the solar and lunar source geometry. These values
are purely for documentation purposes and are not read by
either DIRSIG4 or DIRSIG5.
|
The comments before the SOURCE_PATHS
section describe the columns
in the SPECTRAL_DATA
table. This spectral data table will be for
all the bandpasses described in the BAND_LIST
section in the
header and are combined into a single, continuous table of data.
The radiometric units for this data is dependent on the spectral
units for the data point. Hence, the solar and lunar irradiance
values are in Watts per cm2 per micron for the first set of values
and Watts per cm2 per wavenumber (cm-1) for the second set of
values. The transmission value are unitless.
MODTRAN Notes
The data in this section is computed using the "directly transmitted
solar/lunar irradiance" mode (IEMSCT = 0
) in MODTRAN. Two runs are
performed (once for the solar source and once for the lunar source cases)
for each bandpass and then combined into the SPECTRAL_DATA
table.
The Sensor (Upwelled) Paths Section
The SENSOR_PATHS
section contains a series of PATH
sections that
contain the self-emitted radiance, solar scattered path path radiance
and transmission information for paths defined in the FIELD_OF_VIEW
header section. The ZENITH
and AZIMUTH
variables in each PATH
section capture the geometry of that path. The RANGE
variable captures
the range (in km) to the end of the path used to compute the data.
The PATH
entries iterate across all the azimuth values for a given
zenith before starting on the entries for the next zenith. Each path
includes SPECTRAL_DATA
section containing the spectral data for that
path.
The term "upwelled radiance" implies that the sensor is always downlooking and that these path radiance values are traveling "up" toward the sensor. The use of that term here is completely historical and this section always contains path data for the FOV of the sensor regardless of the direction the sensor is looking. |
# # SECTION: SENSOR_PATHS # CONTENTS: Atmospheric radiances (thermal and # solar) and transmission along the path # from the sensor to the target. # FORMAT: # ZENITH: declination from vertical [degrees] # AZIMUTH: rotation East of North [degrees] # SPECTRAL_DATA: spectral center, thermal, solar, tau2 # SENSOR_PATHS { PATH { ZENITH = 1.0000 AZIMUTH = 0.0000 GROUND_RANGE = 0.6501 SPECTRAL_DATA { 0.400000 0.0000e+00 2.8920e-04 0.97400 0.410000 0.0000e+00 3.1437e-04 0.97650 ... [data deleted for documentation purposes] ... 1.190000 3.7709e-16 1.3937e-06 0.93310 1.200000 5.4130e-16 1.2944e-06 0.93100 750.00 6.4586e-06 3.7104e-17 0.49900 751.00 6.2411e-06 4.3860e-17 0.51550 ... [data deleted for documentation purposes] ... 1249.00 1.1322e-06 2.6154e-15 0.77410 1250.00 9.2938e-07 2.3035e-15 0.81420 } } PATH { ZENITH = 1.0000 AZIMUTH = 5.0000 GROUND_RANGE = 0.6501 SPECTRAL_DATA { 0.400000 0.0000e+00 2.8917e-04 0.97400 0.410000 0.0000e+00 3.1434e-04 0.97650 ... [data deleted for documentation purposes] ... 1249.00 1.1322e-06 2.6151e-15 0.77410 1250.00 9.2938e-07 2.3033e-15 0.81420 } } ... [PATH sections deleted for documentation purposes] ... PATH { ZENITH = 19.0000 AZIMUTH = 360.0000 GROUND_RANGE = 0.6875 SPECTRAL_DATA { 0.400000 0.0000e+00 3.2155e-04 0.97260 0.410000 0.0000e+00 3.4956e-04 0.97520 ... [data deleted for documentation purposes] ... 1249.00 1.1877e-06 2.8934e-15 0.76300 1250.00 9.7674e-07 2.5511e-15 0.80470 } } }
The comments before each the PATH
section describe the columns
in the SPECTRAL_DATA
table. This spectral data table will be for
all the bandpasses described in the BAND_LIST
section in the
header and are combined into a single, continuous table of data.
The radiometric units for this data is dependent on the spectral
units for the data point. Hence, the path radiance values are in
Watts per cm2 steradian micron for the first set of values
and Watts per cm2 steradian wavenumber (cm-1) for the second
set of values. The transmission value are unitless.
The self-emitted (thermal) and scattered (solar) values are separated here for historical reasons but are combined when read by DIRSIG4 and DIRSIG5.
MODTRAN Notes
The data in this section is computed using the "thermal and solar
radiance" mode (IEMSCT = 2
) and generally using the "slant path
between two altitudes" geometry (ITYPE = 2
). If any part of the
field of view is looking above the horizon, then we switch over to
a "slant path to ground/space" geometry (ITYPE = 3
). Separate runs
for each bandpass are executed and then combined into each SPECTRAL_DATA
table.
The Downwelled (Sky) Paths Section
The DOWNWELLED_PATHS
section contains radiance and transmission
information from space down to the nominal scene location. Hence,
these values are sometimes referred to as the "sky" paths. The
angular sampling in the DOWNWELLED_PATHS
section is hard-coded
to 15 degree degrees in zenith (declination) from 7.5 → 82.5 degrees
and 30 degrees in azimuth from 0 → 330 degrees. Each PATH
section
contains ZENITH
and AZIMUTH
variables defining the geometry of
that path. The PATH
entries iterate across all the azimuth values
for a given zenith before starting on the entries for the next
zenith. Each path includes SPECTRAL_DATA
section containing the
spectral data for that path.
# # SECTION: DOWNWELLED_PATHS # CONTENTS: Downwelled thermal and solar radiances # FORMAT: # ZENITH: declination from vertical [degrees] # AZIMUTH: rotation East of North [degrees] # FORMAT: spectral center, thermal, solar, tau # DOWNWELLED_PATHS { PATH { ZENITH = 7.5000 AZIMUTH = 0.0000 SPECTRAL_DATA { 0.400000 0.0000e+00 3.8267e-03 0.69230 0.410000 0.0000e+00 4.1563e-03 0.71740 ... [data deleted for documentation purposes] ... 1249.00 2.5217e-06 3.9977e-14 0.42850 1250.00 2.5152e-06 3.6050e-14 0.37940 } } ... [PATH sections deleted for documentation purposes] ... PATH { ZENITH = 82.5000 AZIMUTH = 330.0000 SPECTRAL_DATA { 0.400000 0.0000e+00 6.4446e-03 0.07140 0.410000 0.0000e+00 7.5175e-03 0.09210 ... [data deleted for documentation purposes] ... 1249.00 4.9207e-06 1.7137e-14 0.00760 1250.00 4.8769e-06 1.7376e-14 0.00690 } } TOTAL { SPECTRAL_DATA { 0.400000 0.0000e+00 1.4127e-02 0.410000 0.0000e+00 1.5592e-02 ... [data deleted for documentation purposes] ... 1249.00 1.0384e-05 1.4639e-13 1250.00 1.0270e-05 1.3769e-13 } } }
The comments before each the PATH
section describe the columns
in the SPECTRAL_DATA
table. This spectral data table will be for
all the bandpasses described in the BAND_LIST
section in the
header and are combined into a single, continuous table of data.
The radiometric units for this data is dependent on the spectral
units for the data point. Hence, the path radiance values are in
Watts per cm2 steradian micron for the first set of values
and Watts per cm2 steradian wavenumber (cm-1) for the second
set of values. The transmission value are unitless.
The TOTAL
section at the end of the DOWNWELLED_PATHS
contains the
hemispherically integrated self-emitted (thermal) and scattered (solar)
values.
The self-emitted (thermal) and scattered (solar) values are separated here for historical reasons but are combined when read by DIRSIG4 and DIRSIG5.
MODTRAN Notes
The data in this section is computed using the "thermal and solar
radiance" mode (IEMSCT = 2
) and using the "slant path to ground/space"
geometry (ITYPE = 3
). Separate runs for each bandpass are executed
and then combined into each SPECTRAL_DATA
table.
The Backscatter Section
This section of the file is optional and only included if the simulated platform contains a LIDAR instrument. In that case, the DIRSIG needs atmospheric backscatter coefficients in order to know how much of the transmitter (laser) energy is directly scattered off the atmosphere and back towards the receiver. The data in this section contains a series of spectral backscatter tables as a function of altitude from the ground up to the sensor.
# # SECTION: PATH_BACKSCATTER # CONTENTS: Atmospheric backscatter coefficients # along the path from the sensor to # target. # FORMAT: spectral center, backscat [1/(sr km)] tau # PATH_BACKSCATTER { ALTITUDE_RANGE { MINIMUM_ALTITUDE = 0.025 MAXIMUM_ALTITUDE = 1.975 DELTA_ALTITUDE = 0.050 } ALTITUDE { ALTITUDE = 0.0250 LENGTH = 0.0500 SPECTRAL_DATA { 1.063000 1.644220e-05 0.9835 1.063200 1.639037e-05 0.9835 ... [data deleted for documentation purposes] ... 1.064800 1.637135e-05 0.9833 1.065000 1.635714e-05 0.9834 } } ... [ALTITUDE sections deleted for documentation purposes] ... ALTITUDE { ALTITUDE = 1.9750 LENGTH = 0.0500 SPECTRAL_DATA { 1.063000 1.541552e-06 0.9984 1.063200 1.542672e-06 0.9985 ... [data deleted for documentation purposes] ... 1.064800 1.538775e-06 0.9984 1.065000 1.536757e-06 0.9984 } } }
The ALTITUDE_RANGE
section defines the minimum, maximum and sampling
interval for the ALTITUDE
entries that compose the rest of the section.
Each ALTITUDE
section contains the altitude at which the spectral
backscatter data was extracted. As indicated in the comment at the start
of the section, the SPECTRAL_DATA
table contains the backscatter
coefficient (sr-1 km-1) and transmission.
MODTRAN Notes
MODTRAN does not include scattering coefficients in the standard output
files. Instead, make_adb
must measure them by performing a pair of runs
at each altitude:
-
The irradiance to that altitude is computed via a "directly transmitted solar/lunar irradiance" mode (
IEMSCT = 0
) run. -
The backscattered radiance from a short path (see the
LENGTH
in eachALTITUDE
section) at that altitude is computed using a "scattered thermal and solar radiance" mode (IEMSCT = 2
) run, withH1
andH2
defining the short path. -
The backscatter coefficient is computed as the ratio of the irradiance reaching that altitude and the scattered radiance from that altitude.