# r.shaded.relief is a nice and complicated test.


#### r.blend for 3-in-1 testing
#spearfish

g.region rast=elevation.10m res=5
export GRASS_OVERWRITE=1
export GRASS_VERBOSE=0

FIRST=elevation.10m
SECOND=aspect
PERCENT=35
OUTPUT=tmp.mpclc


# try with different numbers of workers
for w in `seq 14` ; do
   echo -n "Workers: $w"
   time WORKERS=$w  r.mapcalc \
       "$OUTPUT.r = r#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * r#$SECOND ; \
        $OUTPUT.g = g#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * g#$SECOND ; \
        $OUTPUT.b = b#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * b#$SECOND"
   echo
done


# split combined mapcalc expression into three different processes
export WORKERS=1
time (
 r.mapcalc "$OUTPUT.r = r#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * r#$SECOND"
 r.mapcalc "$OUTPUT.g = g#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * g#$SECOND"
 r.mapcalc "$OUTPUT.b = b#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * b#$SECOND" 
)


# shell backgrounding as parallelization method:
export WORKERS=1
time (
 r.mapcalc "$OUTPUT.r = r#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * r#$SECOND" &
 r.mapcalc "$OUTPUT.g = g#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * g#$SECOND" &
 r.mapcalc "$OUTPUT.b = b#$FIRST * $PERCENT/100.0 + (1.0 - $PERCENT/100.0) * b#$SECOND" &
 wait
)


