Heterogeneous Open MPI

Committed a reasonably large patch to the Open MPI development trunk last night so that the datatype engine does a reasonable first approximation of the “right” thing in heterogeneous environments. Right now, it deals with endian differences and the differences in representation (size and such) of C++ bool and Fortran LOGICAL. Some work still needs to be done, such as dealing with different representations of long double values. The run-time environment and PML code had already been fixed up to be endian-clean. Still have one issue to fix in the run-time layer before mixing 32 bit and 64 bit code will work properly, however. Hopefully, that will come in the not too distant future.

This work won’t be part of Open MPI 1.0.2, but it should make it into some release down the line, most likely 1.1.

Knowledge Test Passage

Went over to BMG this morning to try to catch Willis and take the practice FAA knowledge test he gives all his students before he’ll sign off in their logbooks to let them take the FAA knowledge test. Did well enough to get the sign-off. Weather sucked, and I didn’t feel like working on my thesis proposal, so I made an appointment to go up to Greenwood and take the real deal. Didn’t ace it, but did well enough that it won’t be an issue. One less thing to do before I have my private pilot certificate.

Second Dual Cross-Country Flight

That’s right, after almost a month of having bad weather in my attempt to fly my second dual cross-country flight, I finally got up in the air today. According to the 1200Z (7:00am EST) TAF (1)for Bloomington Airport, it was going to be good visibility (6+ miles), with a cloud ceiling at 3500′ and winds under 6 knots. The ceiling was a bit low for enjoyment purposes, but well within what we can fly. Can’t pass up smooth air with low winds, so off we went.

Usually, the instructors at BMG don’t have student pilots file VFR flight plans for cross-country trips because we don’t fly in remote areas and the staff is going to initiate a search if we’re late in the rental anyway, so why risk forgetting to close a plan and starting a real search? Keep in mind it’s hard to be more than 2 miles from a human being in this part of the country, and this time of year, it’s really easy to spot the plane sitting in the middle of the field. Anyway, I’m going to be flying in the middle of nowhere this summer, since I’m going to be in New Mexico. I made Willis walk me through filing a flight plan for this trip, which was quite simple. But now I know what I’m doing, so I’m less likely to screw it up out west. With flight plan filed, we headed out to fly.

Today’s flight was Bloomington (KBMG) to Mattoon, IL (KMTO) via Terre Haute (KHUF), then direct to Lawrenceville, IL (KLWV), then direct back to Bloomington. So we headed out from BMG towards Terre Haute, climbing to 3000′ MSL. I messed up my VOR radials when I wrote them down, and was off by 180 degrees for the radial to fly on on the first half of the trip, when we were on Hoosier (the VOR at Bloomington). No biggie, and quickly fixed, but something to remember for next time. The flight was absolutely smooth for the trip to KHUF.

KHUF has an approach radar system, so I flew an ASR approach under simulated instrument conditions so that I would know what to do should I ever somehow end up in instrument weather conditions. Basically, the guy sitting in the approach room in the tower reads of compass directions and altitudes to guide you onto the runway, correcting your drift (or bad flying) by changing the compass heading you should be flying. I did ok, but was having trouble holding altitude and heading at the same time. I have about a 5 degree drift either way, which is not good for instrument conditions. I need to work on this with Willis in the plane sometime — I still need .5 hours of simulated instrument, so that won’t be a problem. The approach controller was excellent at guiding me to the runway – I was right where I needed to be when I was at decision height. Since we didn’t need to land at Huffman, we aborted the approach at that point and headed out to Mattoon.

Once we were out of the traffic pattern, Willis pointed out one of the reasons I was having so much trouble holding a course heading. 591’s directional gyro seemed to be losing accuracy when we were running at less than cruise power. The suction gauge was reading normal, so it must be something in the line after that gauge. With the foggles on, I can’t see the magnetic compass in 591 because it’s at the top of the windshield, so I couldn’t see this happening. Once we were cruising again, it seemed to hold course much better, and we were more careful to adjust to match the magnetic compass at regular intervals for the rest of the trip. We also found out that 591’s transponder seemed to not be sending it’s altitude information back to the radar center. They could see our transponder code, but not the Mode C (altitude) data. Hopefully, this can be fixed before my second solo cross-country flight, as I’d like to fly into Urbana, which would mean going into class C airspace, where I can’t get by with just a transponder. For those wondering why this wasn’t noticed at, say, the beginning of the flight, transponder codes are really only used when on instrument flight or when in Class B/C airspace (big airports, with commercial flights). 591 rarely goes there, so it just hasn’t been used since the last person flew an ASR approach in Terre Haute.

