This should be somewhat straightforward. The layer container was set up to include a curvature factor already and be somewhat applicable for curved raytracing. We would take the curvature code almost directly from SASKTRAN legacy
Solar Transmission
Refraction for solar transmission is a little complicated, in SASKTRAN legacy we traced rays from the sun and then interpolated it to a solar transmission table. We would have to add this functionality in... There is the question of how to handle direct single scattering as well, and the change in scattering angle from the sun.
Furthermore should refraction be implemented in the DO pseudo-spherical source. Maybe this means we should be using the ray-tracer to calculate solar-transmission for DO instead of Chapman factors?
Getting the refractive index of air
Should refractive index be a user specified option in the atmosphere? Or should we calculate refractive index from pressure/temperature internally? This means pressure/temperature should be added to the c++ atmosphere object like was suggested in #7
Description of the feature
The option to include refraction should be added
Main challenges in adding the feature (if any)
Adding the ray-tracer
This should be somewhat straightforward. The layer container was set up to include a curvature factor already and be somewhat applicable for curved raytracing. We would take the curvature code almost directly from SASKTRAN legacy
Solar Transmission
Refraction for solar transmission is a little complicated, in SASKTRAN legacy we traced rays from the sun and then interpolated it to a solar transmission table. We would have to add this functionality in... There is the question of how to handle direct single scattering as well, and the change in scattering angle from the sun.
Furthermore should refraction be implemented in the DO pseudo-spherical source. Maybe this means we should be using the ray-tracer to calculate solar-transmission for DO instead of Chapman factors?
Getting the refractive index of air
Should refractive index be a user specified option in the atmosphere? Or should we calculate refractive index from pressure/temperature internally? This means pressure/temperature should be added to the c++ atmosphere object like was suggested in #7