BIDR2
Name
bidr2
Purpose (one Line)
Compute the bi-directional reflectance (newer Hapke formula).
Description
This function is coded from equation 12.55 on page 346 in Hapke's book,
"Theory of Reflectance and Emittance Spectroscopy".
Category
Miscellaneous
Calling Sequence
ans = bidr2(w,emu,imu,g,holes,p,b0,theta)
Inputs
w - Single scattering albedo.
emu - Cosine of the emission angle.
imu - Cosine of the incidence angle.
g - Phase angle, in radians.
holes - Compaction parameter value (1986 formalism).
p - Parameters of the single particle phase function
(default "function" is a constant of value p).
There are four legal input forms for p:
1. a scalar
2. an array of dimensionality same as w, emu, imu, etc.
3. an array of dimensionality Pparms
4. an array of dimensionality (n_elements(w),Pparms)
b0 - Backscatter value.
theta - Surface roughness value. (radians)
Optional Input Parameters
None.
Keyword Parameters
H93 - Flag, if set, uses the 1993 version of Hapke's approximation to the
Chandresekar H function. The 1993 version is more accurate but
considerably slower to compute.
Pfn - Specify function to use for P(g) instead of the default constant.
The function must be a procedure taking arguments g,a,F,/radians
g phase angle in radians (with keyword /radians set)
a an array of Pparms parameters
F phase function evaluated at phase angles g
Use "fn_hg3.pro" as a model.
Pparms- Specify number of parameters to be passed to P(g).
Really only needed if the number of parameters isn't one.
pedantic - Flag, if set, returns NaN for w > 1.
Outputs
Return value is the bi-directional reflectance.
Common Blocks
None.
Side Effects
None.
Restrictions
Any input may be a vector. If more than one is a vector then the
lengths must match. The return will have the same dimensions as
the input.
Procedure
Modification History
Written by Marc W. Buie, Lowell Observatory, 1997/08/21
1997/09/18, MWB, added surface roughness parameter
2001/10/29, WMG, added "Pfn", "Pparms", and "pedantic" parameters
2003/04/03, MWB, changes loop counters to long
2004/06/24, MWB, fixed bug in imue equation, error in calculated
value happened to be small but was a real
computational error. Thanks to Frank Seelos,
EPRSL, Washington University in St. Louis