The first half of the flight from Terre Haute to Mattoon was uneventful, and was mainly spent chatting about planes with Willis. About half way to Matttoon, I went to switch from the Terre Haute VOR to the Mattoon VOR only to discover that there was no signal from Mattoon. Some quick checking showed we had the numbers right, so we had an unexpected problem. We called up flight services and found out that a NOTAM (2) had been issued that Mattoon VOR was off the air. Thankfully, the NOTAM had been issued after we left from Bloomington, so it wasn’t something I had missed when getting my pre-flight briefing this morning. Since we clearly weren’t going to use the Mattoon VOR to guide us to the airport, we got some GPS navigation time in during the flight. The airport was soon in sight, and I made a reasonable approach and landing. Because of our approach point, the pattern was a base with a 45 degree turn to final (instead of the normal 90 degree turn one might expect). It all worked out and I made a reasonably smooth approach and landing. The mattoon runway is more narrow than the others I’ve landed on, which didn’t seem to cause me any issues (which is good, because that’s one of the places you can get in trouble regarding depth perception).

From Mattoon, we headed out to Lawrenceville. Lawrenceville only has a terminal VOR, so we had to use some dead reckoning and GPS navigation to get us from Mattoon to the range of the terminal VOR (about 1/2 way there). Flight was basically uneventful and was more chatting about planes with Willis. He spent a good deal of that time trying to convince me I should buy a classic fabric skinned plane when I finally get a real job. I’m going to enjoy plane shopping, I think. Lawrenceville is the home of the Vincennes University aviation school, and the pattern was nice and full of student pilots. I had a little more trouble with the radio than I would have liked (I keep stuttering when I speak – need to stop that), but the pattern work, approach, and landing were all pretty good. Since everyone was doing touch-and-goes, we did the same. We needed to leave in basically the opposite direction we took off, so around the pattern we went and off we went.

Since the pattern was pretty full and we didn’t stop, I didn’t get a chance to get my bearings, refold my map for the next leg, or get the directions for the next leg until we were a bit away from the airport. Next thing I know, Willis turns off the GPS and tunes the VOR receiver to dead air so I’m back on pilotage and dead reckoning. Unfortunately, I didn’t know *exactly* where I was at the time, so that made life a bit tricky. I knew I was on course, so that limited it a bit. Unfortunately, I drifted a bit while trying to pinpoint my location on the map, so it took a bit to get things worked out. Soon, I found a landmark, got back on course, and was able to fly from there to Bloomington without any issue. But lesson learned – always be ready to lose the electronic navigation aids and have to revert back to map and compass.

For some unknown reason, I was way too high on approach to Bloomington. Even more weird since I flew two approaches at foreign airports without problem. But get back home and screw it up. I entered the pattern a bit before midpoint on downwind and was at pattern altitude at that point. I was a bit fast (but only by 5 knots or so) parallel to the end of the runway, still at the right altitude. I think I just didn’t begin the descent fast enough on the last bit of downwind, then flew a really short base for some reason (I drifted too far during the last part of the downwind), leaving me too high after I turned on final. I lowered the flaps to 40 degrees and flew a steep approach (god bless those Cessnas) to correct. Ended up hitting the IFR touchdown point on the runway, which is a bit long for my usual approach, but no biggie). There was a bit of a cross-wind, which I corrected for without too much issue. Made a nice one-wheel landing, kept her straight while the other wheel came down, and we were home. I wasn’t happy with the approach, but I was really happy with the landing. The cross-wind caught me a bit by surprise because it was the first wind I had dealt with all day and I wasn’t as ready for it as I should have been (hence the short base). But even with 40 flaps acting as a giant sail, I still made a nice smooth landing. There’s hope for my cross-wind landings yet.

All in all, a good flight. Learned a lot, and was able to correct some things I didn’t like about my flying the last cross-country. I now get to do two solo cross-country flights. One will be KBMG -> KMTO -> KLWV -> KBMG, so basically the same thing I did minus the Terre Haute approach. The next one gets to be my choice of destination. I’m hoping I can head to Urbana to have a quick lunch with Anne and then fly back. The time and distance both look like they’re almost spot-on for what I’ll have left. I also need to do some night flying, which I’m hoping to do next week, as there’s a new moon and Willis likes doing them when it’s *really* dark outside. After that, it’s just practice for my checkride and then do the checkride. Woo!

