Modeling polarized radiative transfer in the ocean-atmosphere system with the GPU-accelerated SMART-G Monte Carlo code
SMART-G (Speed-Up Monte-Carlo Advanced Radiative Transfer code with GPU) is a radiative transfer solver for the coupled ocean-atmosphere system with a wavy interface. It is based on the Monte-Carlo technique, works in either plane-parallel or spherical-shell geometry, and accounts for polarization. The vector code is written in CUDA (Compute Unified Device Architecture) and runs on GPUs (Graphic Processing Units). For typical simulations, the GPU-based code running on the Nvidia GTX 1070 card is shown to be 100 time faster than a state of the art CPU-based code running on an AMD PhenomIIx4 965 at 3.4GHz. This makes SMART-G competitive, in terms of computational efficiency, with codes based on other techniques (e.g., discrete ordinate, doubling-adding, matrix-operator, and successive-orders-of-scattering), while allowing maximum flexibility regarding the scope of the simulations. The monochromatic version of the code without trans-spectral processes (Raman scattering, fluorescence) is described, including the treatment of photon propagation and interactive processes (elastic scattering, absorption, reflection, refraction, but not thermal emission) and variance reduction (local estimate). Benchmark values are accurately reproduced for clear and cloudy atmospheres over a wavy reflecting surface and a black ocean. Results obtained for a diffusely reflecting ocean agree with those from a discrete ordinate code. SMART-G may be used, not only as a reference code, but also to simulate the signal/imagery observed/produced by optical sensors, create accurate look-up tables, and investigate new remote sensing techniques.