mieext_f.pro is an interface that uses the IDL CALL_EXTERNAL
function to execute pre-compiled FORTRAN routines which perform single
particle Mie scattering calculations. This procedure provides particle cross
sections and the asymmetry parameter.
mieext_f is a IDL procedure and can be called using the following command
(as long as the source file lies within your IDL_PATH environment
variable):
mieext_f, NPts, Dx, Cm, Dqxt, Dqsc, Dg
The input parameters in the above call are:
NPts: The number of size parameters in Dx. This must be a
positive scalar of type integer (i.e. 8 bit).
Dx: The particle size parameter(s). This must be a vector of
double precision floating point values (i.e. type double), with
Npts elements, and must be strictly positive.
Cm: The complex refractive index of the particles. Only one
refractive index value can be used in each call to the procedure and must
take the form complex(a,-b) (where a is the real part of the refractive
index, and b is the imaginary (or absorpative) part, and is either zero or
negative).
The output parameters are:
Dqxt: The extinction efficiency.
Dqsc: The scattering efficiency.
Dg: The scattering efficiency.
Note: All of the output variables are vectors of double precision floating
point values, with Npts elements, and must be defined before the
procedure is called.
The mieext_f procedure expects to find an appropriate shared object
file (filename.so) in the directory /home/crun/eodg/idl/mie/.
If you are going to run the code from a different location, you will
have to edit the mieext_f.pro accordingly.
Since this procedure calls pre-compiled FORTRAN code it is platform
dependent. At present shared object files exist for the Alpha
(mieext_alpha.so) and x86/Linux (mieext_x86.so)
platforms.
The FORTRAN source code is also available from
/home/crun/eodg/idl/mie/mieext.f. To compile this code for use
with the x86/Linux platform, using the Intel FORTRAN Compiler, the
command is: ifc mieext.f -o mieext_x86.so -shared -w95 -Kpic -lm -132
To compile the code for use on the alpha platform the commands are: f77 -c -extend_source mieext.f ld -S -shared -o mieext_alpha.so mieext.o -lUfor -lfor -lFutil -lm -lots -lc