SMOG: Dati Mensili

Mese: $mese, anno: $anno

“;
// INPUT: $mese, $anno che riceve dal form di index.php

// controlla se ci sono dati o se unda data futura o se il mese in corso
$dataoggi=date(“Y-m-d”,time());
$giornoattuale=substr($dataoggi,8,2);
$meseattuale=substr($dataoggi,5,2);
$annoattuale=substr($dataoggi,0,4);

$mese=trovaMeseNumero($mese); // trasforma il mese da lettere in numeri

if (($mese==””) or ($anno==””)) { // DATI NON INSERITI
echo “

Per visualizzare i grafici mensili è necessario
scegliere nella pagina precedente
un valore per il mese ed uno per l’anno!

“;
exit;

}
else if (substr($mese,0,9)==”scegliere” or substr($anno,0,9)==”scegliere”) { // non è stata inserita alcuna data
echo “

Per visualizzare i grafici mensili è necessario
scegliere nella pagina precedente
un valore per il mese ed uno per l’anno!

“;

exit;
} else if ( ( ($mese > $meseattuale) and ($anno==$annoattuale) ) or ($anno>$annoattuale) ) { // mese non ancora disponibile
echo “

E’ stato richiesto il bollettino di $mese – $anno ma i dati non sono ancora disponibili

“;

exit;

}

$mesi=array(”,’gennaio’,’febbraio’,’marzo’,’aprile’,’maggio’,’giugno’,’luglio’,’agosto’,’settembre’,’ottobre’,’novembre’,’dicembre’);

?>

Schede Mensili:

>>>>>>>>>>>>>>>
include (“smog/sersto/includes/conn.inc.php”);
include (“smog/sersto/includes/jpgraph/jpgraph.php”);
include (“smog/sersto/includes/jpgraph/jpgraph_bar.php”);

$mesi=array(”,’gennaio’,’febbraio’,’marzo’,’aprile’,’maggio’,’giugno’,’luglio’,’agosto’,’settembre’,’ottobre’,’novembre’,’dicembre’);
$ug_mese=array(0,31,$feb,31,30,31,30,31,31,30,31,30,31); // lo 0 all’inizio per usare l’array con il numero del mese
$anni=array($anno,$anno-1,$anno-2);

/////////////////////// trova l’ultimo giorno del mese ed usa lo stesso per tutti gli anni // PROBLEMA CON FEBBRAIO ??
$MESEINCORSO=0; // flag
$ug=UltimoGiornoMese($mese,$anno);
if ($ug < $ug_mese[$mese] ) { $MESEINCORSO=1; } // salva $ugx per stamparlo dopo if ($MESEINCORSO) echo "

MESE NON ANCORA TERMINATO
tutte le statistiche sono calcolate fino al $ug-$mese

“;

// <<<<<<<>>>>>>>>

