Global High Resolution Estimation of Evapotranspiration – SEBS on GPU using CUDA-C
I had a chance to come to the Netherlands and collaborate with a highly experienced team of hydrologist from the University if Twente – ITC (www.itc.nl). During my visit, I worked on various projects related to Surface Energy Balance System (SEBS) algorithm, originally developed by Prof. Bob Su (resume). I was working under the supervision of Prof. Su and Dr. Joris Timmermans.
During my stay I implemented SEBS algorithm on Graphical Processing Units (GPU) using CUDA-C. SEBS is an algorithm to estimate Evapotranspiration along with other turbulent fluxes and parameters. The outputs of SEBS algorithm are:
- Z0m: Roughness height for momentum transfer,
- Z0h: Roughness height for heat transfer,
- d0: displacement height,
- Rn: Net Radiation,
- G0: Ground heat flux,
- H: Sensible heat flux,
- LE: Latent heat flux,
- Evap_Fr: Evaporative fraction,
- Re_i: Relative evaporation
- Ustar: Friction velocity,
- H_DL: Sensible heat flux of dry condition,
- H_WL: Sensible heat flux of wet condition,
- Edaily: Daily Evapotranspiration,
- Rndaily: Daily Net Radiation.
The CUDA-C implementation of SEBS algorithm achieved a speedup of about 380 times on Tesla M1060 NVIDIA cards, (compiled with -arch=sm11 -use_fast_math).
Further information can be found here.