GPS DriftCast (GPS Drift 2.0) Vastly improved landing location prediction based on winds aloft forecasts

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

dvdsnyd

Well-Known Member
Joined
May 9, 2012
Messages
455
Reaction score
279
Location
MN
Alright,
If any of you have followed or seen GPS Drift, an excel spreadsheet that helps you predict the landing location of your model and high power rockets. I wrote it back in 2021.

@MarsLander recently reached out about a weathercock addition to the sheet.
This was added and released - Thanks again @MarsLander for this implementation and idea!

Still I wasn't satisfied. I have never actually used the program to aid in launching rockets. It's just too clunky.
Manual inputs for the wind profiles dependent on a forecast website, usually Windy.com. Also dependent on another website to help create the kml files for viewing in Google Earth.
@Buckeye and I were discussing other options for getting forecast data easier in the original thread.
He mentioned possibly using the data file that a website called Winds Aloft provides.
Winds Aloft uses the NOAA Rucsounding model to generate the winds forecast, which goes up to 100,000 feet(It may go higher, but Mark's data is only available to 100K feet)
I reached out to Mark Schulze, the website owner to get a little more information and see if he could answer some questions. He is very enthusiastic and helpful, and told me that I can use an API call to get the data right off his website.
This was a game-changer. No more manual data entry for forecasts!

I set off working on the sheet/code. The project ballooned into a large VBA project, where most of the guts is VBA code instead of spreadsheet calculations in cells.
Admittedly, I used a lot of ChatGPT for some of the trickier elements. I'm blown away at how easy it is to get working code based on a few sentences describing your need.
I spent quite a bit of time arguing with ChatGPT as well :mad:

The beta version had multiple forecast files that the user would have to combine using the website GPS Visualizer. It worked ok, but still clunky.
I still wasn't satisfied. I really wanted to nix the dependency on GPS Visualizer. It's a great site, but I wanted to be able to write native KML files write out of Excel.

So that's what I did, with more help from ChatGPT. Ha!

Thus GPS DriftCast was born.
1713120146212.png


With just the inputs in green, we can generate up to 12 hours of forecast data, Only 6 shown in the example here for clarity.

The first output, which is actually prompted by the program for the user to open immediately after running is the Landing Scatter plot.
Pretty self-explanatory. Shows the potential landing points for for the wind forecasts grabbed off Winds Aloft.

The other output is the Flight Scatter plot, which shows the "flight" of the rocket and possible drift profile. This is a separate file. that is saved in the same location as the landing plot.
The file location is provided by the user. Second picture below. This one is not utilizing the weathercock feature.



1713120098284.png

1713120395159.png

This flight scatter is showing the weathercock feature. You can see the different apogee points due to the various wind profiles.

1713121447330.png


There's some other helpful information provided as well.
The At a Glance section shows the launch time, landing points and average surface winds up to a fraction of the apogee. These may need to be tamed down a bit. Also shown is the distance between the landing point and launch point.

The weathercock setting remains. However, to account for the changing forecast and unknown wind direction/speed, a table is employed.

The user will run 5 Rocksim/Open Rocket sims for the wind speeds given The result of the up range/wind distance will be put into the table.
The algorithm interpolates this table to get the weathercock distance from a calculated wind direction.

The main idea here is to be able to get a general idea of where your rocket may land. Sometimes the winds aloft are different than the ground level and will push your rocket in a direction you aren't anticipating.
Knowing the general location it could have landed will hopefully aid in recovery efforts coupled with radio tracking/GPS tracking. If it proves really valid, you may decide to not fly a rocket because it may end up landing in some trees or something of that nature.
The other use case is giving an idea of the landing location if a dual deploy rocket has a main at apogee event.

A general disclaimer, I make no claim that this is perfect, or even correct at this point. I have not been able to validate the results. I am hoping to give it a try this summer. I hope many of you will too! Please let me know any feedback you have!

I think that's about it.
Let me know your thoughts! Looking forward to seeing some people use and report back results!

Dave
 

Attachments

  • GPS DriftCast_1.5_Release.xlsm
    454.9 KB · Views: 2
I wish I could edit the original post.
Guess the version I posted a few days ago really wasn't ready for primetime....
Made a bunch of bugfixes and error handling improvements, especially for the issue that I've had a few reach out to me about regarding a compile error for x64 bit systems.
This should be resolved.

Thanks to a suggestion from @Buckeye, I updated the weathercock table to include apogee, as the apogee will likely change as the wind speed goes up. Apogee is interpolated similar to weathercock distance.

Please reach out with thoughts or questions!
Look forward to seeing how this works for everyone!
Dave
 

Attachments

  • GPS DriftCast_1.7_BugFix, Experimental.xlsm
    458.2 KB · Views: 1
This is an great tool and something I have been wanting for a few years, now. If I had a big flight planned, I would constantly be on the Windy app, manually iterating through the winds aloft forecasts days in advance and guessing where my rocket may end up. This worksheet does it all for you automatically and with proper calculations.

HPR waivers not only include altitude limits, but also horizontal limits. This tool will help keep your flight "in the cylinder" and on the property. ...and out of the trees.

The kml outputs are clean by default, unlike some other converters. The file of landing points vs. time is a nice, simple view of the potential scatter.

This is a nice post-processing output for RockSim and OpenRocket, but way more useful than a 2d graph of landing range! I'd say this is better than Apogee's Launch Visualizer in that it retrieves multiple winds aloft for you in real time, rather than manually typing one-by-one in a wind table. Plus, it is free!

Excellent work, @dvdsnyd!
 
I've tried the Excel Macro a few times and I always get wind speeds of 22 mph for my site ( AARG Apache Pass )...

Am I doing it wrong ?

I tried overriding the red surface wind speeds with actual history from Weather Underground but when I pressed [ Run ... ] the wind speeds reverted to 22 mph.

I also tried Include Weathercock ... [True] and [False] and it still overwrote wind speeds.

-- kjh

GPS-DriftCast-screenshot.png

EDIT: p.s. I tried the previous version over the weekend and it did the same ...
 
I've tried the Excel Macro a few times and I always get wind speeds of 22 mph for my site ( AARG Apache Pass )...

Am I doing it wrong ?

I tried overriding the red surface wind speeds with actual history from Weather Underground but when I pressed [ Run ... ] the wind speeds reverted to 22 mph.

Your date is April 7. Did you mean April 17? I am not sure the wind forecaster goes back in time that far.

Only fill out the input green cells on the left and click the Run button. The right side is populated with results.

Here is your 7 hour forecast for today:

1713373638830.png

1713373689529.png
 
Your date is April 7. Did you mean April 17? I am not sure the wind forecaster goes back in time that far.

Only fill out the input green cells on the left and click the Run button. The right side is populated with results.

Here is your 7 hour forecast for today:
Thanks @Buckeye !

I had actual flight data for an Apr 7 launch at Apache Pass so I wanted to compare the sim to reality.

I only fooled with the wind speed on the right side when the Apr 7 wind speeds all pegged out at 22 mph.

I selected tomorrow for the launch date and it worked !
gps-drift-C404180screenshot.png
GEPro-apachepass-C40418-scatter.png

Thanks for the feedback !

-- kjh
 
I use this site interactively: Advanced Converter > Find altitude by coordinates to grab the MSL altitude of my launch pad.

I wonder if they have an API ( hint, hint )

-- kjh

And I have been using an Android App: GPS Map Camera to take a picture of my rocket on the pad:

20240407_110038AMByGPSMapCamera.jpg

And after landing:
20240407_114540AMByGPSMapCamera.jpg20240407_114501AMByGPSMapCamera.jpg

So even without a GPS tracker, I hope to someday maybe convert the Blue Raven quaterion quaternion data to a kml ... ( edit -- I can't spell quaternion )
 
Last edited:
I use this site interactively: Advanced Converter > Find altitude by coordinates to grab the MSL altitude of my launch pad.

I wonder if they have an API ( hint, hint )

-- kjh

And I have been using an Android App: GPS Map Camera to take a picture of my rocket on the pad:

I like that GPS camera app. I will give it a try.

Hint: In Google Earth Pro, you can get lat, lon, and elevation all in one go. Hover the cursor over your desired location and read the bottom right corner.

1713394628934.png
 
I use this site interactively: Advanced Converter > Find altitude by coordinates to grab the MSL altitude of my launch pad.

I wonder if they have an API ( hint, hint )

-- kjh

And I have been using an Android App: GPS Map Camera to take a picture of my rocket on the pad:

View attachment 641126

And after landing:
View attachment 641127View attachment 641128

So even without a GPS tracker, I hope to someday maybe convert the Blue Raven quaterion quaternion data to a kml ... ( edit -- I can't spell quaternion )
That's a pretty cool camera app. I'll have to see if there is something like that for ios.

Haha! I actually have code that grabs the elevation from a site called Open-elevation.com.
I didn't really like the result from the site though. For my launch site. Open Elevation gives 817 ft. vs, Google Earth(Like Buckeye mentioned) provides 833.
Probably not a huge deal, maybe I'll implement it.

Dave
 
Drats, I wanted to avoid a bunch of files being uploaded. Ah well...

Latest version attached below!!!
Really appreciate the feedback!


@kjhambrick

I gotchu... Updated the workbook to implement the Get Elevation API through Open Elevation.
My original idea, was to grab this each time the program was run, but think it is better to have it as an option instead as implemented here.
Added some error handling
 

Attachments

  • GPS DriftCast_1.75_Release.xlsm
    460.9 KB · Views: 3
WoW !!!! This is the most awesome recovery tool I have ever used !!! Well Done !!!!!

(Now can you get it to work 3 days out ????? :) )
Thanks Finicky,

Believe me, I want it to work for forecasts out further as well, and there may be a way, but it isn't without compromise.
Right now, I am grabbing the Raw forecast from Winds Aloft. This gives data up to almost 100kft.
There is an interpolated data set that goes up to 40kft.
The issue I have with this, is that the resolution is in 1000ft increments.

A little behind the scenes here,

This is the the URL that I "build" given the user input data. For Example this is for my launch site in MN.
Fairly self-explanatory I think.
The lat, lon go where they need to go in the URL.
The hourOffset is what sets what forecast to grab.
For example, here it is 72.
GPSDRIFTCAST is the referrer, which helps Mark understand the server traffic.
When this url is put into chrome, you'll get a big block of text.
There should be a "pretty print" option in the upper left hand side, which parses that data into a JSON format.

https://windsaloft.us/winds.php?lat=45.546058&lon=-92.924640&hourOffset=72&referrer=GPSDRIFTCAST
Here's a screen cap of the data in chrome:
1713444412274.png

If you put in any other offset, such as 75, or whatever, Even if you put something closer to 45, the limit in GPS DriftCast, you get the same data. So it just appears to be junk.
Same thing in past forecasts, which is why I think kjhambrick was getting the same forecast when trying to call forecasts from last weekend.


Compare the above to a normal data set call here: hourOffset= 42.

1713444367573.png

I need to try to look at calling the API directly, or possibly going to Open-Meto, but that is going to require quite a bit more time.
I will reach out to Mark of the WindsAloft site, to see if he has any ideas.

Hope this helps to understand the limitation. I'm not going to lie, I'm pretty bummed about it. Ideally I'd like to start looking at forecasts a week out. Min 3 days out, that's when forecasts start getting much more believable and accurate.

Dave
 
As my grandfather was know to say, "Beggars can't be choosers". :)

No complaints here !!! I'm totally fine playing the mental 3D chess game with Windy.com until I'm within 45 hours of launch. The crazy thing is I'm already excited to get to tomorrow morning so I can see the predictions for flights at URRG on Saturday. It's like waiting for X-mas to come LOL.
 
As my grandfather was know to say, "Beggars can't be choosers". :)

