NORMRAY - dynamic ray tracing for normal incidence rays in a sloth model

    normray <modelfile >rayends [optional parameters]            

 Optional Parameters:                                      
 caustic    0: show all rays 1: show only caustic rays          
 nonsurface 0: show rays which reach surface 1: show all rays     
 surface    0: shot ray from subsurface 1: from surface              
 nrays       number of location to shoot rays                      
 dangle      increment of ray angle for one location               
 nangle      number of rays shot from one location                 
 ashift      shift first taking off angle                          
 xs1          x of shooting location                                
 zs1          z of shooting location                                
 nangle=101     number of takeoff angles                   
 fangle=-45     first takeoff angle (in degrees)                 
 rayfile        file of ray x,z coordinates of ray-edge intersections  
 nxz=101        number of (x,z) in optional rayfile (see notes below)  
 wavefile       file of ray x,z coordinates uniformly sampled in time  
 nt=101         number of (x,z) in optional wavefile (see notes below) 
 infofile       ASCII-file to store useful information           
 fresnelfile    used if you want to plot the fresnel volumes.          
                default is <fresnelfile.bin>                     
 outparfile     contains parameters for the plotting software.   
                default is <outpar>                              
 krecord        if specified, only rays incident at interface with index
                krecord are displayed and stored                 
 prim           =1, only single-reflected rays are plotted        ",    
                =0, only direct hits are displayed               
 ffreq=-1       FresnelVolume frequency                    
 refseq=1,0,0   index of reflector followed by sequence of reflection (1)
                transmission(0) or ray stops(-1).                
                The default rayend is at the model boundary.           
                NOTE:refseq must be defined for each reflector         
 NOTES:                                              
 The rayends file contains ray parameters for the locations at which   
 the rays terminate.                                       

 The rayfile is useful for making plots of ray paths.            
 nxz should be larger than twice the number of triangles intersected   
 by the rays.                                              

 The wavefile is useful for making plots of wavefronts.          
 The time sampling interval in the wavefile is tmax/(nt-1),      
 where tmax is the maximum time for all rays.                    

 The infofile is useful for collecting information along the           
 individual rays. The fresnelfile contains data used to plot           
 the Fresnel volumes. The outparfile stores information used           
 for the plotting software.                                



 AUTHOR:  Dave Hale, Colorado School of Mines, 02/16/91
 MODIFIED:  Andreas Rueger, Colorado School of Mines, 08/12/93
      Modifications include: functions writeFresnel, checkIfSourceIsOnEdge;
            options refseq=, krecord=, prim=, infofile=;
            computation of reflection/transmission losses, attenuation.
 MODIFIED: Boyi Ou, Colorado School of Mines, 4/14/95

 Notes:
 This code can shoot rays from specified interface by users, normally you
need to use gbmodel2 to generate interface parameters for this code, both
code have a parameter named nrays, it should be same. If you just want to
shoot rays from one specified location, you need to specify xs1,zs1,
otherwise, leave them alone. If you want to shoot rays from surface, you need
to define surface equal to 1. The rays from one location will be
approximately symetric with direction Normal_direction - ashift.(if nangle is
odd, it is symetric, even, almost symetric. The formula for the first take
off angle is: angle=normal_direction-nangle/2*dangle-ashift. If you only want to
see caustics, you specify caustic=1, if you want to see rays which does not
reach surface, you specify nonsurface=1.
/