for ($i=0;$i<3;$i++) { $xanno=$anni[$i]; //$ug=UltimoGiornoMese($mese,$xanno); $iniziomese=mktime(0,0,0,$mese,1,$xanno); $data_iniziomese=date("Y-m-d",$iniziomese); $finemese=mktime(0,0,0,$mese,$ug,$xanno); $data_finemese=date("Y-m-d",$finemese); $q = "SELECT AVG(arcella) FROM smog_pm10 where data>= \”$data_iniziomese\” and data<=\"$data_finemese\" and arcella<> 0 “;

$result = @mysql_query($q) or scrivimail(“Query per calcolo media mese arcella fallita : ” . mysql_error());
if ($m = mysql_fetch_row($result)) {
if ($debug) echo “$q
media arcella:$m[0]
“;
$media_arcella[$i]=number_format($m[0],1);
if ($debug) echo “$q $media_arcella[$i]
“;
}
else scrivimail(“errore nel calcolo della media mese arcella “);
// if ($ug < $ug_mese[$mese] ) { $MESEINCORSO=1; $ugx=$ug; } // salva $ugx per stamparlo dopo } // <<<<<<<< media mese mandria >>>>>>>>>

for ($i=0;$i<3;$i++) { $xanno=$anni[$i]; //$ug=UltimoGiornoMese($mese,$xanno); $iniziomese=mktime(0,0,0,$mese,1,$xanno); $data_iniziomese=date("Y-m-d",$iniziomese); $finemese=mktime(0,0,0,$mese,$ug,$xanno); $data_finemese=date("Y-m-d",$finemese); $q = "SELECT AVG(mandria) FROM smog_pm10 where data>= \”$data_iniziomese\” and data<=\"$data_finemese\" and mandria<> 0 “;
$result = @mysql_query($q) or scrivimail(“Query per calcolo media mese mandria fallita : ” . mysql_error());
if ($m = mysql_fetch_row($result)) {

if ($debug) echo “$q
media mandria:$m[0]
“;
$media_mandria[$i]=number_format($m[0],1);
}
else scrivimail(“errore nel calcolo della media mese mandria “);
}
// <<<<<<<< media mese citta >>>>>>>>>
for ($i=0;$i<3;$i++) { $xanno=$anni[$i]; //$ug=UltimoGiornoMese($mese,$xanno); $iniziomese=mktime(0,0,0,$mese,1,$xanno); $data_iniziomese=date("Y-m-d",$iniziomese); $finemese=mktime(0,0,0,$mese,$ug,$xanno); $data_finemese=date("Y-m-d",$finemese); $q = "SELECT AVG(mediacitta) FROM smog_pm10 where data>= \”$data_iniziomese\” and data<=\"$data_finemese\" and mediacitta<> 0 “;
$result = @mysql_query($q) or scrivimail(“Query per calcolo media mese mediacitta fallita : ” . mysql_error());
if ($m = mysql_fetch_row($result)) {
if ($debug) echo “$q
media citta:$m[0]
“;
$media_citta[$i]=number_format($m[0],1);
}
else scrivimail(“errore nel calcolo della media mese mediacitta”);
}

// <<<<<<<< media mese citta >>>>>>>>>
for ($i=0;$i<3;$i++) { $xanno=$anni[$i]; //$ug=UltimoGiornoMese($mese,$xanno); $iniziomese=mktime(0,0,0,$mese,1,$xanno); $data_iniziomese=date("Y-m-d",$iniziomese); $finemese=mktime(0,0,0,$mese,$ug,$xanno); $data_finemese=date("Y-m-d",$finemese); $q = "SELECT count(mediacitta) FROM smog_pm10 where data>= \”$data_iniziomese\” and data<=\"$data_finemese\" and mediacitta>50 “;
$result = @mysql_query($q) or scrivimail(“Query per calcolo sup.50 mese mediacitta fallita : ” . mysql_error());
if ($m = mysql_fetch_row($result)) {
if ($debug) echo “$q
sup:$m[0]
“;
$sup_50[$i]=number_format($m[0],0);
}
else scrivimail(“errore nel calcolo della media mese mediacitta”);
}

// <<<<<<<< parametri annui e mobili da leggere a fine mese >>>>>>>>>

for ($i=0;$i<3;$i++) { $xanno=$anni[$i]; //$ug=UltimoGiornoMese($mese,$xanno); $finemese=mktime(0,0,0,$mese,$ug,$xanno); $data_finemese=date("Y-m-d",$finemese); $q = "SELECT mediaanno,mediamobile,sforaanno,sforamobile FROM smog_pm10 where data= \"$data_finemese\" "; $result = @mysql_query($q) or scrivimail("Query per parametri anno al $data_finemese fallita : " . mysql_error()); if ($m = mysql_fetch_array($result)) { if ($debug) echo "$q
media citta:$m[0]:$m[1]:$m[2]:$m[3]
“;
$media_anno[$i]=number_format($m[‘mediaanno’],1);
$media_mobile[$i]=number_format($m[‘mediamobile’],1);
$sfora_anno[$i]=$m[‘sforaanno’];
$sfora_mobile[$i]=$m[‘sforamobile’];
}
else scrivimail(“errore nel recupero dei dati di fine mese
$q”);
}

mysql_free_result($result);

// <<<<<<<<<< preparazione tabella da restituire >>>>>>>>>>>>>>>>>>< $tabella="

“;

// media arcella
$tabella .= “

