[GRASS-SVN] r61457 - in grass/trunk/temporal/t.rast.to.rast3: . testsuite

svn_grass at osgeo.org svn_grass at osgeo.org
Wed Jul 30 06:46:53 PDT 2014


Author: huhabla
Date: 2014-07-30 06:46:53 -0700 (Wed, 30 Jul 2014)
New Revision: 61457

Added:
   grass/trunk/temporal/t.rast.to.rast3/testsuite/
   grass/trunk/temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py
Log:
t.rast.to.rast3: Added gunittest framework tests


Added: grass/trunk/temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py
===================================================================
--- grass/trunk/temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py	                        (rev 0)
+++ grass/trunk/temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py	2014-07-30 13:46:53 UTC (rev 61457)
@@ -0,0 +1,350 @@
+"""Test t.rast.to.rast3
+
+(C) 2014 by the GRASS Development Team
+This program is free software under the GNU General Public
+License (>=v2). Read the file COPYING that comes with GRASS
+for details.
+
+ at author Soeren Gebbert
+"""
+
+import grass.pygrass.modules as pymod
+import subprocess
+from grass.gunittest.case import TestCase
+from grass.gunittest.gmodules import SimpleModule
+
+class TestSTRDSToRast3(TestCase):
+
+    def setUp(self):
+        """Create input data
+        """
+        self.use_temp_region()
+        self.runModule("g.gisenv",  set="TGIS_USE_CURRENT_MAPSET=1")
+        self.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+
+        self.runModule("r.mapcalc", expression="prec_1i = 100")
+        self.runModule("r.mapcalc", expression="prec_2i = 200")
+        self.runModule("r.mapcalc", expression="prec_3i = 300")
+        self.runModule("r.mapcalc", expression="prec_4i = 400")
+        self.runModule("r.mapcalc", expression="prec_5i = 500")
+        self.runModule("r.mapcalc", expression="prec_6i = 600")
+        
+        self.runModule("r.mapcalc", expression="prec_1d = 100.0")
+        self.runModule("r.mapcalc", expression="prec_2d = 200.0")
+        self.runModule("r.mapcalc", expression="prec_3d = 300.0")
+        self.runModule("r.mapcalc", expression="prec_4d = 400.0")
+        self.runModule("r.mapcalc", expression="prec_5d = 500.0")
+        self.runModule("r.mapcalc", expression="prec_6d = 600.0")
+        
+        self.runModule("r.mapcalc", expression="prec_1f = float(100.0)")
+        self.runModule("r.mapcalc", expression="prec_2f = float(200.0)")
+        self.runModule("r.mapcalc", expression="prec_3f = float(300.0)")
+        self.runModule("r.mapcalc", expression="prec_4f = float(400.0)")
+        self.runModule("r.mapcalc", expression="prec_5f = float(500.0)")
+        self.runModule("r.mapcalc", expression="prec_6f = float(600.0)")
+        
+        self.runModule("t.create", type="strds",  temporaltype="absolute",  
+                       output="precip_i",  title="A test integer",  
+                       description="A test integer values")
+        self.runModule("t.register", flags="i",  type="rast",  input="precip_i",  
+                       maps="prec_1i,prec_2i,prec_3i,prec_4i,prec_5i,prec_6i",  
+                       start="2001-01-01", increment="3 months")
+
+        self.runModule("t.create", type="strds",  temporaltype="absolute",  
+                       output="precip_f",  title="A test float",  
+                       description="A test float values")
+        self.runModule("t.register", flags="i",  type="rast",  input="precip_f",  
+                       maps="prec_1f,prec_2f,prec_3f,prec_4f,prec_5f,prec_6f",  
+                       start="2001-01-01", increment="3 months")
+
+        self.runModule("t.create", type="strds",  temporaltype="absolute",  
+                       output="precip_d",  title="A test float",  
+                       description="A test float values")
+        self.runModule("t.register", flags="i",  type="rast",  input="precip_d",  
+                       maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
+                       start="2001-01-01", increment="3 months")
+
+    def tearDown(self):
+        """Remove generated data"""
+        self.runModule("t.remove",  flags="rf",  type="strds",  
+                                   inputs="precip_i,precip_f,precip_d")
+        self.del_temp_region()
+
+    def test_3m(self):
+        """Convert STRDS into 3d raster map, granularity 3 months"""
+
+        self.assertModule("t.rast.to.rast3",  input="precip_i",  output="precip_i")
+        self.assertModule("t.rast.to.rast3",  input="precip_f",  output="precip_f")
+        self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
+
+        univar_string="""n=576
+						null_cells=0
+						cells=576
+						min=100
+						max=600
+						range=500
+						mean=350
+						mean_of_abs=350
+						stddev=170.782512765993
+						variance=29166.6666666667
+						coeff_var=48.7950036474267
+						sum=201600"""
+
+        self.assertRaster3dFitsUnivar(raster="precip_i", reference=univar_string, precision=2)
+        self.assertRaster3dFitsUnivar(raster="precip_f", reference=univar_string, precision=2)
+        self.assertRaster3dFitsUnivar(raster="precip_d", reference=univar_string, precision=2)
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=1213
+						top=1231
+						nsres=10
+						ewres=10
+						tbres=3
+						rows=8
+						cols=12
+						depths=6
+						datatype="DCELL"
+						timestamp="1 Jan 2001 00:00:00 / 1 Jul 2002 00:00:00"
+						units="none"
+						vertical_units="months" """
+
+        self.assertRaster3dFitsInfo(raster="precip_i", reference=tinfo_string, precision=2)
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=1213
+						top=1231
+						nsres=10
+						ewres=10
+						tbres=3
+						rows=8
+						cols=12
+						depths=6
+						datatype="FCELL"
+						timestamp="1 Jan 2001 00:00:00 / 1 Jul 2002 00:00:00"
+						units="none"
+						vertical_units="months" """
+
+        self.assertRaster3dFitsInfo(raster="precip_f", reference=tinfo_string, precision=2)
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=1213
+						top=1231
+						nsres=10
+						ewres=10
+						tbres=3
+						rows=8
+						cols=12
+						depths=6
+						datatype="DCELL"
+						timestamp="1 Jan 2001 00:00:00 / 1 Jul 2002 00:00:00"
+						units="none"
+						vertical_units="months" """
+
+        self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
+
+    def test_3m_gap(self):
+        """Convert STRDS with gaps into 3d raster map, granularity 3 months"""
+  
+        self.runModule("t.unregister", maps="prec_3d,prec_3f,prec_3i")
+
+        self.assertModule("t.rast.to.rast3",  input="precip_i",  output="precip_i")
+        self.assertModule("t.rast.to.rast3",  input="precip_f",  output="precip_f")
+        self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
+
+        univar_string="""n=480
+						null_cells=96
+						cells=576
+						min=100
+						max=600
+						range=500
+						mean=360
+						mean_of_abs=360
+						stddev=185.472369909914
+						variance=34400
+						coeff_var=51.5201027527539
+						sum=172800"""
+
+        self.assertRaster3dFitsUnivar(raster="precip_i", reference=univar_string, precision=2)
+        self.assertRaster3dFitsUnivar(raster="precip_f", reference=univar_string, precision=2)
+        self.assertRaster3dFitsUnivar(raster="precip_d", reference=univar_string, precision=2)
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=1213
+						top=1231
+						nsres=10
+						ewres=10
+						tbres=3
+						rows=8
+						cols=12
+						depths=6
+						datatype="DCELL"
+						timestamp="1 Jan 2001 00:00:00 / 1 Jul 2002 00:00:00"
+						units="none"
+						vertical_units="months" """
+
+        self.assertRaster3dFitsInfo(raster="precip_i", reference=tinfo_string, precision=2)
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=1213
+						top=1231
+						nsres=10
+						ewres=10
+						tbres=3
+						rows=8
+						cols=12
+						depths=6
+						datatype="FCELL"
+						timestamp="1 Jan 2001 00:00:00 / 1 Jul 2002 00:00:00"
+						units="none"
+						vertical_units="months" """
+
+        self.assertRaster3dFitsInfo(raster="precip_f", reference=tinfo_string, precision=2)
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=1213
+						top=1231
+						nsres=10
+						ewres=10
+						tbres=3
+						rows=8
+						cols=12
+						depths=6
+						datatype="DCELL"
+						timestamp="1 Jan 2001 00:00:00 / 1 Jul 2002 00:00:00"
+						units="none"
+						vertical_units="months" """
+
+        self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
+
+class TestSTRDSToRast3MultiGran(TestCase):
+
+    def setUp(self):
+        """Create input data
+        """
+        self.use_temp_region()
+        self.runModule("g.gisenv",  set="TGIS_USE_CURRENT_MAPSET=1")
+        self.runModule("g.region",  s=0,  n=80,  w=0,  e=120,  b=0,  t=50,  res=10,  res3=10)
+        
+        self.runModule("r.mapcalc", expression="prec_1d = 100.0")
+        self.runModule("r.mapcalc", expression="prec_2d = 200.0")
+        self.runModule("r.mapcalc", expression="prec_3d = 300.0")
+        self.runModule("r.mapcalc", expression="prec_4d = 400.0")
+        self.runModule("r.mapcalc", expression="prec_5d = 500.0")
+        self.runModule("r.mapcalc", expression="prec_6d = 600.0")
+
+        self.runModule("t.create", type="strds",  temporaltype="absolute",  
+                       output="precip_d",  title="A test float",  
+                       description="A test float values")
+
+    def tearDown(self):
+        """Remove generated data"""
+        self.runModule("t.remove",  flags="rf",  type="strds", inputs="precip_d")
+        self.del_temp_region()
+
+    def test_years(self):
+        """Convert STRDS into 3d raster map, granularity5 years"""
+
+        self.runModule("t.register", flags="i",  type="rast",  input="precip_d",  
+                       maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
+                       start="2000-01-01", increment="5 years")
+
+        self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=100
+						top=130
+						nsres=10
+						ewres=10
+						tbres=3
+						rows=8
+						cols=12
+						depths=6
+						datatype="DCELL"
+						timestamp="1 Jan 2000 00:00:00 / 1 Jan 2030 00:00:00"
+						units="none"
+						vertical_units="years" """
+
+        self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
+
+    def test_months(self):
+        """Convert STRDS into 3d raster map, granularity 6 months"""
+
+        self.runModule("t.register", flags="i",  type="rast",  input="precip_d",  
+                       maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
+                       start="2000-01-01", increment="6 months")
+
+        self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=1201
+						top=1237
+						nsres=10
+						ewres=10
+						tbres=6
+						rows=8
+						cols=12
+						depths=6
+						datatype="DCELL"
+						timestamp="1 Jan 2000 00:00:00 / 1 Jan 2003 00:00:00"
+						units="none"
+						vertical_units="months" """
+
+        self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
+
+
+    def test_months(self):
+        """Convert STRDS into 3d raster map, granularity 7 days"""
+
+        self.runModule("t.register", flags="i",  type="rast",  input="precip_d",  
+                       maps="prec_1d,prec_2d,prec_3d,prec_4d,prec_5d,prec_6d",  
+                       start="2000-01-01", increment="7 days")
+
+        self.assertModule("t.rast.to.rast3",  input="precip_d",  output="precip_d")
+        self.runModule("r3.info", map="precip_d")
+
+        tinfo_string="""north=80
+						south=0
+						east=120
+						west=0
+						bottom=36524
+						top=36566
+						nsres=10
+						ewres=10
+						tbres=7
+						rows=8
+						cols=12
+						depths=6
+						datatype="DCELL"
+						timestamp="1 Jan 2000 00:00:00 / 12 Feb 2000 00:00:00"
+						units="none"
+						vertical_units="days" """
+
+        self.assertRaster3dFitsInfo(raster="precip_d", reference=tinfo_string, precision=2)
+
+if __name__ == '__main__':
+    from grass.gunittest.main import test
+    test()



More information about the grass-commit mailing list