(1) TAF: Terminal Aerodrome Forecast. A report giving the weather prediction for the next 24 hours for the area within 5 miles of an airport. They are updated 4 times a day, at 0000Z, 0600Z, 1200Z, and 1800Z (7:00pm EST, 1:00am EST, 7:00am EST, and 1:00pm EST). They include things like predicted cloud cover and ceilings, visibility, precipitation, etc

(2) NOTAM: Notice to airman – a notice from the FAA that something is out of the norm. Things like hardware (VORs, runway lights, runways, etc.) being out of service, flight service stations being down, etc. are all published via NOTAM for the period that the issue exists. Other NOTAMs include flight restrictions, like listing the prohibited airspace that is setup when the president is out and about the country.

Open MPI quickies

Some random quickies on the Open MPI front that may or may not interest you…

  • Jeff has left the building. Well, Jeff left the building a long time ago, but he’s leaving IU really soon now to take a job a Cisco. More information on his blog.
  • The group has gotten a lot bigger lately. New members include:
    • Cisco Systems (who hired Jeff away from us to work on Open MPI)
    • Voltaire
    • Sun, who has a couple blog posts on the move here and here.
  • The one-sided implementation in Open MPI continues to be debugged, but I have high confidence it will be ready to ship as part of Open MPI v1.1. Woo hoo!
  • George has gone on a performance binge lately, which has resulted in much lower latency for all our interconnects and much better bandwidth for our shared memory transport.

Flight 24: First Cross-Country Flight

Flew my first cross-country flight today (note: not a solo – Willis was in the plane with me). Route was KBMG (Bloomington/Monroe Airport) to KRID (Richmond, IN airport) by way of Franklin, IN, then KRID to KOKK (Kokomo) direct, then KOKK to KBMG by way of North Salem. The two non-direct legs were to avoid the Camp Atterbury restricted airspace and Indianapolis International class C airspace, respectively. Total distance was 257 miles and total time in flight was a bit over 4 hours, although that includes two stops (Richmond and Kokomo) to warm up a bit before heading on our way.

Weather was reasonable, but cold. Winds aloft were 11 knots from 230 degrees at 300′ and 15 knots from 300 degrees. We cruised the first leg at 3500′ MSL and the second two at 3000′ MSL since we didn’t want to climb to 4500′ and fight an even less favorable wind. At 3000′, the outside air temperature was about 15 degrees Fahrenheit, and the heat in the Cessna 150 isn’t up to that fight, so we could see our breathe for a good chunk of the flight. Visibility was probably 20-25 miles when we started, but slowly got worse as the day went on. It was probably only slightly above 10 miles when we arrived back in Bloomington. Sky was clear for most of the flight, so we at least had some sun to try to warm up the plane. Indiana is still a bit dead, since it is winter and all, but the view was pretty impressive the whole flight. It’s amazing how many trees we have in this state.

Willis has his students do the first cross country flight by pilotage and dead reckoning, meaning no radio navigation and no GPS to help us on our way. Indiana has a decent number of roads and towns, so it’s not too bad – about every 5 minutes we had a landmark to verify our position. And the winds were calm enough that most of my estimates were +/- 1 minute arrival time. There’s no center console between pilot and copilot in the C-150, so it is a bit cramped trying to juggle sectional maps, a wiz-wheel, and the flight log sheets. It took some trial and error before I had a decent handle on the juggling act, but I was pretty comfortable with it in the end. I was worried about being able to do calculations on the wiz-wheel, as I can never figure out the complicated ones when I’m trying to practice with it. But since all I needed was basic time/distance/speed conversion and wind correction angles, it wasn’t too bad at all. And navigation by pilotage (ground reference) was much easier than I expected. After four hours in the air, however, I was extremely happy to spot the airport, and even happier to be able to make a direct approach from the north onto runway 17, skipping the whole time-consuming pattern thing. The warmth of the FBO was calling to me and 17 has dual color VASI lights, so it’s a pretty hard approach to screw up, even when not flying a downwind or base leg.

I’m not yet an expert in Google Earth, so I don’t know how to make perdy lines, but here’s a fairly simple map of our intended route. I didn’t have my GPS running while I was in the plane, so I don’t have a more accurate flight path. Maybe next time.