“;

// media mandria
$tabella .= “

“;
// media citta
$tabella .= “

“;

// sup 50
$tabella .= “

“;

// media mobile
$tabella .= “

“;

// media annua
$tabella .= “

“;

// sfora mobile
$tabella .= “

“;

// sfora annuo
$tabella .= “

“;

$tabella .= “

PM10 microg/m3
  $anni[0] $anni[1] $anni[2]
media mensile arcella $media_arcella[0] $media_arcella[1] $media_arcella[2]
media mensile mandria $media_mandria[0] $media_mandria[1] $media_mandria[2]
media mensile città $media_citta[0] $media_citta[1] $media_citta[2]
superamento limite (50) $sup_50[0] $sup_50[1] $sup_50[2]
media mobile al $ug/$mese $media_mobile[0] $media_mobile[1] $media_mobile[2]
media annua al $ug/$mese $media_anno[0] $media_anno[1] $media_anno[2]
superamento mobile (gg) al $ug/$mese $sfora_mobile[0] $sfora_mobile[1] $sfora_mobile[2]
superamento annuo (gg) al $ug/$mese $sfora_anno[0] $sfora_anno[1] $sfora_anno[2]

“;

echo $tabella;

///////// FINE TABELLA PARAMETRI MENSILI
///////////////////////////////////////////////////////////////////////////////////////////////////////
echo “

“;

//////////// GRAFICI DEI VALORI MEDI
echo ““; // GRAFOMESECITTA()
/////////// E DEI VALORI DI ARCELLA E MANDRIA
echo “

“;
echo ““; // GRAFOMESEARCMAN()
echo “

“;
///////////////// TABELLA DATI GIORNALIERI /////////////////////////////////

$tabella2=”

“;

//$ug=UltimoGiornoMese($mese,$anno);

$iniziomese=mktime(0,0,0,$mese,1,$anno);
$data_iniziomese=date(“Y-m-d”,$iniziomese);
$finemese=mktime(0,0,0,$mese,$ug,$anno);
$data_finemese=date(“Y-m-d”,$finemese);

$query = “SELECT * FROM smog_pm10 where data>= \”$data_iniziomese\” and data<=\"$data_finemese\""; $result = @mysql_query($query) or scrivimail("Query failed in mensile.php : " . mysql_error()); $i=0; while ($riga = mysql_fetch_array($result, MYSQL_ASSOC)) { $data[$i]=$riga['data']; $arcella[$i]=$riga['arcella']; $mandria[$i]=$riga['mandria']; $mediacitta=$riga['mediacitta']; $i++; $tabella2 .="

“;
}

$tabella2 .= “

PM10 microg/m3
$mesi[$mese] – $anno
Data Arcella Mandria media città
$riga[data] $riga[arcella] $riga[mandria] $riga[mediacitta]

“;

echo $tabella2;
?>



Per quanto riguarda il PM10, il DM 60/02 stabilisce per la protezione della salute umana, due valori limite :

  1. la concentrazione media annua di 40 microg/m3
  2. la concentrazione giornaliera di 50 microg/m3 da non superare più di 35 volte l’anno

(*) Il decreto, riprendendo la normativa europea, descrive due
fasi: una prima fase fino al 2005 in cui tali valori sono definiti e una seconda (a partire dal
2005) per la quale sono già indicati dei valori limite guida che dovranno essere rivisti in base
alla futura normativa comunitaria. Per il PM10 sono fissati due valori guida: uno sulla media
annua e uno sui valori giornalieri. A tali limiti vengono applicati dei margini di tolleranza (+8
µg/m3 per il limite annuo e +25 µg/m3 per quello giornaliero) che a partire dal 1 gennaio 2001
devono essere ridotti in maniera lineare ogni anno. Per il 2002 pertanto tali margini di
tolleranza erano di +4.8 µg/m3 per il limite sulla media annua e di +15 µg/m3 per quello sul
valore giornaliero.

(**)
Fonte: Arpav – Osservatorio Regionale Aria e Dip. Provinciali (http://www.arpa.veneto.it/bollettini/htm/rete_pm10.asp)

Elaborazione: Legambiente