[GRASS-dev] [GRASS GIS] #2854: results in winGRASS7 32bit vs 64bit: should they be identical?

GRASS GIS trac at osgeo.org
Thu Jan 7 02:58:39 PST 2016


#2854: results in winGRASS7 32bit vs 64bit: should they be identical?
-------------------------+---------------------------------
 Reporter:  hellik       |      Owner:  grass-dev@…
     Type:  defect       |     Status:  new
 Priority:  normal       |  Milestone:  7.0.3
Component:  Raster       |    Version:  svn-releasebranch70
 Keywords:               |        CPU:  x86-64
 Platform:  MSWindows 7  |
-------------------------+---------------------------------
 taken from the dev ML [1]:

 {{{
 >>Like this you check if the difference is very small and below the
 >>acceptable threshold.
 >>In C, we use GRASS_EPSILON for these comparisons.
 >
 > now done with GRASS_EPSILON   1.0e-15
 >
 > r.mapcalc expression=difftestepsilon = if( abs( accum32bit at accumtest
 -
 > accum64bit at accumtest) <= 1.0e-15, 1 , 100 )
 >
 > attached a screenshot of this map
 >
 > accum_diff_wingrass32bitvs64bit.png
 > <http://osgeo-
 org.1560.x6.nabble.com/file/n5243286/accum_diff_wingrass32bitvs64bit.png>

 Mhh..

 Can you open a ticket with all relevant bits + the difference
 screenshot along with a legend and "r.univar -e" output?
 }}}

 tested with the NC sample data set on the same 64bit- win7 box running
 32bit and 64bit winGRASS binaries.

 {{{
 GRASS version: 7.0.3RC1
 GRASS SVN Revision: 67443
 Build Date: 2015-12-31
 Build Platform: i386-w64-mingw32
 GDAL/OGR: 1.11.3
 PROJ.4: 4.9.2
 GEOS: 3.5.0
 SQLite: 3.7.17
 Python: 2.7.4
 wxPython: 2.8.12.1
 Platform: Windows-7-6.1.7601-SP1 (OSGeo4W)

 g.region -p -a raster=elevation at PERMANENT align=elevation at PERMANENT
 projection: 99 (Lambert Conformal Conic)
 zone:       0
 datum:      nad83
 ellipsoid:  a=6378137 es=0.006694380022900787
 north:      228500
 south:      215000
 west:       630000
 east:       645000
 nsres:      10
 ewres:      10
 rows:       1350
 cols:       1500
 cells:      2025000

 r.watershed elevation=elevation at PERMANENT accumulation=accum_wg32bit
 SECTION 1a (of 4): Initiating Memory.
 SECTION 1b (of 4): Determining Offmap Flow.
 SECTION 2: A* Search.
 SECTION 3a: Accumulating Surface Flow with MFD.
 SECTION 3b: Adjusting drainage directions.
 SECTION 4: Closing Maps.
 (Thu Jan 07 11:30:02 2016) Command finished (40 sec)

 r.univar -e map=accum_wg32bit at watershedtest
 total null and non-null cells: 2025000
 total null cells: 0
 Of the non-null cells:
 ----------------------
 n: 2025000
 minimum: -638533
 maximum: 330838
 range: 969371
 mean: -262.231
 mean of absolute values: 685.177
 standard deviation: 13021.3
 variance: 1.69554e+008
 variation coefficient: -4965.58 %
 sum: -531016814.625176
 1st quartile: 2.03496
 median (even number of cells): 4.11548
 3rd quartile: 9.49
 90th percentile: 34.8313
 (Thu Jan 07 11:31:41 2016) Command finished (17 sec)
 }}}

 {{{
 System Info
 GRASS version: 7.0.3RC1
 GRASS SVN Revision: 67443
 Build Date: 2015-12-31
 Build Platform: x86_64-w64-mingw32
 GDAL/OGR: 1.11.3
 PROJ.4: 4.9.2
 GEOS: 3.5.0
 SQLite: 3.7.17
 Python: 2.7.5
 wxPython: 2.8.12.1
 Platform: Windows-7-6.1.7601-SP1 (OSGeo4W)

 g.region -p
 projection: 99 (Lambert Conformal Conic)
 zone:       0
 datum:      nad83
 ellipsoid:  a=6378137 es=0.006694380022900787
 north:      228500
 south:      215000
 west:       630000
 east:       645000
 nsres:      10
 ewres:      10
 rows:       1350
 cols:       1500
 cells:      2025000

 r.watershed elevation=elevation at PERMANENT accumulation=accum_wg64bit
 SECTION 1a (of 4): Initiating Memory.
 SECTION 1b (of 4): Determining Offmap Flow.
 SECTION 2: A* Search.
 SECTION 3a: Accumulating Surface Flow with MFD.
 SECTION 3b: Adjusting drainage directions.
 SECTION 4: Closing Maps.
 (Thu Jan 07 11:38:49 2016) Command finished (4 sec)

 r.univar -e map=accum_wg64bit at watershedtest
 total null and non-null cells: 2025000
 total null cells: 0
 Of the non-null cells:
 ----------------------
 n: 2025000
 minimum: -638533
 maximum: 330838
 range: 969371
 mean: -262.231
 mean of absolute values: 685.177
 standard deviation: 13021.3
 variance: 1.69554e+008
 variation coefficient: -4965.58 %
 sum: -531016814.625176
 1st quartile: 2.03496
 median (even number of cells): 4.11548
 3rd quartile: 9.49
 90th percentile: 34.8313
 (Thu Jan 07 11:39:36 2016) Command finished (6 sec)
 }}}

 {{{
 r.mapcalc expression=difftestepsilon = if( abs(
 accum_wg32bit at watershedtest - accum_wg64bit at watershedtest  ) <= 1.0e-15 ,
 1 ,100 )
 }}}

 {{{
 r.univar -e map=difftestepsilon at watershedtest
 total null and non-null cells: 2025000
 total null cells: 0
 Of the non-null cells:
 ----------------------
 n: 2025000
 minimum: 1
 maximum: 100
 range: 99
 mean: 32.5001
 mean of absolute values: 32.5001
 standard deviation: 46.1113
 variance: 2126.25
 variation coefficient: 141.881 %
 sum: 65812680
 1st quartile: 1
 median (even number of cells): 1
 3rd quartile: 100
 90th percentile: 100
 }}}


 [1] https://lists.osgeo.org/pipermail/grass-dev/2016-January/078282.html

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2854>
GRASS GIS <https://grass.osgeo.org>



More information about the grass-dev mailing list