A couple of important lessons were learned during the flight, which I will hopefully remember in the future:

  • Always write down the runway configuration at airports you don’t know by heart when preflight planning. It’s kind of embarrassing to have to announce over the radio “7 miles to the southwest for a landing to the southwest” because you can’t remember if KRID’s runway is 23 or 24 (it’s 24, by the way).
  • Woven running gloves do not have enough grip to easily use a wiz-wheel.
  • N66591 cruises at about 110 *MPH*, not knots. Recalculating wind correction while trying to climb out of KBMG because you screwed this up is a pain.
  • If you don’t see chocks on the tarmac, look for them hanging on the fence before asking the FBO manager or he looks at you like you’re blind.

We’re done now, right?

Committed implementations of MPI_Win_lock and MPI_Win_unlock yesterday, which I believe are the last two functions from MPI-1 and MPI-2 for which Open MPI did not have implemented. Now all we have to do is make it bug free, make it go faster, and add a bunch of cool research projects so we can all graduate. Not necessarily in that order.

Flight 23: Turns about a point, Power-on stalls

Today was absolutely beautiful – clear skies, visibility of 10 miles, winds from 290 degrees at 10 knots. I was a little worried about the wind, as it’s close to the envelope of what Willis set as the wind maximums for my solo flights. I tracked down Willis and he said it sounded within reason to him, so off I went. I headed out to the west, where there are some good fields for doing ground reference maneuvers.

Once about 20 miles out, I worked on turns about a point. The wind was a little weird, but I think I made reasonable enough circles. On the trip back, I worked on power-on stalls some more. Much more comfortable with them than when I first started working on stalls. I think most of it has to do with my better use of the rudder and much more coordinated turning. Yay me! Worked in three touch-and-goes and the final full stop landing on runway 24, which were much smoother than my previous cross-wind landings.

I took my hand held GPS up with me today to record my flight and make perdy pictures. It reads altitude by pressure rather than 3 dimensional fix, so it isn’t as accurate as the properly installed GPS in 66591. However, it does have the nice property of making it easy to download tracks onto my laptop.

Flight profile from the top. The airport is on the right, the field with the turns about the point on the left.
Flight profile from the side. This view is from the North, so the airport is on the left and my ground reference work on the right.

[update:] A couple people have asked what the colors mean. They signify the current rate of climb. Positive climb is blue, negative climb is red, and level flight is white. The color intensity is stronger with increasing rates of climb.

Flight 21: Steep turns and fun

This morning was an absolutely beautiful flying day — 40 degrees, high pressure, 5 knot winds out of the North, and turbulence-free air. The only downside was that visibility was right at student solo minimums (5 miles), due to fog that formed after last night’s rain. Thankfully, the visibility remained on the right side of the 5 mile limit, so I never got in trouble with the visibility. But it was kind of spooky looking as the sun was coming over the horizon.

Flew out to the west for 15-20 miles, both to enjoy flying in the brilliantly smooth air and to get far away from Bloomington airspace so that there was minimal chance of traffic while I was working on steep turns. The haze was sitting fairly low to the ground, but I climbed to 3500′ to make sure that I was well clear of the haze and could see anyone pulling out of the haze and into my flight path (again, steep turns, as people don’t expect a plane to do that). The steep turns when much better than the first time i worked on them alone. I still had some trouble controlling speed, but it was overall much improved. I’ll probably work on one or two more turns the next time I”m out, then back to other fun things to work on (like turns about a point and rectangular ground tracks). It’s amazing how far I’ve managed to come since I started flying — I remember when controlling altitude and speed was difficult and trimming was near impossible. Now, I don’t even think about any of the three.

Four more hours of solo flight around Bloomington and it’s on to cross country flights!

Flight 20: Solo slow flight

Today was clear up to 12000′, a bit chilly, and surface winds of 8 knots out of the southeast. What I didn’t know was that winds at about 1800′ MSL and above were over 50 MPH. It made going where I wanted kind of entertaining. Most of the flight was over the lakes, working on my slow flight skills, Slow flight involves, as the name implies, flying very slowly — close to the stall speed of the plane. The plane’s airspeed was about 55 MPH, and the wind speed was definitely faster than that. So when heading directly into the wind, my ground speed was, um, negative. So when I looked out the window at the ground, I got to see the ground going the wrong way, which was a little disturbing. Made a couple nice landings at the end, so that makes me happy. Still floating a bit more than I would like, but nothing too horrible.

UPDATE: Changed title to be flight 20 after realizing I skipped the flight on Jan 16.