6.0.0-git
2024-12-07
Last Modified 2014-04-22 by Guest

Setting up the METAR weather block

The documentation on the METAR weather block as well as the PEAR Services_Weather module is not too extensive and user-friendly.

Here is how it works:

Prerequisites: install Services_Weather

You install the PEAR Services_Weather module as root from the command line:

pear install Services_Weather

then you change to your pear directory (usually /usr/share/php) and look for the data/Services_Weather directory
It contains a file buildMetarDB.php.

I assume you have the command line PHP interpreter installed and it's called "php" (some distributions call it "php5").

php buildMetarDB.php -a -u horde_db_user -p horde_db_pass -d horde_db
php buildMetarDB.php -l -u horde_db_user -p horde_db_pass -d horde_db

If database is not on localhost, you might add options -h <hostname> and -r tcp.

Note: I haven't yet found a way to use the METAR block if you use another database than the horde database.
The horde_db_user is often called "horde" and the horde_db is also often called "horde". If I knew all your passwords, I wouldn't tell you ;)

Now login to horde, go to the portal, choose METAR block and click the edit button in the upper right of the block.
The rest is self-explanatory click-and-play.

--Ralf Lang

Error message: Services_Weather: Sourcefile nsd_cccc not found!

While executing the above commands:

php buildMetarDB.php -a -u horde_db_user -p horde_db_pass -d horde_db
php buildMetarDB.php -l -u horde_db_user -p horde_db_pass -d horde_db

You may receive the error message:

Services_Weather: Sourcefile nsd_cccc not found!

The reason is that the file downloaded by buildMetarDB.php script is empty (0 byte file size) as of August,2 2010.
Fortunately, there are alternate working links to this file on this page as TXT or ZIP format instead of the 0 file size GZIP one: http://weather.noaa.gov/tg/site.shtml

So, you should modify line 273 in buildMetarDB.php file from:

if (extension_loaded("zlib")) { 

to:
if (extension_loaded("zlibXXXX")) { 

This way the file will be downloaded as TXT format which is not empty, and you metar tables will be filled with appropriate data.

-- Mathieu RV

I found that the script appeared to just silently fail downloading the files. Creates the db structures fine, but doesn't populate them, even with the change noted by Mathieu. I then went to the NOAA site mentioned above, wget the files, and once they are in the directory where buildMetarDB.php is, the script then works fine.

-- Simon W.

Rather than editting the php file, you can specify the NOAA file to use directly. So,

php buildMetarDB.php -a -u horde_db_user -p horde_db_pass -d horde_db -f "http://weather.noaa.gov/data/nsd_cccc.txt"
php buildMetarDB.php -l -u horde_db_user -p horde_db_pass -d horde_db -f "http://weather.noaa.gov/data/nsd_bbsss.txt"

--- Mike H.