Aide - Recherche - Membres - Calendrier
Version complète : QuickSat et nom de fichiers
Les Forums d'Infoclimat - Météo en temps réel > On y parle de météo > Sites web
Comode
Bonjour,

Je viens de coder un utilitaire en PHP récupérant des données à partir de fichier quickSat et les positionnant sur une carte.

Maintenant, je voudrais automatiser les téléchargement des fichiers QS (je travaillais jusqu'alors avec un fichier de test téléchargé ici : lsftp://podaac.jpl.nasa.gov/ocean_wind/quikscat/NRT/).

Seulement voilà, niveau doc, j'ai trouvé plein de chose sur le cryptage des fichiers etc, mais rien sur leur nom... A quoi correspond un fichier nomé QS20070901.S0714.E0926 ?
La date, pas de probleme, mais ces S et E ? j'ai d'abord cru a du Sud et East, mais je m'apperçoit qu'il n'y a jamais de N ou W... Puis ça a pas l'air de collé du tout...
Bref, à quoi correpondent les 2 dernieres séries ?

Pour rappel, j'ai comme source de fichier : lsftp://podaac.jpl.nasa.gov/ocean_wind/quikscat/NRT/

En vous remerciant par avance...

PS : tant que j'y suis, question à ceux qui maitrises bien la fonction wget de linux s'il y en a... Quand on utilise cette fonction, le fichier est-il créé à l'emplacement de destination au début du téléchargement, ou est-il créé une fois le téléchargement fini (ça change tout au niveau de l'automatisation des telechargement) ?
Comode
My name is gros boulet...

J'ai fini par trouver la réponse à mon problème sur les forums infoclimet tongue.gif

Pour ceux qui se poseront un jour la même question que moi :

Citation
AAYYYYMMDD.SHHMM.EHHMM where

AA='QS'
YYYY is the year
MM is the month
DD the day of the month
S signifies 'start time', i.e. of the first data in the file
HH the hour of the start time.
MM the minute of the start time
E signifies the 'end time' i.e. of the last data in the file.
and HH/MM are the same as in the start time.
snowman49
Citation
PS : tant que j'y suis, question à ceux qui maitrises bien la fonction wget de linux s'il y en a... Quand on utilise cette fonction, le fichier est-il créé à l'emplacement de destination au début du téléchargement, ou est-il créé une fois le téléchargement fini (ça change tout au niveau de l'automatisation des telechargement) ?


Il est crée au début et remplit au fur et à mesure.

Les fichiers quikscat, c'est les obs des vents par satellite ?
Comode
Affirm ! Analyse des vents de surface (en mer) via sat.

Ca y est, j'ai torché un analyseur de quickscat smile.gif

Je vous fait profiter de certains points cléfs :

Récupération des fichiers en shell :
Code
wget -nc -c -P <URL_DE_DESTINATION> [url="ftp://podaac.jpl.nasa.gov/ocean_wind/quikscat/NRT/QS*.S*.E"]ftp://podaac.jpl.nasa.gov/ocean_wind/quikscat/NRT/QS*.S*.E[/url]*


Pour l'extraction des données, un fichier en C à compiler est fournit sur le FTP. Marche nickel et utilisation infantile... Je vous file également les preg pour extraire les données directement en PHP et les insérer dans une BDD :

Code

$fichier = '/home/meteo/monfichierextrait.tmp';

$f = fopen($fichier, "r") or die('Erreur d\'ouverture traitement.tmp');
$heure = time();
while (($l = fgets($f)) !== false )
{
  if(substr($l, 0, 11) == '---------- ')
  {
   if(preg_match("#^----------[ \t\n\r\f]{0,}time: ([0-9]{4})-([0-9]{1,3})T([0-9]{2}):([0-9]{2}):([0-9]{2}).([0-9]{3})[ \t\n\r\f]{0,}-----------------[ \t\n\r\f]{0,}$#is", $l, $tab))
   {
     $heure = mktime($tab[3], $tab[4], $tab[5], 1, $tab[2], $tab[1]);
   }
  }
  else
  {
   if(substr($l, 0, 1) != '%')
   {
    $tab = explode(',', $l);
    $tab[3] = $tab[3] > 180 ? ((360 - $tab[3]) * -1) : ($tab[3] * 1);
    if(is_numeric($tab[3]) && is_numeric($tab[4]))
    {
     mysql_query('insert into `quicksat` (`date_quicksat`, `lat_quicksat`, `lon_quicksat`, `force_quicksat`, `direction_quicksat`) values ('.$heure.', '.$tab[4].', '.$tab[3].', '.$tab[5].', '.$tab[6].')');
    }
   }
  }
}
fclose($f);


Pour information, récupérer les 15 derniers jours de quickscat = 2.8Go, qui une fois traités occupent 1Go+ dans la base de données (environ 100 avec 2 jours de données). Cela represente environ 26 millions d'enregistrements.

J'ai posté sur les forums de developpez en php, partie "contribuez" un script qui fait office de module de géolocalisation pour afficher les données sur une map. C'est une version allégée et commentée qui ne contient pas la méthode de création de vecteurs vents (dispo à la demande).

En esperant que ce post aidera ceux qui passeront après moi.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.