[GRASS-dev] Some minor TGIS issues in GRASS 7.1

Hi

I just tried some new TGIS features in GRASS 7.1 and came across some minor issues:

In t.rast.aggregate:
Sampling option "during" seems to have stopped working, a command with "during" which worked in 7.0, does not work in 7.1 (means it finishes with 100% but gives no output). Maybe it is expected behavior that "during" sampling, gives no result when dayly temperature is aggregated to month, however I used "during" operator for sampling inspired by the manual... This command works btw with "contains" sampling.

Furthermore, t.rast.aggregate is not able to read maps from other mapsets if these mapsets are not added to the search path with g.mapset, even if the input timeseries is specified with it`s mapset name and the (raster)maps are located in the same mapset..

In t.unregister:
The maps parameter is limited to ca. 5000 maps. With 6000 maps I got an "Argument list to long" error. For longer timeseries output from t.rast.list should be stored to a file and not piped to the maps parameter. May be worth mentioning it in the manual once it is written?

Sorry for neither beeing able to make some more comprehensive tests nor to come up with proposals for solutions.

Worth opeing a ticket for one or more of these issues?

All the best,
Stefan

One additional thing:

t.rast.mapcalc2 does not seem to read STDS from other mapsets. I get a parse error regardless if I use full map names with mapset specified (then expression parsing seems to break at the "at") or if I add the other mapset to the current search path and do not specify the mapset in the expression (in the latter case the modul complains that the map cannot be found in the current mapset)?

Anyone who can confirm?

Cheers
Stefan

Hi Stefan,
thanks a lot for your feedback.

About t.rast.aggregate:
I modified the sampling method to identify aggregation intervals using
the temporal topology generator. This results in a different approach
to specify the temporal topology for aggregation. I have updated the
manual page in r61732 and fixed the example to reduce confusion.

About maps from other mapsets. The temporal framework will only see
maps from mapsets that are available in the mapset search path,
(trying) to follow the GRASS mapset access approach.

t.unregister:
Please open a ticket, this needs to be fixed.

Best regards
Soeren

2014-08-14 23:48 GMT+02:00 Blumentrath, Stefan <Stefan.Blumentrath@nina.no>:

Hi

I just tried some new TGIS features in GRASS 7.1 and came across some minor issues:

In t.rast.aggregate:
Sampling option "during" seems to have stopped working, a command with "during" which worked in 7.0, does not work in 7.1 (means it finishes with 100% but gives no output). Maybe it is expected behavior that "during" sampling, gives no result when dayly temperature is aggregated to month, however I used "during" operator for sampling inspired by the manual... This command works btw with "contains" sampling.

Furthermore, t.rast.aggregate is not able to read maps from other mapsets if these mapsets are not added to the search path with g.mapset, even if the input timeseries is specified with it`s mapset name and the (raster)maps are located in the same mapset..

In t.unregister:
The maps parameter is limited to ca. 5000 maps. With 6000 maps I got an "Argument list to long" error. For longer timeseries output from t.rast.list should be stored to a file and not piped to the maps parameter. May be worth mentioning it in the manual once it is written?

Sorry for neither beeing able to make some more comprehensive tests nor to come up with proposals for solutions.

Worth opeing a ticket for one or more of these issues?

All the best,
Stefan
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Hi Stefan,
many thanks for your feedback, it is really appreciated.

We will fix this bug in a major code review and overhaul. Thomas
(Author of the temporal algebra code) and i are revisiting the
temporal algebra at the moment. We will introduce several changes
regarding the functionality and the algebra syntax. The temporal
algebra code is still very experimental and needs further testing. We
are still working on the general concept of the algebra, that will
eventually result in a paper.

Best regards
Soeren

2014-08-22 13:22 GMT+02:00 Blumentrath, Stefan <Stefan.Blumentrath@nina.no>:

One additional thing:

t.rast.mapcalc2 does not seem to read STDS from other mapsets. I get a parse error regardless if I use full map names with mapset specified (then expression parsing seems to break at the "at") or if I add the other mapset to the current search path and do not specify the mapset in the expression (in the latter case the modul complains that the map cannot be found in the current mapset)?

Anyone who can confirm?

Cheers
Stefan
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Hei Sören,

good to hear. I can only say that I am very happy with the TGIS framework. It is already very useful as it is!

Meanwhile I came across two other issues in GRASS 7.1 (r61095):
1) On my system (Ubuntu 14.04 LTS 64bit) t.list gives no output and does not finish, so I have to cancel it with CRTL-C and kill the processes manually.
2) In some cases t.rast.aggregate does not manage to gather all map information when nprocs is > 1. After "Gathering map informations" I get: "ERROR: Unable to open header file for raster map".
Although, all maps are properly produced, the STDS is empty. The same command with nprocs=1 works fine. I have not figured out how exactly this behavior is triggered, because it does not occure in all parallel aggregations I tried (other t.rast.aggregate commands with nproc=10 worked fine), in again other cases with more than 1 core, after the error named above it works in a second run...

