1#!/bin/sh
2# This is a test to register and unregister raster maps in
3# space time raster datasets.
4# The raster maps will be registered in different space time raster
5# datasets.
6
7export GRASS_OVERWRITE=1
8
9# We need to set a specific region in the
10# @preprocess step of this test. We generate
11# raster with r.mapcalc and create several space time raster datasets
12# with absolute time
13# The region setting should work for UTM and LL test locations
14g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3
15
16# Generate data
17r.mapcalc  expr="prec_1 = rand(0, 550)" -s
18r.mapcalc  expr="prec_2 = rand(0, 450)" -s
19r.mapcalc  expr="prec_3 = rand(0, 320)" -s
20r.mapcalc  expr="prec_4 = rand(0, 510)" -s
21r.mapcalc  expr="prec_5 = rand(0, 300)" -s
22r.mapcalc  expr="prec_6 = rand(0, 650)" -s
23
24# The first @test
25# We create the space time raster inputs and register the raster maps with absolute time interval
26
27t.create  type=strds temporaltype=absolute output=precip_abs1 title="A test" descr="A test"
28t.create  type=strds temporaltype=absolute output=precip_abs2 title="A test" descr="A test"
29t.create  type=strds temporaltype=absolute output=precip_abs3 title="A test" descr="A test"
30t.create  type=strds temporaltype=absolute output=precip_abs4 title="A test" descr="A test"
31t.create  type=strds temporaltype=absolute output=precip_abs5 title="A test" descr="A test"
32t.create  type=strds temporaltype=absolute output=precip_abs6 title="A test" descr="A test"
33t.create  type=strds temporaltype=absolute output=precip_abs7 title="A test" descr="A test"
34
35t.register  -i input=precip_abs1 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="1 seconds"
36t.info type=strds input=precip_abs1
37t.info -g type=strds input=precip_abs1
38r.info map=prec_1
39t.rast.list input=precip_abs1
40t.topology input=precip_abs1
41
42t.register  -i input=precip_abs2 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="20 seconds, 5 minutes"
43t.info type=strds input=precip_abs2
44t.info -g type=strds input=precip_abs2
45r.info map=prec_1
46t.rast.list input=precip_abs2
47t.topology input=precip_abs2
48
49t.register  -i input=precip_abs3 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="8 hours"
50t.info -g type=strds input=precip_abs3
51r.info map=prec_1
52t.rast.list input=precip_abs3
53t.topology input=precip_abs3
54
55t.register  input=precip_abs4 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="3 days"
56t.info -g type=strds input=precip_abs4
57r.info map=prec_1
58t.rast.list input=precip_abs4
59t.topology input=precip_abs4
60
61t.register  input=precip_abs5 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="4 weeks"
62t.info -g type=strds input=precip_abs5
63r.info map=prec_1
64t.rast.list input=precip_abs5
65t.topology input=precip_abs5
66
67t.register  input=precip_abs6 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-08-01" increment="2 months"
68t.info -g type=strds input=precip_abs6
69r.info map=prec_1
70t.rast.list input=precip_abs6
71t.topology input=precip_abs6
72
73t.register  input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="20 years, 3 months, 1 days, 4 hours"
74t.info -g type=strds input=precip_abs7
75r.info map=prec_1
76t.rast.list input=precip_abs7
77t.topology input=precip_abs7
78# Register with different valid time again
79t.register  input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="99 years, 9 months, 9 days, 9 hours"
80t.info -g type=strds input=precip_abs7
81r.info map=prec_1
82t.rast.list input=precip_abs7
83t.topology input=precip_abs7
84# Register with different valid time again creating an interval
85t.register  -i input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="99 years, 9 months, 9 days, 9 hours"
86t.info -g type=strds input=precip_abs7
87r.info map=prec_1
88t.rast.list input=precip_abs7
89t.topology input=precip_abs7
90
91t.register  input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" end="2002-01-01"
92t.info -g type=strds input=precip_abs7
93r.info map=prec_1
94t.rast.list input=precip_abs7
95t.topology input=precip_abs7
96
97# Check for correct errors
98# Increment format error
99t.register -i  input=precip_abs7 maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 start="2001-01-01" increment="months"
100
101# Check UnicodeDecodeError
102LANG=fr_BE \
103LANGUAGE=fr_BE \
104LC_CTYPE=fr_BE.UTF-8 \
105LC_NUMERIC=C \
106LC_TIME=fr_BE.UTF-8 \
107LC_COLLATE=fr_BE.UTF-8 \
108LC_MONETARY=fr_BE.UTF-8 \
109LC_MESSAGES=fr_BE.UTF-8 \
110LC_PAPER=fr_BE.UTF-8 \
111LC_NAME=fr_BE.UTF-8 \
112LC_ADDRESS=fr_BE.UTF-8 \
113LC_TELEPHONE=fr_BE.UTF-8 \
114LC_MEASUREMENT=fr_BE.UTF-8 \
115LC_IDENTIFICATION=fr_BE.UTF-8 \
116LC_ALL="" \
117t.create output=pluies_nc semantictype=sum title=precipitation_mois description="Précipitation totale mensuelle NC" --o
118t.register -i input=pluies_nc type=raster start=2000-01-01 increment="1 months" maps=prec_1,prec_2,prec_3,prec_4,prec_5,prec_6 --o
119t.info pluies_nc
120t.topology pluies_nc
121t.remove -f pluies_nc
122
123t.unregister type=raster maps=prec_1,prec_2,prec_3
124# Test the warning message
125t.unregister type=raster maps=prec_1,prec_2,prec_3
126t.remove type=strds input=precip_abs1,precip_abs2,precip_abs3,precip_abs4,precip_abs5,precip_abs6,precip_abs7
127t.unregister type=raster maps=prec_4,prec_5,prec_6
128r.info map=prec_1
129