Local variables should be initialized with value before using it .Something like this :
double albedo = 0.0;
The compiler complains because local variables are not assigned any value by default. So at run time if the if()
condition fails then the variable will not be assigned any value and in that case what value should the run time return back to the caller of the function ? Hence initialize it with some default value.