No complaints here !!! I'm totally fine playing the mental 3D chess game with Windy.com until I'm within 45 hours of launch. The crazy thing is I'm already excited to get to tomorrow morning so I can see the predictions for flights at URRG on Saturday. It's like waiting for X-mas to come LOL.
Haha, Awesome! Please report back with results. if you can.
Would be great to see the prediction with the actual result to get an idea as to the validity of all this.
It's going to be a bit longer before I get to fly anything...provided I'm even ready - so many other non-rocketry related things going on. All my rocket time as of late has been poured into this brain-child that is GPS DriftCast
I'll have to live vicariously through others for a bit longer :)
Dave
 
I wish I could edit the original post.
Guess the version I posted a few days ago really wasn't ready for primetime....
Made a bunch of bugfixes and error handling improvements, especially for the issue that I've had a few reach out to me about regarding a compile error for x64 bit systems.
This should be resolved.

Thanks to a suggestion from @Buckeye, I updated the weathercock table to include apogee, as the apogee will likely change as the wind speed goes up. Apogee is interpolated similar to weathercock distance.

Please reach out with thoughts or questions!
Look forward to seeing how this works for everyone!
Dave

This is an important development; you have accomplished something extraordinary. Something for which I would be willing to pay, once beta testing is accomplished.

Recognizing that my interest is “peculiar” I’m wondering if winds estimates exist for above 100k feet and if so, to what maximum altitude.

