JesseWeather

jesse

Touchdown! Greaser!
Joined
Oct 2, 2005
Messages
16,086
Location
...
Display Name
Jesse
Home Airfield
...
I just built: http://www.jesseweather.com which provides some trending weather graphs for weather stations.

You can also get graphs going back in time to a date range you specify.

(Since I just wrote it last night -- it only has 1 day worth of data. But that'll build over-time).

Primarily wrote it so I'd have easy access to historical weather data. (I always want to look at it when reading NTSB reports).

There are probably bugs. YMMV.
 
Jesse, you are so dense, and you lack initiative and drive.

When are you going to stop sitting around and do something with your life?

Any hiring manager knows that you can't write a site like that overnight without a college degree. He must have cheated.
 
Any hiring manager knows that you can't write a site like that overnight without a college degree. He must have cheated.

It requires the participation of the technical representatives of a minimum 15 technology areas who will only join the project if the proper unique form is completed and approved to request participation, with two project leaders, 2-3 portofilo managers and a minimum of 45 days duration not including the time it takes to get funding approval from financial governance, and that's if the project gas been deemed as a high priority project by upper management...at least 2 times daily, preferably more often, during which you must ask the architect who must design to meet constantly changing directives and standards if he's done yet and remind him how important and high visibility the project is.

Or is that just my life?
 
Last edited:
It requires the participation of the technical representatives of a minimum 15 technology areas who will only join the project if the proper unique form is completed and approved to request participation, with two project leaders, 2-3 portofilo managers and a minimum of 45 days duration not including the time it takes to get funding approval from financial governance, and that if the project gas been deemed as a high priority project by upper management...at least 2 times daily, preferably more often, during which you must ask the architect who must design to meet contantly changing directives and standards if he's done yet and remind him how important and high visibility the project is.

Or is that just my life?
Incompetence doesn't require a specific process. In many companies I've seen, the same would be accomplished by some middle manager proclaiming that "we're agile" (whatever that means) and then running the product into the ground. But hey, they're "agile", so they must be doing it right.

Sigh....

Maybe we need a thread about this. Nice weather tool, btw. :)
 
Jesse Angell was founded on the premise that a diversification of capital into various business ventures, not necessarily related, best advances the interests of the company, its owners and the public while providing unparalleled customer attention. In order to exceed expectations, Angell embraces proven and leading edge business process improvement methods including Lean Six Sigma, Ble Ocen Strategy and http://www.martinaviationgroup.com/tt49.htmlLEED (Leadership in Energy and Environmental Design) Standards.
 
Very cool. What language did you write it in? And what library did you use for the graphs?
 
Very cool. What language did you write it in? And what library did you use for the graphs?
It is written in PHP 5 on the Kohana framework using the JpGraph library for graphing.
 
Joe,

Yes. I'm using those cycle files -- well actually I'm parsing them and storing them in tables...

I'll take them if you can give me some way to download them.
Now I really want them :) I just googled all over trying to find them..but I can't.

Anyone know where I can get the NOAA metar cycle files going back at least a year, preferably more?
 
Looks REALLY good, Jesse! A couple of suggestions.
1) I think you said that the times were in Zulu. Probably should note that on the graphs somewhere.
2) For wind direction, it would make it easier to interpret if you used (or at least noted) the cardinal headings instead of every 50 degrees.
3) No reason to include seconds on the axes. And the yead could probably be shortened to 2 digits! :)
4) You give units for most of the axes except pressure. It's obvious, but... (I agree, wind direction doesn't need units) :)
5) Be nice if you could enter another location without having to hit the Home tab.

And an enhancement: If you have data containing the name of the location (and knowing you, you have it somewhere!), print that as a double-check that they entered the right identifier. Also, display the date/time of the most recent data pull so the user knows how fresh the data are.

And the first bug report:
The View Station button at the bottom of the ViewStation page appears to insert another /weather/viewStation/ into the URL, which causes an "invalid station" message. Not sure what the purpose of that button would be in any case.
 
Last edited:
Looks REALLY good, Jesse! A couple of suggestions.
1) I think you said that the times were in Zulu. Probably should note that on the graphs somewhere.
2) For wind direction, it would make it easier to interpret if you used (or at least noted) the cardinal headings instead of every 50 degrees.
3) No reason to include seconds on the axes. And the yead could probably be shortened to 2 digits! :)
4) You give units for most of the axes except pressure. It's obvious, but... (I agree, wind direction doesn't need units) :)
5) Be nice if you could enter another location without having to hit the Home tab.