Cheers
Stefan
________________________________________
Von: Sören Gebbert [soerengebbert@googlemail.com]
Gesendet: Montag, 25. August 2014 17:55
An: Blumentrath, Stefan
Cc: grass-dev@lists.osgeo.org
Betreff: Re: [GRASS-dev] Some minor TGIS issues in GRASS 7.1

Hi Stefan,
many thanks for your feedback, it is really appreciated.

We will fix this bug in a major code review and overhaul. Thomas
(Author of the temporal algebra code) and i are revisiting the
temporal algebra at the moment. We will introduce several changes
regarding the functionality and the algebra syntax. The temporal
algebra code is still very experimental and needs further testing. We
are still working on the general concept of the algebra, that will
eventually result in a paper.

Best regards
Soeren

2014-08-22 13:22 GMT+02:00 Blumentrath, Stefan <Stefan.Blumentrath@nina.no>:

One additional thing:

t.rast.mapcalc2 does not seem to read STDS from other mapsets. I get a parse error regardless if I use full map names with mapset specified (then expression parsing seems to break at the "at") or if I add the other mapset to the current search path and do not specify the mapset in the expression (in the latter case the modul complains that the map cannot be found in the current mapset)?

Anyone who can confirm?

Cheers
Stefan
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Hi again,

First of all, I can second Lucas findings that t.list works fine with “local data”. On my Ubuntu laptop and the NC Climae data sample I had no problems with the module.

However, when working on the manual pages for t.remove and t.unegister (for GRASS 7.0) I came across another issue:

Both t.unregister and t.remove do not fully “unregister” maps from the temporal database. Only the “registered_stds” column in “raster_stds_register” is “emptied”, while all entities in this table and all entries in “raster_metadata”, “raster_spatial_extent”, “raster_base”, “raster_absolute_time” remain.

So, even after I unregistered all maps of a stds and removed the st(r)ds, the raster map metadata stays in the db, and when I create a new strds and register maps I already had registered earlier I get a warning:

“WARNING: Map is already registered in temporal database. Unable to update raster map 2012_09_precip@climate_1970_2012>. Overwrite flag is not set.”

Only t.remove -rf removes everything and properly cleans the temporal db.

Is this intended behavior or a bug?

And, another thing which is unclear to me, should t.remove also unregister all maps associated with the stds or is the user expected to run t.unregister first?

Cheers
Stefan


Von: Blumentrath, Stefan
Gesendet: Donnerstag, 4. September 2014 22:55
An: Luca Delucchi
Betreff: AW: [GRASS-dev] Some minor TGIS issues in GRASS 7.1

Hi Luca,

We have the same problem in our environment that provide data through NFS, do you also use NFS?
On my local data I had no problems

I access our server through SSH / VNC, so the problem occures with “local” data in a way. We are using Samba otherwise, but I have not tried from my Windows Laptop…

Cheers

Stefan

Hi Stefan,

[snip]

Both t.unregister and t.remove do not fully "unregister" maps from the
temporal database. Only the "registered_stds" column in
"raster_stds_register" is "emptied", while all entities in this table and
all entries in "raster_metadata", "raster_spatial_extent", "raster_base",
"raster_absolute_time" remain.

So, even after I unregistered all maps of a stds and removed the st(r)ds,
the raster map metadata stays in the db, and when I create a new strds and
register maps I already had registered earlier I get a warning:

"WARNING: Map is already registered in temporal database. Unable to update
raster map 2012_09_precip@climate_1970_2012>. Overwrite flag is not set."

Only t.remove -rf removes everything and properly cleans the temporal db.

Is this intended behavior or a bug?

This is intentional.

t.remove without "-rf" will only remove the space time dataset from
the temporal database. Maps that have been registered in the STDS will
remain in the temporal database, since they may be registered in other
STDS as well.

"t.remove inputs=A,B" will remove STDS A and B but do not remove the
associated maps from the temporal database.

But "t.remove -rf inputs=A,B" will remove STDS and all associated maps
from the temporal and spatial database.

If you call t.unregister and you specify a space time dataset as
input, then the specified maps will be unregistered only from the
specified space time dataset. The reason for this is that the maps may
be registered in other STDS and should stay there. To unregister maps
from the temporal database and all associated STDS call t.unregister
without the input parameter:

"t.unregister input=A maps=a1,a2,a3" will unregister maps a1,a2 and a3
from STDS A.

"t.unregister maps=a1,a2,a3" will remove maps a1, a2 and a3 from the
temporal database.

And, another thing which is unclear to me, should t.remove also unregister
all maps associated with the stds or is the user expected to run
t.unregister first?

See above. :slight_smile:

Best regards
Soeren

Cheers
Stefan

________________________________
Von: Blumentrath, Stefan
Gesendet: Donnerstag, 4. September 2014 22:55
An: Luca Delucchi
Betreff: AW: [GRASS-dev] Some minor TGIS issues in GRASS 7.1

Hi Luca,

We have the same problem in our environment that provide data through NFS,
do you also use NFS?
On my local data I had no problems

I access our server through SSH / VNC, so the problem occures with "local"
data in a way. We are using Samba otherwise, but I have not tried from my
Windows Laptop...

Cheers

Stefan