12.07.2015 Views

VLIDORT User's Guide

VLIDORT User's Guide

VLIDORT User's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

anded tri-diagonal matrix A contains only contributions from the RTE homogeneous solutions.The inverse matrix A -1 can be determined once only, before the loop over solar geometry starts.This is the most time consuming step in the complete solution for the RT field, and oncecompleted, it is straightforward and fast to set the integration constants X g = A -1 B g by backsubstitution.In summary then, two important operations on the homogeneous RT field are carried out beforeany reference to solar beam terms. Thus, the <strong>VLIDORT</strong> code has an internal loop over SZAangles. It is well known that convergence of the Fourier cosine azimuth series for the radiationfield depends on the solar beam angle. We keep track of the convergence separately for eachSZA; once the intensity field at our desired output angles and optical depths has converged forone particular SZA, we stop further calculation of Fourier terms for this SZA, even thoughsolutions at other SZAs still require further computation of Fourier terms.This multiple SZA feature was implemented at the outset in <strong>VLIDORT</strong>. This is a very substantialperformance enhancement for <strong>VLIDORT</strong>, particularly in view of the increased time taken overthe eigenproblem and the much larger BVP matrix inversion compared with the scalar code.3.3.3. Eigensolver usageWe have already noted differences between the LAPACK solver DGEEV and the condensedversion ASYMTX as used in LIDORT and DISORT. DGEEV must be used for any layers withscattering by aerosols or clouds, since there will be complex roots in this case. ASYMTX onlydeals with real symmetric eigenmatrices. Linearization of the homogeneous solutions fromDGEEV uses adjoint theory and has some subtleties; adjoint solutions are not available forASYMTX.It turns out that, aside from additional elements down the diagonal, the eigenmatrix Γ n in layer nTconsists of blocks of 4x4 matrices of the form Plm( μi) BnlPlm( μj) , where the P and B nl matriceswere defined in Eq. (2.24) and (2.25) in section 2.1.1, μi are the discrete ordinates, and the ‘T’superscript denotes matrix transpose. Since P and P T are symmetric, then Γ n will be symmetric ifΒ nl is. Thus, Γ n will be symmetric if the Greek constants ε l in Β nl are zero for all values of l. Thisis a special case satisfied by the Rayleigh scattering law, but in general, this is not true forscattering with aerosols and clouds.For aerosols and clouds, we require the complex eigensolver DGEEV from LAPACK, but forRayleigh scattering we can use the faster “real-only” ASYMTX package. Our policy in<strong>VLIDORT</strong> will be to retain both eigensolvers and use them as appropriate – if any of the Greekconstants ε l in Β nl is non-zero for a given scattering layer, then we will choose the complexeigensolver in that layer. The use of ASYMTX and its linearization for Rayleigh layers willrepresent a considerable saving in processing time. For an application with a few particulatelayers in an otherwise Rayleigh-scattering atmosphere, both eigensolvers will be required.In version 2.4, <strong>VLIDORT</strong> can run with 2 or 3 Stokes vectors instead of the full 4. This is helpfulfor atmospheric simulations, since circular polarization in the Earth’s atmosphere is typicallythree orders of magnitude smaller that its linear counterpart. For a 3-component calculation of I,Q, and U, the model uses 3x3 Mueller and scattering matrices, with the (3,4) and (4,4) elementsof the Greek matrix omitted. In this case, the eigenproblem has real-valued solutions only, and this contributes to the substantial performance savings to be gained with this reduced problem.46

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!