_images/sasktraniflogo.png

SasktranIF (Sasktran Interface) API is suite of software for performing high precision scientific radiative calculations within Earth’s atmosphere and is primarily aimed at the atmospheric community. The code was originally developed by the ARG group in the Dept. of Physics and Engineering Physics at the University of Saskatchewan as the forward model for limb retrievals of ozone, aerosols and NO2 from measurements collected by the Odin-OSIRIS UV-VIS instrument on-board the Odin spacecraft. It is currently available for 64 bit editions of Python3 and Matlab; there are downloadable installation files for Windows while Linux and Mac users can build the code from source code obtained from a Subversion server.

The SasktranIF API wraps high performance C++ software with a simplified class-based interface. The intent is to cut through the mass of detail stored within the C++ code and provide users with simpler interfaces that are not only too the point but also fast and efficient. We target Python and Matlab development platforms as these are popular within the scientific community (and are also the tools we use); we are aware that IDL is another popular platform but we currently do not have resources to build interfaces for this platform (its a about couple of weeks work for anyone who knows what they are doing).

We currently provide interfaces to radiative transfer software solutions developed at the University of Saskatchewan but the framework is open so other groups at other institutions can develop and incorporate their own components.

SasktranIF Interfaces

Radiative transfer calculations within the SasktranIF framework consist of the following core conceptual components,

Class Description
ISKOpticalProperty Optical properties of individual atoms/molecules or particles present in the atmosphere.
ISKClimatology Number density and other properties of different species at different points in the atmosphere.
ISKEngine Mathematical techniques to trace rays through the described atmosphere and calculate observed radiances.
ISKSolarSpectrum Conversion of calculations to an observed radiance needs an accurate solar spectrum at all wavelengths/wavenumbers.
ISKEmission Background radiating brightness of different locations in the atmosphere due to thermal or photo-chemical emissions.
ISKGeodetic Specify observers, lines of sight, tangent points and look directions we need a model of the oblate Earth.

Engines

Climatologies

Climatology objects provide the value of scalar parameters in the atmosphere. They are created using the ISKClimatology class and are used by radiative transfer engines to calculate atmospheric parameters such as number density, pressure and temperature. However, climatology objects can be built that support any scalar (atmospheric) parameter imaginable and can be used as stand-alone objects in other software projects.

Climatology Description
MSIS90 Simple background atmosphere using MSIS and CIRA.
NO2PRATMO NO2 PRATMO climatological model.
O3LABOW The Labow O3 ozone climatology.
USERDEFINED_PROFILE User define height profiles
USERDEFINED_PROFILE_PLANE User defined height profiles that vary along a great circle /plane.
USERDEFINED_PROFILE3D_LATLONHEIGHT User defined height profiles distributed across the surface of the Earth
ECMWF The ECMWF atmosphere. Needs external database files.
OSIRIS_ECMWF The ECMWF model interpolated to OSIRIS scans. Needs external database files.
OSIRISL2_AEROSOLRTMODEL_V507 The OSIRIS aerosol height profile generated in Version 5.07
OSIRISL2_AEROSOLMODERADIUS_V600 The OSIRIS aerosol mode radius profile generated in Version 6.00 (unofficial)
OSIRISL2_O3RTMODEL_V507 The OSIRIS O3 height profile generated in Version 5.07.
OSIRISL2_NO2RTMODEL_V507 The OSIRIS NO2 height profile generated in Version 5.07.
CONSTANTVALUE Climatology which is a constant value everywhere.
ONE_PRESSURE_TEMP Climatology which is a fixed pressure and temperature (useful for IR cross-sections)

Scalar parameters are identified using standard Climatology Handles/GUIDS

Optical Properties

Optical property objects provide the absorption, extinction and scattering of individual molecules/particles in the atmosphere. They are created using the ISKOpticalProperty class and are used by the radiative transfer engines to calculate scattering and extinction in the atmosphere. Many optical property classes are solely focused on the properties of a single molecule while a few classes support several species (eg Hitran); once created, all instances only support the properties of one molecule or particle.

Optical Property Description
RAYLEIGH Rayleigh Scattering follwing Bates.
MIEAEROSOL_H2SO4 Spherical sulphate aerosols, Mie code
HITRANCHEMICAL_XXX HITRAN molecules combined with Voigt line-shapes.
NO2_BURROWS NO2 cross-sections. Burrows
NO2_OSIRISRES NO2 cross-sections used by OSIRIS V5.07 data processing.
NO2_VANDAELE1998 NO2 cross-sections. Vandaele.
O3_BASSPAURLINEAR O3 cross-sections. Bass-Paur with linear interpolation.
O3_BASSPAURQUADRATIC O3 cross-sections. Bass-Paur with quadratic interpolation.
O3_DBM O3 cross-sections. Daumont, Brion and Malicet.
O3_GOMEBURROWS O3 cross-sections. Burrows for the GOME instrument.
O3_OSIRISRES O3 cross-sections used by OSIRIS V5.07 data processing.
O3_SCIABOGUMILV3 O3 cross-sections. Bogumil V3.
O3_SCIABOGUMILV4 O3 cross-sections. Bogumil V4.
O3_SERDYUCHENKOV1 O3 cross-sections. Serdyuchenko
O3_VOIGT O3 cross-sections. Voigt.
USERDEFINED_TABLES User-defined temperature dependant tables
CONVOLVED_CROSSSECTION Cross-section derived from the convolution of a base cross-section

Examples

Indices and tables