And an enhancement: If you have data containing the name of the location (and knowing you, you have it somewhere!), print that as a double-check that they entered the right identifier. Also, display the date/time of the most recent data pull so the user knows how fresh the data are.
I'll look into implementing some of that. I have some other ideas too like comparing two airports.

Any other weather graphs that could be useful and generated based on METAR data? I thought about doing a visiblity chart..and I probably will..It's just a PITA due to all the ways visibility can be reported in a METAR.

And the first bug report:
The View Station button at the bottom of the ViewStation page appears to insert another /weather/viewStation/ into the URL, which causes an "invalid station" message. Not sure what the purpose of that button would be in any case.
fixed.
Code:
--- old 2009-08-16 14:52:35.000000000 -0500
+++ new 2009-08-16 14:52:26.000000000 -0500
@@ -52,7 +52,7 @@
                         <a href="/">Home</a>
                         <? else : ?>
                         <a href="/">Home</a>
-                        <a href="<?= url::current() ?>">View Station</a>
+                        <a href="/<?= url::current() ?>">View Station</a>
                         <? endif; ?>
                     </p>
                     <!-- end footer -->
 
I'll look into implementing some of that. I have some other ideas too like comparing two airports.

Any other weather graphs that could be useful and generated based on METAR data? I thought about doing a visiblity chart..and I probably will..It's just a PITA due to all the ways visibility can be reported in a METAR.


fixed.
Code:
--- old 2009-08-16 14:52:35.000000000 -0500
+++ new 2009-08-16 14:52:26.000000000 -0500
@@ -52,7 +52,7 @@
                         <a href="/">Home</a>
                         <? else : ?>
                         <a href="/">Home</a>
-                        <a href="<?= url::current() ?>">View Station</a>
+                        <a href="/<?= url::current() ?>">View Station</a>
                         <? endif; ?>
                     </p>
                     <!-- end footer -->

Ceilings/layers. Abscissa is time, ordinate shows the altitude. Put a grey or white line at the altitude. Use another line and the right axis for coverage maybe?
 
Last edited:
Really Neat!! Can it pick up the Peak Wind statement from remarks when present?
 
How about a density altitude graph? I guess one could interpret one based on the fact that there is a barometric pressure and a temp. graph, but it would be a cool feature.
 
How about a density altitude graph? I guess one could interpret one based on the fact that there is a barometric pressure and a temp. graph, but it would be a cool feature.

That would be a cool addition to the baro pressure graph, as an additional Y-axis.
 
It is written in PHP 5 on the Kohana framework using the JpGraph library for graphing.

Out of curiosity why did you choose to use Kohana. This is the first I have heard of Kohana, and I am wondering why you like it over well-established frameworks like codeigniter?
 
Ceilings/layers. Abscissa is time, ordinate shows the altitude. Put a grey or white line at the altitude. Use another line and the right axis for coverage maybe?
Ceilings are added. I might do layers at some point. Figuring out how to graph ceilings is tricky because they (sometimes) change dramatically between reports. Clear is all the way to the top. The blue is the ceiling.
 
Out of curiosity why did you choose to use Kohana. This is the first I have heard of Kohana, and I am wondering why you like it over well-established frameworks like codeigniter?
Well it is based on Code Igniter. At one point a group forked Code Ignitier and it has since evolved from there. It's been completely re-written now.

