Here I am again with some questions
I’m now trying to use r.sun and r.mapcalc with Python to create my annual solar radiation map.
I’m using the Python shell inside GRASS.
For testing purposes I start with 9 days.
The r.sun part seems to be working:
for x in range(1, 10, 1):
print “Working on day %d” % (x)
glob_rad = ‘global’ + str(x)
grass.run_command(‘r.sun’, flags = ‘s’, elevin = ‘w001001@temp’, aspin = ‘aspect@temp’, slopein = ‘slope@temp’, glob_rad = glob_rad, day = x)
I do have a question about parsing the --overwrite flag. How to do that. Adding flags=‘s, --overwrite’ or flags=‘s, -overwrite’ gives a compile error.
Now I try to combine the results of r.sun into 1 raster.
This is working:
for x in range(1, 10, 1):
if x == 2:
exp = ‘sun = global1@temp + global2@temp’
print exp
grass.mapcalc(exp, quiet=False, verbose=False, overwrite=True)
This is also working:
for x in range(1, 10, 1):
if x == 2:
exp = ‘sun = global1@temp + global2@temp’
print exp
grass.mapcalc(exp, quiet=False, verbose=False, overwrite=True)
elif x > 2:
exp = ‘sun = sun@temp + global’ + str(x) + ‘@temp’
print exp
and produces this output:
sun = sun@temp + global3@temp
sun = sun@temp + global4@temp
sun = sun@temp + global5@temp
sun = sun@temp + global6@temp
sun = sun@temp + global7@temp
sun = sun@temp + global8@temp
sun = sun@temp + global9@temp
But when I execute this using
grass.mapcalc(exp, quiet=False, verbose=False, overwrite=True)
Grass crashes completely.
Has this something to do with having the output file is the input file as well?
If this is not allowed how can I combine all output files from r.sun into 1 raster?
Thanks,
Paul