Wednesday 22 April 2015

The Atmosphere

After launching my first high altitude balloon, I began thinking about doing it again, but this time I'd like to get as high as possible. To achieve that, I turned my attention to the UKHAS records table and tried finding out more information about the highest flights. Hardware-wise the top ones have usually gone with a Hwoyee 1600g balloon and a payload as light as possible. But in this article, I'd like to address the atmospheric conditions. My first thought was to examine the conditions at ground. Will the balloon get higher if there's high pressure rather than low at the launch site? To answer my questions, I turned to Excel and did some modeling.
First, I prepared the Standard Atmosphere Model in steps of 250m for further calculations. The pressure and density charts are in logarithmic scales.
Then I defined the expected constants for my intended balloon. The balloon's weight of 1.6kg and 0.15kg for the payload. The balloon's burst diameter of 11m (as found on Random Solutions website for a Hwoyee 1600g). The drag coefficient of 0.3. Initially I used 0.47 for a perfect sphere, but that resulted in ascent speeds being too slow. Checking the Random Solutions' model, I found it used much lower coefficients of 0.25-0.3. In reality, the shape of the balloon evolves as the helium expands. Especially, in the case of lower amounts of helium, it takes some time before it creates a stable shape and even then it is something between a sphere and a drop. I guess the choice of the lower drag coefficient is based on experience and actual ascent data. The last constant for my model was the amount of helium. Or rather, it was a variable I intended to find. Then, second after second, I modeled the current ascent speed and balloon diameter until it reached the burst limit of 11m. For helium weighing 0.32kg the burst altitude was 41257m with the time to burst of 169.9 minutes. One of the factors to consider is the ascent speed. In this case, it starts at 2.7m/s and reaches 7.1m/s at the burst altitude, giving an average speed of 4m/s. Generally, it is recommended to aim for ascent speed of 5m/s to avoid the balloon going into float (maintaining altitude and not bursting). My goal, however, is to get as high as possible and since the balloon's burst altitude is dependent on the amount of helium inside it, I need to use as little of it as possible at the expense of ascent speed. And 4m/s should still be enough to avoid float.

