linz / snap

Survey Network Adjustment Package.
Other
8 stars 4 forks source link

Inconsistent treatment of recoded stations when testing specifications #36

Open ndonnelly opened 7 years ago

ndonnelly commented 7 years ago

When using the test_specification command in an adjustment that includes station recoding and floated stations, the recoded stations are only included in the test if the recode command is before the horizontal_float_error/vertical_float_error command. If the recode command is below these _float_error commands, the recoded stations do not get included in specification testing.

Perhaps the problem is that SNAP initialises a covariance matrix upon reading the float_error command, which would only include the recoded stations if the recoding has been carried out previously in the command file.

ccrook commented 7 years ago

@ndonnelly - thanks for this. The handling of recoding has become very complex, so that the actual list of stations isn't defined until the observations have been read, which is after the configuration has been read. I changed the loading process to re-read the configuration for station constraints after the observations have been loaded - I suspect something is not quite correct in the way that I've done that...

ndonnelly commented 7 years ago

Thanks for the explanation @ccrook, I can imagine it's fairly complex!

ndonnelly commented 7 years ago

@ccrook, I've also noticed that even when the recoded stations are included in the specification testing, they are not all included. I have two recoded stations and only the first (alphabetically) gets included.

ccrook commented 7 years ago

@ndonnelly if you already have a reasonable sized test case it would be great to have that - save me building one.

ndonnelly commented 7 years ago

@ccrook It's not particularly large, but attached is the adjustment I used in the SNAP webinar that identified the issue.

linz_snap_tutorial_final_20171101.zip

ccrook commented 1 year ago

Attempting to replicate error but I suspect that the symptoms have now changed. Current behaviour is that a recoded station cannot be tested explicitly, as if the recoded name is included in the command file snap fails with an error saying the recoded station name is not valid as it is not in the station list.

However in this case after uncommenting the recode command the recoded stations were rejected from the adjustment in any case, so that may be why the were not including in specifications testing.

However there is an issue here that the recoded stations cannot be selected in the test_specifications command.