4 #include <blitz/array.h> 6 #include <boost/shared_ptr.hpp> 14 bool do_plane_parallel,
16 const blitz::Array<AutoDerivative<double>, 1>& heights,
17 const blitz::Array<double, 1>& sza_values,
19 blitz::Array<AutoDerivative<double>, 2>& chapmanfactors,
20 blitz::Array<AutoDerivative<double>, 1>& toa_nadir_szangles,
21 blitz::Array<AutoDerivative<double>, 1>& toa_entry_szangles);
25 const blitz::Array<AutoDerivative<double>, 1>& heights,
27 const blitz::Array<double, 1>& sza_values,
29 blitz::Array<AutoDerivative<double>, 2>& chapmanfactors,
30 blitz::Array<AutoDerivative<double>, 1>& toa_nadir_szangles,
31 blitz::Array<AutoDerivative<double>, 1>& toa_entry_szangles);
37 const blitz::Array<AutoDerivative<double>, 1>& rtimesn,
38 const blitz::Array<int, 1>& nquad,
40 const blitz::Array<AutoDerivative<double>, 2>& fineweight,
41 const blitz::Array<AutoDerivative<double>, 2>& fineradii,
42 const blitz::Array<AutoDerivative<double>, 2>& finersqnsq,
44 blitz::Array<AutoDerivative<double>, 1>& distances,
45 AutoDerivative<double>& alpha,
46 AutoDerivative<double>& anglefunc );
62 const blitz::Array<AutoDerivative<double>, 1>& heights,
66 blitz::Array<AutoDerivative<double>, 2>& fineweight,
67 blitz::Array<AutoDerivative<double>, 2>& fineradii,
68 blitz::Array<AutoDerivative<double>, 3>& finersqnsq,
70 blitz::Array<int, 1>& nquad);
81 bool do_plane_parallel,
82 const blitz::Array<double, 1>& sza_values,
86 const blitz::Array<double, 1>& sza_values,
96 const blitz::Array<AutoDerivative<double>, 2>&
chapman_factors()
const {
return chapmanfactors_; }
97 const blitz::Array<AutoDerivative<double>, 1>&
toa_nadir_szangles()
const {
return toa_nadir_szangles_; }
98 const blitz::Array<AutoDerivative<double>, 1>&
toa_entry_szangles()
const {
return toa_entry_szangles_; }
106 blitz::Array<AutoDerivative<double>, 2> chapmanfactors_;
107 blitz::Array<AutoDerivative<double>, 1> toa_nadir_szangles_;
108 blitz::Array<AutoDerivative<double>, 1> toa_entry_szangles_;
void refractive_geometry(double rearth, const blitz::Array< AutoDerivative< double >, 1 > &heights, const std::vector< boost::shared_ptr< AtmRefractiveIndex > > &refr_index, const blitz::Array< double, 1 > &sza_values, blitz::Array< AutoDerivative< double >, 2 > &chapmanfactors, blitz::Array< AutoDerivative< double >, 1 > &toa_nadir_szangles, blitz::Array< AutoDerivative< double >, 1 > &toa_entry_szangles)
const blitz::Array< AutoDerivative< double >, 1 > & toa_entry_szangles() const
const blitz::Array< AutoDerivative< double >, 2 > & chapman_factors() const
const blitz::Array< AutoDerivative< double >, 1 > & toa_nadir_szangles() const
void full_gridding(double rearth, int nlower, int nupper, double changeheight, const blitz::Array< AutoDerivative< double >, 1 > &heights, const std::vector< boost::shared_ptr< AtmRefractiveIndex > > &refr_index, blitz::Array< AutoDerivative< double >, 2 > &fineweight, blitz::Array< AutoDerivative< double >, 2 > &fineradii, blitz::Array< AutoDerivative< double >, 3 > &finersqnsq, blitz::Array< int, 1 > &nquad)
Output partial and whole layer fine gridding: nquad
void straightline_geometry(bool do_plane_parallel, double rearth, const blitz::Array< AutoDerivative< double >, 1 > &heights, const blitz::Array< double, 1 > &sza_values, blitz::Array< AutoDerivative< double >, 2 > &chapmanfactors, blitz::Array< AutoDerivative< double >, 1 > &toa_nadir_szangles, blitz::Array< AutoDerivative< double >, 1 > &toa_entry_szangles)
Free functions translated from Fortran.
void refractive_bending(int start_lay, double theta, double dtr, const blitz::Array< AutoDerivative< double >, 1 > &rtimesn, const blitz::Array< int, 1 > &nquad, const blitz::Array< AutoDerivative< double >, 2 > &fineweight, const blitz::Array< AutoDerivative< double >, 2 > &fineradii, const blitz::Array< AutoDerivative< double >, 2 > &finersqnsq, blitz::Array< AutoDerivative< double >, 1 > &distances, AutoDerivative< double > &alpha, AutoDerivative< double > &anglefunc)
ChapmanBOA(double rearth, bool do_plane_parallel, const blitz::Array< double, 1 > &sza_values, const blitz::Array< AutoDerivative< double >, 1 > &heights)
Straight line geometry constructor.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
const blitz::Array< AutoDerivative< double >, 1 > transmittance(const blitz::Array< AutoDerivative< double >, 1 > &extinction) const
Compute transmittance using molecular extinction and pre-computed angles.
This class computes Bottom of the Atmosphere radiance.