It has been a year since I last looked at Code Igniter so I can't really speak to what it is today. At the time it wasn't being updated that much and Kohana just seemed worlds better from an OO perspective. Some of the differences at that time were:
  1. Strict PHP5 OOP. Offers many benefits: visibility protection, automatic class loading, overloading, interfaces, abstracts, and singletons.
  2. Kohana has joined the GoPHP5 initiative. All releases from 2.2 on will conform with this project.
  3. Continues CodeIgniter design patterns. Anyone who has used CodeIgniter will quickly understand Kohana’s structure and design patterns.
  4. Community, not company, driven. Kohana is driven by community discussion, ideas, and code. Kohana developers are from all around the world, each with their own talents. This allows a rapid and flexible development cycle that can respond to bugs and requests within hours, instead of days or months.
  5. GET, POST, COOKIE, and SESSION arrays all work as expected. Kohana does not limit your access to global data, but offers the same filtering and XSS protection that CodeIgniter does.
  6. Cascading resources, modules, and inheritance. Controllers, models, libraries, helpers, and views can be loaded from any location within your system, application, or module paths. Configuration options are inherited and can by dynamically overwritten by each application.
  7. No namespace conflicts. Class suffixes, like _Controller, are used to prevent namespace conflicts. This allows a User’s controller and Users model to both be loaded at the same time.
  8. True auto-loading of classes. This includes libraries, controllers, models, and helpers. This is not pre-loading, but true dynamic loading of classes, as they are requested.
  9. Helpers are static classes, not functions. For example, instead of using form_open(), you would use form::open().
  10. Library drivers and API consistency. Libraries can use different “drivers” to handle different external APIs transparently. For example, multiple session storage options are available (database, cookie, and native), but the same interface is used for all of them. This allows new drivers to be developed for existing libraries, which keeps the API consistent and transparent.
  11. Powerful event handler. Kohana events can by dynamically added to, replaced, or even removed completely. This allows many changes to Kohana execution process, without modification to existing system code.
 
It could. What is the format for that?

[FONT=Monospace,Courier]KAAF 162251Z AUTO 16027G36KT 2 1/2SM VCTS RA BR FEW016 BKN021 OVC042 26/24 A2995 RMK AO2 PK WND 17045/2207 LTG DSNT SW TSB45RAB08 P0014 $

In the remarks section -

PK WND 170 Degrees at 45 Knots occcurred at 2207
[/FONT]
 
Very cool, Jesse.

Suggestion:

Include the current METAR at the top.

Also, for stations which are not "K" airfields (ie, T82), you have to slap a "K" on the front to make it work. Hard to fix?
 
Just looked at my nearest reporting station data.

It appears the time line is non-linear.

Could be just my nearest reporting station is non-linear.
 
Just looked at my nearest reporting station data.

It appears the time line is non-linear.

Could be just my nearest reporting station is non-linear.
That's very likely the case- METARs can be updated more than once per hour if conditions change, for example for a rapidly changing altimeter.

The raw data should let you know if that is the case.
 
Just looked at my nearest reporting station data.

It appears the time line is non-linear.

Could be just my nearest reporting station is non-linear.
Hmm.. That may be possible -- click the "raw data" button at the top to see the metars it used. If the graph doesn't match the metars let me know -- I'm still tweaking the code that parses them.
 
Just looked at my nearest reporting station data.

It appears the time line is non-linear.

Could be just my nearest reporting station is non-linear.
Looking into this more -- good point -- it is very much non-linear. I am working on making it linear.
 
The graphs should be linear now. This took a little trickery but it should be accurate and still uses all the reported metars.

I also added a visibility graph and have some other graphs in my head still coming yet.

There is a bug right now where the first time on the graph is the epoch time. I haven't figured out why yet.
 
That's pretty cool Jesse! My only comment is that wind is pretty hard to show on a graph like that. I mean the difference in direction between 350 and 360 (0) isn't much but on the graph it looks like there's a huge difference, visually. I also noticed that when the wind is reported at 0 knots the direction also shows up as 0. Look at KAPA for a good example.

attachment.php


Maybe you could have wind-barb-like indicators going across the top for every hour? They wouldn't need the feathers since you already know the speed. I guess that might be hard to implement, though.
 

Attachments

  • ScreenHunter_01 Aug. 17 21.52.gif
    ScreenHunter_01 Aug. 17 21.52.gif
    18.2 KB · Views: 98
That's pretty cool Jesse! My only comment is that wind is pretty hard to show on a graph like that. I mean the difference in direction between 350 and 360 (0) isn't much but on the graph it looks like there's a huge difference, visually. I also noticed that when the wind is reported at 0 knots the direction also shows up as 0. Look at KAPA for a good example.

attachment.php


Maybe you could have wind-barb-like indicators going across the top for every hour? They wouldn't need the feathers since you already know the speed. I guess that might be hard to implement, though.

Yeah. The direction indication really is a problem. I'm trying to come up with a good way to fix it.
 
The 0 knot problem could be dealt with by a discontinuous graph, dropping out those sections of direction where the speed is 0. I agree that showing wind direction on this sort of graph is very difficult.
 
Back
Top