usask-arg / sasktran2

The next generation SASKTRAN radiative transfer model
MIT License
1 stars 6 forks source link

Curved ray tracing (refraction) #12

Open dannyzed opened 1 year ago

dannyzed commented 1 year ago

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