What's New 
  Rays & Shadows
  Water Droplets
  Ice Halos
    Frequent Halos
    Infrequent Halos
    Multiple Displays
    Other Worlds
    Observing Halos
      How it works
      Upgrade Pack
      Known Issues
  High Atmosphere
  Links & Resources
  Search - Index


   How HaloSim works 

   120° parhelion ray path. The program traces a ray until it finally emerges from the crystal or until the user defined maximum number of internal reflections is exceeded.

The ray tracing engine in HaloSim uses exact mathematical descriptions of cloud ice crystals. A crystal is defined by specifying all its faces. When starting a simulation, HaloSim reads the constants defining the planes passing through the faces and their normal vectors from individual crystal shape files.

The elevation of the sun is then used with data from files on the type of crystal orientation and axial dispersion. These data together define limits for the range of angles the crystal can make to the sun and horizon. Then the simulation starts.

To trace a ray, each angle and position is given a random value within its selected range and the ray is started on its path towards the virtual crystal. At the first face encountered the Fresnel reflection and refraction probabilities are calculated to decide the ray's fate. If it is reflected its direction is computed and it forms part of the simulation. If transmitted it is traced onwards through the crystal. Many facets could internally reflect the ray before it finally emerges again and the reflection or transmission computation is repeated each time.

When the ray leaves the crystal its direction is computed and it contributes to one pixel of the simulation. The number of rays that reach a pixel determines the local halo brightness. The ray tracing is repeated for up to several million rays to produce the simulation. The process is called a Monte-Carlo calculation after the proceedings in its casino.

Ray filters, when activated, test the interaction of each ray with each crystal face against user defined selection criteria. Only rays meeting all the criteria contribute to the simulation. When the ray tracing tool is used, the history of each ray is stored as it is traced and a summary of all the faces where it was reflected or refracted is displayed.

The ray tracing method is based on that described by Walter Tape ("Atmospheric Halos", Antarctic Research Series, Vol. 64, American Geophysical Union, Washington, 1994) which enlarges the earlier work of Tränkle and Greenler.

Validation: we have validated HaloSim's predictions against real halo displays and other simulations, primarily those of Walter Tape.