Monday, April 22, 2013

8 meters? Thats really quite an error

Arrghh.     I should have fixed the stupid software guru's code years ago.  But it is in his typical obscure coding style and I thought the errors were more like up to 1 meter which is not a huge deal for heights for the atmospheric folks.    GPS gives a cm level height but thats wrt to a an ellipsoid not the actual MeanSeaLevel height of the earth which the atmosphere folks use.   So we have to have a conversion and ssg's thing was to use his much loved PDL and an out of date and too coarse set of grid point geoid offsets to get an interpolated value.   Now for his on SV work where their coords are changing all the time so they may need to accept up to 8 stinking meters of error to get a really speedy response.

But I don't need that kind of speed for ground-based stuff with fixed coordinates and I really should not live with over 25 feet of error.  So I need to figure out how to implement a proper spherical harmonic computation of geoid height in the framework of ssg's module that spits out the netcdf format files.   I thought if I web serached a bit I would find a perl library module pre-built to do this but I'm not having any luck.

What I want probably exists if I had the search term(s) that would bring it up but I'm very close to giving up and just coding things up myself.  The algorithms are pretty simple, its the slurping up the coefficients and saving them until each sites offsets have been computed that might be tricky to do in an efficient way.   Maybe I should dump the perl altogether instead of thinking its worth it to get the netcdf output.  But netcdf can be a tar baby and I don't want to write new code for it if I don't have to.

2 comments:

Gerrick said...

You are upset. That is all I could understand of the whole post. I can't even tell what you are talking about. If this programmer is so incompetent that he has a 8 meter margin of error he needs a kick in the baby maker.

Teresa/ride4fun said...

Well I finally figured out how to fix the issue for *my* ground-based work. It turns out the supposedy higher tech space-based group was using an antiquated geoid model because that is what was there in some fortran code they got from the scientist who developed the technique to get data from the space-based GPS. The code *guru* here is stuck on perl and he knows (at least knew) c and just dismisses fortran as "icky"

It still strikes me as 'what a lazy shortcut' for him to take. They used this antiquated model that they had because it was the only file available with the binary format and size the fortran code he doesn't understand used.

but this *guru* is the group's binary data expert. How lame that HE could not be bothered to find a better model and then write some basic level code to output the decent model in the needed binary format.

That is what I did as the easy fix that improves the accuracy into the 0.5 up to 1 meter level that I figure is acceptable -- I had to dig in my old software books from college to sort out how to generate that binary format.

They are totally ignoring it on the space-based side for now. I will have to prod them with "should I run a test mission to see if there is any sizable effect on our results or not?"