Ascent Rate.xlsx this is the Excel spreadsheet I used for calculations.
After all of this, it occurred to me that the conditions at ground are basically irrelevant and what I should focus on were the conditions at high altitudes. But how to obtain the data? So I turned to Google again and stumbled upon this website http://weather.uwyo.edu/upperair/sounding.html. It collects raw sounding data from stations all around the world and allows one to access historical data. This data often reaches to +30km altitudes thus offering exactly what I had been looking for. I then found out the launch dates of the record flights and downloaded the data from nearby stations. It turned out, as expected, that all those flights took place on days with high pressure at +30km altitudes (higher than the Standard Atmosphere Model predicts).
Given the sounding data usually reach to pressure levels of down to 6hPa, I began collecting data of at what altitudes the pressure levels of 9hPa, 8hPa, 7hPa, 6hPa and occasionally 5hPa occurred during a given day. As a comparison, I used the atmospheric conditions of the BeloMondo10 flight that currently occupies the top of the ladder with 44379m. The values for BeloMondo10 were 9hPa at 32407m, 8hPa at 33224m and 7hPa at 34153m. The charts above show the situation during different months of the year. On a first glance one can say that the best time for an altitude attempt is during the summer months (the charts don't show the whole year, but I sampled the remaining months for the 'best' day as well and can confirm the claim). What is interesting is that the situation is very stable during the summer months while the winter months experience fluctuations. For example, this year's January at one point experienced a fluctuation that offered comparable conditions to the summer months due to the much lower temperatures during winter (Pressure is only a half of the equation. A gas' density depends on temperature as well.).
These charts show the temperatures at the 9hPa, 8hPa, 7hPa and 6hPa levels during the same months. The data for BeloMondo10 that are used as a comparison again are -36.6 at 9hPa, -35.7 at 8hPa and -34.5 at 7hPa. From the data above, one can expect that sometime in June the conditions will stabilize somewhere around the BeloMondo10 conditions. So that is more or less when I plan my next launch to take place. Meanwhile, I keep tracking the data to confirm (or invalidate) my expectations.
These charts were made for comparison to illustrate the possible magnitude of deviation of real data from the Standard Atmosphere Model at the same location. Standard Atmosphere is the blue line, the green line is February 11, 2015, the purple line is August 15, 2014 and the red line is the day of TT7's flight September 16, 2014. The pressure chart is in logarithmic scale and shows only altitudes from 20 to 40km.
Having access to data with all sorts of conditions, I wanted to model the burst altitudes with data from the most promising days. The problem I faced was that the data usually ended several kilometers lower than it was reasonable to expect the burst of a balloon with my parameters to be. To solve that, I had to come up with some way of extrapolating the conditions to higher altitudes. Regarding temperature, I simply took the last measured value and kept increasing it at the pace of the Standard Atmosphere Model for a given altitude. For altitudes above 32km the temperature increases 0.0028°C every meter. The pressure, on the other hand, turned out to be more complicated. I had to come up with a ratio to keep decreasing it at a reasonable pace. In the end, I put the curves side by side with the Standard Atmosphere's pressure values and tried fiddling with the ratio to visually replicate a similar curve progression.
The curves represent each time the 'best' day of a month for April, May, June, July, August, September and October 2014. Thick lines are the last data points from the actual soundings. Dotted lines show the extrapolated values and the red dash line is the Standard Atmosphere for comparison. For the earlier mentioned parameters of 1600g Hwoyee, 150g payload, 11m burst diameter and 0.32kg of helium, the model predicts burst altitudes between 41-41.5km and 40107m for April 8, 2014 where the conditions were still significantly worse.

Now, to address the still staggering gap of 3km to the present BeloMondo10's record. Apparently, Hwoyee used to make their balloons a little differently so they would surpass their declared burst diameters. That, however, should no longer be the case, so sadly I will have to hope at least for the modeled altitudes of 41-41.5km.
Once the pressure conditions rise to the stable summer levels, the only remaining problem concerning weather will be the wind speeds and directions for the consequent trajectory. The chart above uses once again the sounding data (wind speed and direction at individual altitudes) to construct a trajectory of a balloon ascending at a pace of 5m/s to an altitude of the last measured data (usually 30-35km). There are 60 curves representing the 0:00 and 12:00 soundings for each day in April 2014. The data show that an ordinary month offers a variety of directions and lengths of a possible balloon trajectory. This was an interesting information for me, because initially due to too small a sample of data, I was under the impression that the winds at +30km altitudes head always towards the East.
These charts show the same data from a different perspective. Each spike represents one sounding ordered from the first day of the month to the last. The first chart is the reached altitudes, the middle is the direct distances from the place of launch to the place of burst, and the last one is x and y coordinates of the modeled trajectories in meters. What these charts reflect is that there is usually a period of consecutive days with very similar conditions and that one can expect a desired trajectory to occur in a month (I did this with other months too. Not show here.). That is a useful finding for me, because the terrain towards the east of my launch site is not very suitable for a recovery. Hence, I'll be waiting for the western trajectories.
This chart shows 7 different days and their wind speeds at individual altitudes. I wanted to show that the atmosphere can be volatile even at the +30km altitudes. The following pictures should point this out more clearly.
These images come from a website I have recently come to really like http://earth.nullschool.net/. They nicely visualize the current wind speeds and wind patterns from all around the world in different altitudes. They are 1000hPa - basically the ground level, 850hPa - 1500m, 700hPa - 3100m, 500hPa - 5600m, 250hPa - 10500m, 70hPa - 18200m, 10hPa - 30500m. These are approximate altitudes that evolve in time.
This animation shows the slow evolution of the 10hPa level over the course of 11 days. The rate of change is not as violent as at the lover altitudes, but one can come across winds that may add significantly to the length of the trajectory.
Now, the previous visual data is amazing, but it serves more as a general information. For the actual launch, I rely on the CUSF Landing Predictor found here http://predict.habhub.org/. I have my expected values of 4m/s ascent speed, 41000-41500m expected (desired :-)) burst altitude that I use to daily model the trajectory for the upcoming days. However, for the actual launch I intend to make more predictions with varying values in case something doesn't go according to the plan, and blend them as can be seen above. A couple of different burst altitudes and ascent speeds simply to be able to flexibly adjust my expectations.

This is basically a summary of my daily routines ahead of my second HAB launch called TT7-40. As the name demonstrates the goal is clear :-).

One more thing I'd like to mention. I was advised to use hydrogen in case I wanted to attack the 40km barrier. However, for a few reasons including safety, I am staying with helium. But out of curiosity, I at least calculated one model using hydrogen and the result was about 500m higher burst altitude for the same balloon, payload and conditions in comparison with helium. This is of course just a couple of equations in Excel, so it would be interesting to hear about somebody's actual experience of launching one balloon with He and another one with H at the same time and commenting on the actual results.

Sunday 19 April 2015

The Air Traffic

From my experience, basically any talk about High Altitude Ballooning with someone uninitiated eventually wanders to a question about airplanes and the possibility of a collision. To understand an issue, I myself always like to see an illustration or a visualization of some kind to help me understand a problem, rather then just listen to or read a list of facts. For such reason, I decided to use the data I had from my last year's HAB, Google Earth and FlightRadar24's flights database, and make a visualization that would illustrate the situation with high altitude balloons.
Plotting the TT7's trajectory wasn't really a problem, because the Habitat database outputs telemetry data right in a KML file used by Google Earth. On the other hand, getting airplane data seemed a bigger issue. The first think to come to my mind was FlightRadar24, an awesome site with real-time air traffic coverage from all around the world. But how to get the raw data? After some time of googling, I found a blog article describing the inner workings of FlightRadar24's iPhone app and the way the app communicates with the main database. The article presented the structure of  URLs that the app uses and as a result receives raw air traffic data from a specific quadrant above the Earth. I personally used this one http://krk.fr24.com/zones/fcgi/poland_all.json to get the current data in my area. Now, since this way I could access only current data and the FlightRadar24's playback feature, as far as I know, provides only 2 weeks of history, I decided I'd get at least something. So the illustration uses air traffic data from Thursday April 16, 2015 and overlays it with TT7's trajectory from Tuesday September 16, 2014. Lacking a script or the ability to write one at that moment, I got the data the hard way. Every 5 minutes I would refresh the URL and save the data, then parse it into the proper KML format manually. In the end, I had the times and positions of more than 200 planes that over the duration of 3.5 hours entered a defined area.
The data is used in an animation that one can play, stop or replay while flying around and examining the scene from different angles and distances. I also made a tour KML file that when played with the animation at the same time takes care of the flying around and showing the scene from different perspectives.
A flat picture doesn't do the justice to the actual dynamics of the 3D space and the time factor involved, but at least to show something here, TT7 closing on the 10-12km altitude where most of the traffic takes place. A side view of the trajectory also nicely illustrates how small an area it is vertically where one might see some closer (still in the range of kilometers) approach.


For those who don't have, or don't want to bother with Google Earth, here is a video illustration from a few different angles. But I recommend downloading the KML files and playing with it yourselves.

TT7 High Altitude Balloon.kml
TT7 Air Traffic Tour.kml

The first file includes the animations. The second file makes the user's point of view fly a specific trajectory around the scene. Simply start the tour file and a couple of seconds later the animations.

Some thoughts for the future. I should explore the means of getting the FlightRadar24 data automatically. And I should also look into pulling the historical data from the database to have the actual air traffic data that will have taken place when I launch my next HAB. Grabbing data every 5 minutes manually while launching and tracking a balloon might be a little inconvenient :-).