In UrbanAlbedo: Create a filter for coszen>0 and operate over that #747
Labels
blocker
another issue/PR depends on this one
enhancement
new capability or improved behavior of existing capability
performance
idea or PR to improve performance (e.g. throughput, memory)
UrbanAlbedo currently calculates a variable
num_solar
, and then there is a big block of code that is only done ifnum_solar > 0
:https://github.com/ESCOMP/ctsm/blob/2632be6af65ad7d1c0d23ae501c76b3cf68d0d6c/src/biogeophys/UrbanAlbedoMod.F90#L264-L429
This logic causes a dependence of some diagnostic fields on decomposition (#17). Moreover, while the current logic avoids doing any work if num_solar == 0, it is less efficient than it could be in the (probably common) case where num_solar > 0 but < num_urban.
So for the sake of both fixing this dependence on decomposition and performance, we should introduce a filter in this routine (which is also passed down to the routines it calls) that holds just the points with coszen>0. Then we should operate over that filter, and remove the
num_solar > 0
conditional.Blocks #17 .
The text was updated successfully, but these errors were encountered: