#!/bin/sh # This program is Free Software under the GNU GPL (>=v2). # Cited from the book: # Markus Neteler and Helena Mitasova: # Open Source GIS: A GRASS GIS Approach. # Kluwer Academic Publishers, Boston, Dordrecht, 464 pp, # ISBN: 1-4020-7088-8, http://mpa.itc.it/grasstutor/ # # Compute a sum of daily global radiation for a given period of the year echo "Enter elevation map:" read elev g.copy rast=$elev,SOLelev echo "Enter slope map:" read sl g.copy rast=$sl,SOLslope echo "Enter aspect map:" read asp g.copy rast=$asp,SOLaspect echo "Enter Latitude of given region:" read lat i=75 lastday=288 #generate an empty map for global radiation: r.mapcalc global.rad=0 while [ $i -le $lastday ] do # generate map names convenient for xganim and r.out.mpeg: DAY=`echo $i | awk '{printf "%03i", $1}'` echo "Computing radiation for day $DAY..." r.sun elevin=SOLelev aspin=SOLaspect slopein=SOLslope\ lat="$lat" day="$i"\ beam_rad=b_rad.$DAY diff_rad=d_rad.$DAY\ refl_rad=r_rad.$DAY #add to (cell-wise) global energy: r.mapcalc global.rad ="global.rad + b_rad.$DAY +\ d_rad.$DAY + r_rad.$DAY" r.timestamp b_rad.$DAY date="$i days" r.colors b_rad.$DAY col=gyr r.timestamp d_rad.$DAY date="$i days" r.colors d_rad.$DAY col=gyr r.timestamp r_rad.$DAY date="$i days" r.colors r_rad.$DAY col=gyr i=`expr $i + 1` done #cleanup: g.remove rast=SOLelev,SOLaspect,SOLslope echo "Finished."