Radiative Transfer Model
- This software uses the OPTRAN transmittance model to calculate instrument radiances and brightness
temperatures and their Jacobians (K-matrix).
- Subprogram documentation.
- Initialisation and destruction functions
- Forward model functions
- K-matrix model functions
- Adjoint model functions
- Tangent-linear model functions
- The interfaces to the forward and K-matrix model routines have not been overloaded for
anything other than M profiles and L channels where M and L > 1. Thus at least two profiles
and two channels must be processed per call. The code was written for multiple profile/channel
input to minimise argument passing/copying.
- The profile inputs are based on the GDAS model output. Apart from the interface (LEVEL) pressure, all the
other profile inputs are LAYER quantities. If you want to use the RTM with LEVEL based input, e.g. a sonde
profile, you will need to convert the level data into layer average values. Beta software to do this is also
available.
- Module documentation list
- Software
- Coefficient data files. Further description of the content of these files is in the software readme file.
- Test code
- Uncompress and untar the test code tarballs in the same directory as the beta RTM code.
- Forward model test code unix tarball
- The output of the test program, rtm_test_FWD.f90, is an ASCII file rtm_test.FWD.output.
After running the code on your system, you can simply diff the file with the supplied
rtm_test.FWD.output.baseline to determine that the code is working correctly.
- Documented IDL code (the .pro files) is also supplied to plot the results.
- Tangent-linear model test code unix tarball...TBA
- Adjoint model test code unix tarball...TBA
- K-matrix model test code unix tarball...TBA
- The test code uses a subset of the coefficient data above. The test coefficient data files are
for the NOAA-16 HIRS and AMSU instruments.
- Most of the code in the test programs are for setting up the input data arrays. The calls
to the actual RTM routines are pretty simple.
- Each test code tarball contains a documented Unix makefile which details the source code module dependency list.
These lists were generated using
makedepf90 although other similar utilities exist.
- The include file make.macros has compiler flag definitions for four platforms:
- SunOS (Sun Solaris systems; assumed big-endian)
- AIX (IBM AIX systems; assumed big-endian)
- IRIX64 (SGI IRIX systems; assumed big-endian)
- Linux (x86 based Linux systems using the Portland Group f90 compiler;
assumed little-endian)
If other systems are used, the compiler flags need to be defined in make.macros and
invoked in the make file for the all target.
Contact me if you have any difficulties/questions.
- The various makefiles are named makefile.XXX where XXX is FWD,
TL, AD, or K. If you use one of the supported systems above, then
invoking the forward model test code makefile, for example, is done by typing
make -f makefile.FWD
at the Unix prompt. This will compile the code and also link the correct endian-ed data files
for your system.
- If you use a Windows (without cygwin) or VAX system, you're own your own, but I'll be more than
happy to help you get set up and generate relatively automatic make processes for these systems
also (if possible.)
This page maintained by Paul
van Delst
Last updated June 5, 2002