예제 #1
0
파일: mlib.php 프로젝트: muthulatha/iem
function feels_like($tmpf, $relh, $sped)
{
    if ($tmpf > 50) {
        return heat_idx($tmpf, $relh);
    } else {
        return wcht_idx($tmpf, $sped);
    }
}
예제 #2
0
파일: wxc_rwis.php 프로젝트: muthulatha/iem
unlink("/tmp/wxc_ildot.txt");
// ------------------------------------------------
pg_close($nt->dbconn);
$nt = new NetworkTable(array("OH_RWIS", "IN_RWIS", "KY_RWIS"));
$cities = $nt->table;
$mydata = $iem->getNetwork(array("OH_RWIS", "IN_RWIS", "KY_RWIS"));
$rwis = fopen('/tmp/wxc_oh_in_kydot.txt', 'w');
$rwiscsv = fopen('/tmp/csv_oh_in_kydot.txt', 'w');
fwrite($rwis, "Weather Central 001d0300 Surface Data TimeStamp={$tstamp}\n  22\n   6 Station\n  52 CityName\n   2 State\n   7 Lat\n   8 Lon\n   2 Day\n   4 Hour\n   5 AirTemp\n   5 AirDewp\n   4 Wind Direction Degrees\n   4 Wind Direction Text\n   5 Wind Speed\n   5 SubSurface Temp\n   5 P1 Temp\n   5 P2 Temp\n   5 P3 Temp\n   5 P4 Temp\n   5 Pave Ave Temp\n   5 Wind Chill F\n   5 Heat Index F\n   5 Today High Temp F\n   5 Today Low Temp F\n");
fwrite($rwiscsv, "station,cityname,state,lat,lon,day,hour,airtemp,airdewp," . "drct,drcttxt,sped,subsurfacetemp,p1temp,p2temp,p3temp,p4temp," . "pavetemp,wcht,hidx,today_high,today_low\n");
$now = time();
while (list($key, $val) = each($mydata)) {
    $tdiff = $now - $val->db["ts"];
    // Heat index
    $relh = relh(f2c($val->db['tmpf']), f2c($val->db['dwpf']));
    $val->db["heat"] = round(heat_idx($val->db['tmpf'], $relh), 1);
    $val->db["wcht"] = round(wcht_idx($val->db['tmpf'], $val->db['sknt'] * 1.15), 1);
    if ($val->db['dwpf'] < -99.0) {
        $val->db['dwpf'] = 'M';
        $val->db['heat'] = 'M';
    } else {
        $val->db['dwpf'] = round($val->db['dwpf'], 1);
    }
    if ($val->db['tmpf'] < -99.0) {
        $val->db['tmpf'] = 'M';
        $val->db['heat'] = 'M';
        $val->db['wcht'] = 'M';
    } else {
        $val->db['tmpf'] = round($val->db['tmpf'], 1);
    }
    if ($val->db['tsf0'] == "") {