www.atmos.cat    
 CEWT divendres 22 de novembre 2024  
ftp_wxsim (bat + pl)
 
Aquest programa serveix per a convertir la gràfica latest.bmp que genera el Wxsim a .gif i pujar-la junt amb l'arxiu plaintext.txt a un servidor web. Els arxius han d'estar a la carpeta C:\perlscripts, el wxsim a c:\wxsim i cal tenir tan Perl com els dlls d'Imagemagick instal·lats.
 
fes_wd_log (bat + pl)
 
Aquest programa serveix per a fer arxius de log en el format weather-display si l'estació funciona amb virtual weather station. Els arxius en format WD els necessita el WXSIM
 
 
Ambdós programes, com el WXSIM, els hem de programar de manera periòdica amb el planificador de tasques del windows, mitjançant els arxius .BAT que hi han a la carpeta generada.
perlscripts.zip
Per a fer una pàgina web amb format i imatges utilitzant el "carterlake icon set" ( https://saratoga-weather.org/carterlake-icons.zip ), utilitzant Perl en comptes de l'habitual PHP, hi ha el programa annexe, que genera una pàgina sencera:
 
https://www.atmos.cat/2x2/forecast.pl
 
Es pot combinar amb altres programes, aconseguint per exemple:
 
https://www.atmos.cat/perl?num=1189364236
 
o fer-ne traduccions:
 
https://www.atmos.cat/perl?num=1171614982
 
Descàrrega:
forecast.zip
El mateix, però amb traducció de la sortida al català:
 
https://www.atmos.cat/2x2/wxsim.pl
 
wxsim.zip
Code to generate logs in WD format from the VWS database:
 
Code:
use Time::Local;
use File::Copy;
$interval = 10;
do {
&digueshora;
if ($segon < 10){
if ($minuts eq "33"){
&feslog;
}
}
sleep ($interval);
} while $interval;
0;

sub feslog {
$arxiuorigen = "C:/vws/data/" . $any . "dbase.csv";
$arxiu = "C:/vws/jpeg/prelogs/" . $meslog . $any . "lg.txt";
$pagina = "";
open(TAULA,$arxiuorigen);
@lines = <TAULA>;
close(TAULA);
foreach $line(@lines) {
@resultat = split(",", $line);
$datacontrol = substr($resultat[0], 4, 2); # mes
if ($datacontrol eq $mes) {
$pagina .= substr($resultat[0], 6, 2); # dia
$pagina .= " ";
$pagina .= substr($resultat[0], 4, 2); # mes
$pagina .= " ";
$pagina .= substr($resultat[0], 0, 4); # any
$pagina .= " ";
$pagina .= substr($resultat[0], 8, 2); # hora
$pagina .= " ";
$pagina .= substr($resultat[0], 10, 2); # minut
$pagina .= " ";
$pagina .= $resultat[7]; # temperatura
$pagina .= " ";
$pagina .= $resultat[5]; # humitat
$pagina .= " ";
$pagina .= $resultat[22]; # punt de rosada
$pagina .= " ";
$pagina .= $resultat[23]; # barometre nivell mar
$pagina .= " ";
$pagina .= $resultat[2]; # velocitat vent
$pagina .= " ";
$pagina .= $resultat[3]; # ratxa
$pagina .= " ";
$pagina .= $resultat[1]; # direcció
$pagina .= " ";
$pagina .= $resultat[55]; # pluja minut
$pagina .= " ";
$pagina .= $resultat[52]; # pluja dia
$pagina .= " ";
$pagina .= $resultat[60]; # pluja mes
$pagina .= " ";
$pagina .= $resultat[9]; # pluja any
$pagina .= " ";
$pagina .= $resultat[21]; # xafogor
$pagina .= "\n";
}
}
open SOB, ">$arxiu" or $error = $!; 
print SOB qq~$pagina~;
close SOB;
}
sub digueshora {
($segon,$minut,$hores,$dia,$mes,$any) = (localtime(time))[0,1,2,3,4,5];
$mes = $mes + 1;
$meslog = $mes;
$any += 1900;
$minuts = $minut;
$minuts = "0$minuts" if ($minuts < 10);
}


 

Programa per a generar arxius de log en format Weather Display a partir de bases de dades del VWS (dbase.csv)
convert_vws_database_to_wd_logfiles.exe