I, like others, would also be interested in the ability to grab and use historical data—specifically the highest and lowest annual wind cases—to allow for FAA maximum range estimating for obtaining Certificates of Authorization (waivers).

This is remarkable work, thanks for the effort,

Bill
 
**LATEST FILE BELOW**

For those(@Finicky) wanting forecasts that go beyond 45 hours, I got you...
I spoke with Mark of Winds Aloft, and there was an error that he fixed. Data is now available for 16 days or about 380 hours.
I had to re-write quite a bit of the functions that parse the response string from the call to his website to accommodate this as well.

The caveat...
Forecasts beyond 45 hours use Open-Meteo for the forecast source. I understand this to be the GFS model, which is a longer-range forecast, but may not be as accurate.
The Open-Meteo forecast data is also a little bit more granular than the RAP model.

The forecasts 45 hours and in are from the NOAA Rapid Refresh (RAP/OP40) forecast model. This is supposed to be the most accurate forecast, which makes sense given it is a fairly short-range model.
The RAP model provides wind data up to about 32km or roughly 105,000 ft.

Open-Meteo can provide data up to about 22km, or roughly 70,000ft.
Unfortunately, the skydivers that Mark intended his site to be for really only use the models to about 40,000ft. So anything using the Open-Meteo forecasts will be capped at 40,000 ft for now.
He did tell me that he has plans on updating the site to grab the higher elevations...
But, Mark is a busy guy and self-employed at that. He said he could be persuaded to potentially do it quicker. So, if this is something you want, send me your really cool projects that will be flying over 40,000ft that could benefit from this data :p

