The DIRSIG model uses both MODTRAN and FASCODE to create the atmospheric databases used to simulate the scenes. These programs are used by the DIRSIG atmospheric database building utility program called make_adb. This program will create the inputs for these external programs based on the simulation parameters, call the MODTRAN and/or FASCODE program(s), parse the generated outputs and store the results into the atmospheric database.
The make_adb utility is installed in the $DIRSIG_HOME/bin as part of the normal executable installation process. MODTRAN and FASCODE are external programs that are assumed to already be installed when you install DIRSIG.
The critical step in the installation of the DIRSIG model is configuring the make_adb utility so that it knows how to run MODTRAN and FASCODE when it needs to. In DIRSIG Release 3.5, the make_adb utility was upgraded to simplify this configuration task. In the $DIRSIG_HOME/lib/config directory you will find a file called make_adb. This file is in a tag-style format just like the rest of the DIRSIG input files. An example is shown below:
MAKE_ADB_CFG = 3.0
MODTRAN {
MODTRAN_EXE = /usr/local/mod4r01/mod4r01.exe
MODTRAN_DATA_DIR = /usr/local/mod4r01/DATA
MODTRAN_MIN_DELTA = 1.0
}
FASCODE {
FASCODE_EXE = /usr/local/fascode-3.0/fascode.exe
PRT11_EXE = /usr/local/fascode-3.0/prt11.exe
FASCODE_TAPE3_DIR = /usr/local/fascode-3.0/tape3
FASCODE_MAX_FREQUENCY = 3500.0
}
BACKGROUND_RADIANCE_FILE = /usr/local/dirsig/lib/data/misc/star_light.dat
The meaning of the various sections and variables in this file is discussed in the following sections.
The MODTRAN section is used to describe the MODTRAN installation. In this example, we have installed and compiled the standard MODTRAN 4 distribution in the /usr/local/mod4r01 directory. The variable MODTRAN_EXE is set to point to the MODTRAN executable. The variable MODTRAN_DATA_DIR is set to point to the standard DATA directory within the MODTRAN distribution (it is assumed that the ASCII and binary band model files are in this directory). The final variable, MODTRAN_MIN_DELTA, defines what the maximum spectral resolution (or minimum delta frequency) is for the installed version. MODTRAN 4's minimum delta is 1 wavenumber, however, if a higher resolution version of MODTRAN comes out in the future, this value can be changed to reflect it.
If you wish to simulate spectral resolutions higher than the MODTRAN limit, then you will have to use the FASCODE model. The FASCODE section is used to describe the FASCODE installation. If your facility has a version of FASCODE installed, then you will want to fill out this section of the file, however, if your facility does not have FASCODE installed then omit the section entirely. If you do not have FASCODE and any of this section appears in the configuration file, the make_adb program will report errors.
In this example, we assume that we have installed and compiled FASCODE in the directory /usr/local/fascode-3.0. The FASCODE_EXE variable points to the FASCODE executable. The PRT11_EXE variable points to the prt11 utility program that comes in the FASCODE distribution. This program reformats the FASCODE output into something that looks similar to the MODTRAN output.
The FASCODE_TAPE3_DIR variables points to a directory that has a special set of FASCODE tape3 files in it. These tape3 files are constructed from the HITRAN database using the FASCODE lnfl utility. The make_adb utility assumes that these files will be available and that they will have specific names and contents. The file $DIRSIG_HOME/doc/README-Fascode explains in detail how to construct the required tape3 files.
The FASCODE_MAX_FREQUENCY variable defines the maximum frequency (in wavenumbers) or the shortest wavelength that make_adb will use FASCODE to predict. Since FASCODE does not model scattering, it is not desirable to use it for atmospheric predictions to far into the solar/reflective region. If the user requests spectral resolution greater than the MODTRAN limit and outside the FASCODE operating window defined by this variable, then MODTRAN will be run and the values extrapolated.