od2ri
index
/users/schrei_f/src/py4CAtS/lite/src/od2ri.py

od2ri
 (absorption) optical depth to radiation intensity --- Schwarzschild solver
 
 usage:
 od2ri   [options]  opticalDepthFile
 
 -h              help
 -c    char      comment character(s) used in input,output file (default '#')
 -o    string    output file for saving of radiances (if not given: write to StdOut)
 
--BoA  float     bottom-of-atmosphere altitude [km]  (read opt.depth only for levels above)
--ToA  float     top-of-atmosphere altitude [km]     (read opt.depth only for levels below)
                 NOTE:  no interpolation, i.e. integration starts/stops at the next level above/below BoA/ToA
 -C              flag indicating that input optical depth is cumulative (default: difference/delta od)
 -q   char       quadrature method:  trapezoid with default 'T' for "B linear in tau" or 'E' for "B exponential in tau"
 -q   char       quadrature method:  default 'T'=trapez=linear in tau, 'E'=exponential in tau
 -T   float      surface temperature [K]  (default 0)
 -v              flag: verbose
 -x   Interval   lower,upper wavenumbers (comma separated pair of floats [no blanks!],
                                          default set according to range of optical depth in datafiles)
 -z   float      zenith angle (uplooking: 0dg, downlooking 180dg)
                 NOTE:  a horizontal view, i.e. angle=90dg, is not implemented!!!
 
 
 WARNING:
 od2ri  does not know the type of optical depth (delta or accumulated ...) given in the input file!
        ===> use the -C flag if you have (ac)cumulated optical depth

 
Functions
       
dod2ri(dodList, zenithAngle=0.0, tempBack=0.0, bExpTau=False)
Evaluate Schwarzschild integral equation:  integrate Planck * exp(-tau) d_tau  with tau=opticalDepth.
 
ARGUMENTS:
----------
 
dodList:       delta (layer) optical depths (a list of odArray's)
zenithAngle:   viewing zenith angle: 0dg=uplooking (default) ... 180dg=downloooking/nadir
               NOTE:  a horizontal view with 90dg is not implemented!!!
tempBack:      background temperature [K], default 0
bExpTau:       flag: use B exponential in optical depth approximation, default B linear
 
RETURNS:
--------
riArray:       a subclassed numpy array with radiance along with some attributes
 
NOTE:
-----
dod2ri  evaluates the Schwarzschild (and Beer) integral from the first to the last altitude,
i.e. lowest to highest for an uplooking observer (zenith<90dg) and highest to lowest for nadir view.
If you want radiance for an observer somewhere in between, give only the subset of relevant odArray's.
However, dod2ri does not consider an observer between the levels (layer bounds).
schwarzschild_BexpTau(vGrid, dodMatrix, temperature, zenithAngle=0.0, omega=0.0)
Quadrature of Schwarzschild integral over optical depth.
(equivalent to Planck exponential in optical depth approximation)
 
For input and output arguments, see schwarzschid_BlinTau
schwarzschild_BlinTau(vGrid, dodMatrix, temperature, zenithAngle=0.0)
Evaluate Schwarzschild integral equation:  integrate Planck * exp(-tau) d_tau  with tau=opticalDepth.
 
ARGUMENTS:
----------
vGrid:         wavenumber (frequency) grid
dodMatrix:     delta/differential/layer optical depth "matrix"
temperature:   temperature at the levels (layer bounds)
zenithAngle:   viewing angle: 0dg=uplooking, 180dg=downloooking/nadir
 
RETURNS:
--------
radiance:      intensity in erg/s/(cm^2 sr cm-1) as a function of wavenumber
transmission:  total transmission as a function of wavenumber