Radiant 2.0: An Introduction Mick Christi OCO Science Meeting March 2004
Why Another Radiative Transfer Solver? Wide use of (1) Doubling & Adding and (2) DISORT
The Problem The optical depth sensitivity of doubling. The necessity of re-computing the entire RT solution if using a code such as DISORT if only a portion of the atmosphere changes. Our Goal: Employ the strengths of both while leaving the undesirable characteristics behind.
Radiant Overview Plane-parallel, multi-stream RT model. Can compute either radiances or spectral radiances as appropriate. Allows for computation of radiances for user-defined viewing angles. Includes effects of absorption, emission, and multiple scattering. Can operate in a solar only, thermal only, or combined fashion for improved efficiency. Allows stipulation of multiple phase functions due to multiple constituents in individual layers. Capability to surgically select delta-m scaling as needed by the user for those constituents. Allows stipulation of the surface reflectivity and surface type (lambertian or non- lambertian). Simulating Radiative Processes
Radiant Overview Incorporates layer-saving to greatly improve efficiency when the computation of Jacobians by finite difference is required. Accuracy tested against established tables and codes (e.g. van de Hulst (1980), doubling codes, and DISORT). Speed tested against doubling codes and DISORT with encouraging results. Simulating Radiative Processes
RTE Solution Methodology employed in Radiant Convert solution of the RTE (a boundary value problem) into a initial value problem Using the interaction principle. Applying the lower boundary condition for the scene at hand. Build individual layers (i.e. determine their global scattering properties) via an eigenmatrix approach. Combine layers of medium using adding to build one “super layer” describing entire medium. Apply the radiative input to the current scene to obtain the RT solution for that scene. The Interaction Principle I + (H) = T(0,H)I + (0) + R(H,0)I - (H) + S(0,H) I - (0) = T(H,0)I - (H) + R(0,H)I + (0) + S(H,0) Lower Boundary Condition: I + (0) = R g I - (0) + a g f o e - / o
Operational Modes: Normal Mode
Operational Modes: Layer-Saving Mode
Obtaining Radiances at the TOA I + (z*) = {T(0,z*)R g [E-R(0,z*) R g ] -1 T(z*,0) + R(z*,0) } I - (z*) + R(z*,0) } I - (z*) + T(0,z*)R g [E-R(0,z*) R g ] – 1 S(z*,0) + T(0,z*)R g [E-R(0,z*) R g ] – 1 S(z*,0) + S(0,z*) + S(0,z*) I - (z*) I - (0) I + (z*) I + (0) z* 0 T(z*,0) R(0,z*) R(z*,0) T(0,z*) I + (z*) = {T(0,z*)R g [E-R(0,z*) R g ] -1 T(z*,0) + R(z*,0) } I - (z*) + {T(0,z*)R g [E-R(0,z*) R g ] –1 R(0,z*) + T(0,z*)}a g f o e - / o + T(0,z*)R g [E-R(0,z*) R g ] –1 S(z*,0) + S(0,z*) S(z*,0) S(0,z*) RT Solution:
Numerical Efficiency: Eigenmatrix vs. Doubling
Numerical Efficiency: Radiant vs. DISORT
Radiant: Program Structure Subroutines: DATA_INSPECTOR – Input Data Checker PLKAVG – Integrated Planck PLANCK – Monochromatic Planck RAD – Computes radiances for normal & layer-saving modes Singularity Busting: o = 1 = o or = i
Radiant: Program Structure Subroutines BUILD_LAYER - Determines global scattering properties of layer being built COMBINE* - Combines Global Transmission, Reflection, & Source Matrices SURF* - Surface Depiction: 1_3 (Lambertian) 2_2 (Non-lambertian) Layer-Saving – Global Transmission, Reflection, & Sources for each layer (& atmospheric block) saved for later use
Radiant: Program Structure Subroutines: LOCAL – Determines local (i.e. intrinsic) scattering properties of layer being built SGEEVX – Solves the eigenvalue problem to use in determination of global scattering properties
Radiant: Program Structure Subroutines: GETQUAD2 – Provides Lobatto, Gauss, or Double Gauss quadrature parameters PLEG – Provides legendre polynomial information for computation of constituent phase functions
Summary Radiant developed in response to some weaknesses in doubling & adding and in the discrete ordinate method as implemented by DISORT. Radiant employs “eigenmatrix & adding”. The method allows Radiant to obtain an accurate RT solution that can be much more efficient depending on the problem at hand.
Your Questions & Comments