[GRASS-dev] Re: [GRASS GIS] #610: r.sun: incidout uses 0 instead of NULL

GRASS GIS trac at osgeo.org
Fri May 22 03:36:57 EDT 2009


#610: r.sun: incidout uses 0 instead of NULL
---------------------+------------------------------------------------------
  Reporter:  hamish  |       Owner:  grass-dev at lists.osgeo.org
      Type:  defect  |      Status:  new                      
  Priority:  normal  |   Milestone:  6.5.0                    
 Component:  Raster  |     Version:  6.4.0 RCs                
Resolution:          |    Keywords:  r.sun                    
  Platform:  All     |         Cpu:  All                      
---------------------+------------------------------------------------------
Comment (by mmetz):

 Next try. IIUR, incidout is calculated in rsunlib.c by lumcline(). For a
 shadowed area, sunVarGeom->isShadow is apparently set to 1 and incidence
 is left as 0. For an area where there is still night, incidence angle is
 negative and set to 0 (r.sun2/rsunlib.c#L439). That's why my first wild
 guess didn't work, it was probably setting night to NULL, not shadow. If
 any of the input maps is NULL, incidence (as all other output maps) is set
 to NULL (says the manual). To keep a maximum of information in the
 incidence output map, you could e.g. set incidence of shadows to -1, make
 night -2, keep special case incidence == 0 with no shadow, and propagate
 any input NULL cells as NULL cells. Then optionally use r.null to set
 shadows and/or night to NULL. Or discard all this info and make input NULL
 cells, night, shadow and special case incidence == 0 with no shadow all
 NULL (if (s <= 0) return UNDEFZ;)

 Not tested, all interpreted from the code and the manual.

 Markus M

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/610#comment:5>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list