Hi,
Just bumped into the weirdest bug in r.sun on GRASS 7.4 as installed from the Ubuntu repository.
I am using r.sun in Mode 2 to compute the daily average global radiation. The GRASS location is using EPSG:3031: this is data over the entire Antarctica.
For some specific days, that seem to be in winter, when most of the continent doesn’t recieve any solar radiation, the command would hang forever at 9%:
For example I had to kill this command:
[Raster MASK present]
GRASS 7.4.0 (modis_lst_2015):/media/pierre/1TB_ext4/code > time r.sun elev=dem_1k aspect=aspect_1k slope=slope_1k day=159 glob_rad=glob_rad_159 --o --verbose
Number of threads <1>
Mode 2: integrated daily irradiation for a given day of the year
Using Linke constant: 3.000000
Using albedo constant: 0.200000
Using slope map <slope_1k>
Using aspect map <aspect_1k>
^C 9%
But for the day before and the day after the command was successful in less than a minute:
GRASS 7.4.0 (modis_lst_2015):/media/pierre/1TB_ext4/code > time r.sun elev=dem_1k aspect=aspect_1k slope=slope_1k day=160 glob_rad=glob_rad_160 --o --verbose
Number of threads <1>
Mode 2: integrated daily irradiation for a given day of the year
Using Linke constant: 3.000000
Using albedo constant: 0.200000
Using slope map <slope_1k>
Using aspect map <aspect_1k>
100%
real 0m30.019s
user 0m29.602s
sys 0m0.372s
It also happened on day 151… I’m a bit stuck, so any pointers would be appreciated.
Cheers,
Pierre
OK, something additional I noticed: I obviously wrapped the calculations for each day of the year in a script.
Somehow, it seems I can re-process manually a day that was hanging during the script.
Below is the script I used:
for DAY in $(seq 1 365);
do
DOY=$(printf “%03d\n” $((DAY)))
echo “Processing day ${DOY} …”
eval g.findfile element=cell file="glob_rad_${DOY}"
if [ ! “$file” ]
then
r.sun elev=dem_1k aspect=aspect_1k slope=slope_1k day=$DAY glob_rad=glob_rad_${DOY}
sleep 15
fi
done
···
On 16 March 2018 at 11:04, Pierre Roudier <pierre.roudier@gmail.com> wrote:
Hi,
Just bumped into the weirdest bug in r.sun on GRASS 7.4 as installed from the Ubuntu repository.
I am using r.sun in Mode 2 to compute the daily average global radiation. The GRASS location is using EPSG:3031: this is data over the entire Antarctica.
For some specific days, that seem to be in winter, when most of the continent doesn’t recieve any solar radiation, the command would hang forever at 9%:
For example I had to kill this command:
[Raster MASK present]
GRASS 7.4.0 (modis_lst_2015):/media/pierre/1TB_ext4/code > time r.sun elev=dem_1k aspect=aspect_1k slope=slope_1k day=159 glob_rad=glob_rad_159 --o --verbose
Number of threads <1>
Mode 2: integrated daily irradiation for a given day of the year
Using Linke constant: 3.000000
Using albedo constant: 0.200000
Using slope map <slope_1k>
Using aspect map <aspect_1k>
^C 9%
But for the day before and the day after the command was successful in less than a minute:
GRASS 7.4.0 (modis_lst_2015):/media/pierre/1TB_ext4/code > time r.sun elev=dem_1k aspect=aspect_1k slope=slope_1k day=160 glob_rad=glob_rad_160 --o --verbose
Number of threads <1>
Mode 2: integrated daily irradiation for a given day of the year
Using Linke constant: 3.000000
Using albedo constant: 0.200000
Using slope map <slope_1k>
Using aspect map <aspect_1k>
100%
real 0m30.019s
user 0m29.602s
sys 0m0.372s
It also happened on day 151… I’m a bit stuck, so any pointers would be appreciated.
Cheers,
Pierre
The problem seems to be fixed in the grass7.5-svn I last checked out from SVN and compiled about 3 weeks ago.
Hum…
···
On 16 March 2018 at 11:22, Pierre Roudier <pierre.roudier@gmail.com> wrote:
OK, something additional I noticed: I obviously wrapped the calculations for each day of the year in a script.
Somehow, it seems I can re-process manually a day that was hanging during the script.
Below is the script I used:
for DAY in $(seq 1 365);
do
DOY=$(printf “%03d\n” $((DAY)))
echo “Processing day ${DOY} …”
eval g.findfile element=cell file="glob_rad_${DOY}"
if [ ! “$file” ]
then
r.sun elev=dem_1k aspect=aspect_1k slope=slope_1k day=$DAY glob_rad=glob_rad_${DOY}
sleep 15
fi
done
On 16 March 2018 at 11:04, Pierre Roudier <pierre.roudier@gmail.com> wrote:
Hi,
Just bumped into the weirdest bug in r.sun on GRASS 7.4 as installed from the Ubuntu repository.
I am using r.sun in Mode 2 to compute the daily average global radiation. The GRASS location is using EPSG:3031: this is data over the entire Antarctica.
For some specific days, that seem to be in winter, when most of the continent doesn’t recieve any solar radiation, the command would hang forever at 9%:
For example I had to kill this command:
[Raster MASK present]
GRASS 7.4.0 (modis_lst_2015):/media/pierre/1TB_ext4/code > time r.sun elev=dem_1k aspect=aspect_1k slope=slope_1k day=159 glob_rad=glob_rad_159 --o --verbose
Number of threads <1>
Mode 2: integrated daily irradiation for a given day of the year
Using Linke constant: 3.000000
Using albedo constant: 0.200000
Using slope map <slope_1k>
Using aspect map <aspect_1k>
^C 9%
But for the day before and the day after the command was successful in less than a minute:
GRASS 7.4.0 (modis_lst_2015):/media/pierre/1TB_ext4/code > time r.sun elev=dem_1k aspect=aspect_1k slope=slope_1k day=160 glob_rad=glob_rad_160 --o --verbose
Number of threads <1>
Mode 2: integrated daily irradiation for a given day of the year
Using Linke constant: 3.000000
Using albedo constant: 0.200000
Using slope map <slope_1k>
Using aspect map <aspect_1k>
100%
real 0m30.019s
user 0m29.602s
sys 0m0.372s
It also happened on day 151… I’m a bit stuck, so any pointers would be appreciated.
Cheers,
Pierre