Ok, in summary, the program/sheet has been updated.
I also found a bug where I was calculating the weathercock/surface level wind average incorrectly. It was artificially high.
So even if you don't want the updated longer-range forecast modelling, go ahead and download the new version for that bugfix!

Again, sorry for the multiple versions. Wish there was a better way to update these threads. Maybe I'll reach out to a mod.

Thanks for all the kind comments, they are what keep driving me to make these improvements.
I am really looking forward to seeing some data come back to help show some validity/drive changes to the algorithm.
Dave
 
Last edited:
I'm trying to run sims for 10am tomorrow morning on the 26th and I get an error cannot forcast more than 12 hours into the past but the date is for the 26th begining launch window 10am. I can run 11am but can't run anything before that
 
I'm trying to run sims for 10am tomorrow morning on the 26th and I get an error cannot forcast more than 12 hours into the past but the date is for the 26th begining launch window 10am. I can run 11am but can't run anything before that
That’s right, there is still a limit on how far in the past you can get data from.

I’m not sure how accurate the time stamp is in posts here, but if you posted this at1:44am, it would have been the 27th already. 12 hours before then would have been 1:44 pm on the 26. From the sounds of it, you were trying to get to 10am on the 26, which is more than 12 hours in the past from your current time, like the program was alerting you to. I think your intention was to be forecasting for April 27 or April 28 at 10am.
Hope this helps.
Thanks,
Dave
 
Last edited:
Hahahaha.. man ive been burning the wick on both ends lately....it was before midnight here but you're right I kept putting in the 26th but meaning to put the 27th.... I wanted to cert on my birthday yesterday but the rain and wind wasn't the best.. im pretty sure that's why I got stuck on the 26th.
 
Last edited:
Well there's a reason I'm not a software developer....
I missed some error handling that prevented the program from running past 45 hours...
Since I was already in the sheet, I made a couple of quality of life changes....depending on who you are...
- I updated the sheet to use a table of launch sites. You can have up to 10. Pick the site from the drop down list after updating the table
- I changed the confusing True/False main event/weathercock options to more literal options via drop downs
- Because of the first change, I removed the Get Elevation macro. The user should have Google Earth Pro, and it is easy enough to grab the lat/lon/lat through that. (Sorry @kjhambrick)


Sorry about all the changes and mistakes. Hate having all these extra files floating around. Just trying to get the best program out there for everyone.

Dave
1714236843845.png
 

Attachments

  • GPS DriftCast_1.8.xlsm
    1.1 MB · Views: 0
Back
Top