ECCAD

ECCAD

Powerpoints

Presentation ppt

Documentation ppt

Notions Netcdf

Les fichiers netcdf dans ECCAD

Dimensions

  • 3D : Time Lat Lon –> cas général
  • 3D : Level Lat Lon -> profils temporels
    • heure du jour (0-23)
    • mois de l’année (1-12)
    • day of  week (0-6)
  • 4D : Time Level Lat Lon

Variables

  • Emissions
    • anthro : 20 secteurs
    • bb : 2 secteurs (savannes, forets)
    • soil: 4 secteurs (depot N, fertilisers, pulse…)
    • biogénique, oceanique, termites, volcans :1 secteur
    • Cas particuliers :
      • Flaring : mean, min, max, std
  • Profils temporels : 50 profils temporels
  • Feux : 1 zone brûlees
  • Végétation : npp
  • Masques de régions: 1 variable (index de la région)

Insertion d’un inventaire

1- Format netcdf dans ECCAD

  • 1 espèce/paramètre par fichier
  • Toutes les dates dans le même fichier
  • Toutes les variables dans le même fichier
  • Type des variables : flottant
  • Compression de niveau 5
  • Ordonnancement des dimensions Time Level Lat Lon
  • Normes de la convention CF (noms et unités standards + attributs globaux)
  • Numéro de version : attribut product_number

Nomenclature des fichiers

<inventory> _ <geospatial> _ <resolution> _ <category> _ <parametre> _ <version> .nc

Vérification des fichiers

  • ncdump
    • -h dump l’ensemble des metadonnées du fichier
    • -v nomVariable
  • Panoply

2- Insertion

Etapes de l’insertion

  • Dépôt des fichiers dans le répertoire input de l’inventaire
  • Renseigner le fichier ECCAD_database.xml : seuls les inventaires présents dans la liste sont traités.
  • Selon le type d’insertion faire les étapes suivantes :
InventaireEtapes
Nouveau-Rajouter dans ECCAD_database.xml et ECCAD2.xsd Provider(s), organisme(s)
nouvelles espèces, secteurs, résolutions (le cas échéant)
-Créer le fichier Inventory.xml (copier le xml d’un inventaire similaire) et renseigner les champs title update, global, total, restricted_visualisation
-Mettre l’image du logo du provider dans /data/ECCAD/webContent/Logo/logo_<inventory>.png
Mise à jour-<update> à renseigner dans le fichier Inventory.xml pour une maj annuelle.
-<scenario> à rajouter si nouveau scenario ou version
Ré-insertion -Contrôle de la date du fichier avant la réinsertion des fichiers
-Calcul des masques si les fichiers Json n’existent pas (les effacer le cas échéant).
Insertion ou mise à jour d’un inventaire

Sous sedur /data/ECCAD/insert/ lancer Insertion.sh execute le jar

Description détaillée du fichier Inventory.xml

Shéma de la base de donnée :

3- Vérification à l’insertion

  • Metadata
    • organismes et contacts
    • nombre de paramètres et de secteurs
  • Map
    • Vérification du format du fichier avec le serveur thredds :
    • Paramétrisation de la visualisation (palette, échelle log/linéaire, valeur min/max) :
      • dépend de l’unité de la variable à visualiser
      • valeurs min et max calculée à la volée au moment de l’affichage -> pour les dimensions 4 les valeurs max et min sont extraites sur toutes les grilles de la dimension
  • Time Series
    • nombre de secteurs présents
    • affichage de l’ensemble des secteurs
    • vérifier que le sum_sectors est bien égal à 50% (option pie)
  • Compare
    • comparaison avec les séries temporelles d’autres inventaires
    • option « all species from dataset » avec l’échelle logarithme

4- Menus du programme d’insertion

0Mise en ligne rapideSeul le fichier d’origine est copié dans le répertoire input
1Insertion– calculs des fichiers <time step> et conversion en totaux, extraction séries temporelles
– calculs des masques (sauf <daily>) et extraction des séries temporelles ( calcul des masques que si les json ne sont pas présents)
mise à jour :
1 ou plusieurs années
<update>YYYY-01-01</update>
– maj de l’inventaire avec les nouvelles années
– fichiers input <nomfichier>_<YYYY>.nc (YYYY est la première année, le fichier peut contenir plusieurs années)
!! la maj est possible que si time = UNLIMITED (sinon utiliser le script NCO unlimitedTime.sh)
2Supprimer un inventaireSuppression d’un inventaire ou d’un scénario, supprime également l’ensemble des fichiers de l’archive (!! supprimer au préalable l’inventaire de la table inventory_disk_size)
3NettoyerNettoyage de la base de données (nécessaire lorsque l’insertion plante)
4ImporterOrganismes et Utilisateurs
5Calculs des masques1) calculer un masque pour tous les inventaires (All)
2) calculer tous les masques (All) pour un inventaire
6Mise à jour des MetadonnéesMise à jour des metadonnées uniquement
7Test validité des UrlsValidité des Url (urldata, urldoc) de chaque inventaire et des liens biblio.
8Déployer une nouvelle baseDéploiement d’une nouvelle base
9Extraire les fichiers annuels-Extraction des fichiers annuels (test la présence des fichiers)
-Nom des fichiers <inventory>_<version>_<espece>_<YYYY>.nc
-Reformattage de l’unité de temps basé sur l’année du fichier en
-Check de la validité du fichier (fichiers logs)
Options du menu d’insertion

Archive de fichiers

Sur le serveur Sedur, répertoire /data/ECCAD/data

xml

  • ECCAD2.xsd
  • ECCAD_database.xml
  • <Inventory>.xml

input

  • <Inventory> contient les fichiers formatés à insérer

output

Dossier types description
inventory netCDFflux (daily/monthly/yearly)
totalsnetCDFtotaux (daily/monthly/yearly)
masques totaux (daily/monthly/yearly)
jsonjsontime series – 1 json /variable/masque
csvcsv1 csv avec toutes les variables + 1 csv par masque
level°json1 fichier par variable level avec les données
annual * netcdffichiers annuels
achive* netcdfsauvegarde temporaire d’ancienne(s) version(s)
origin*netcdf/ ASCIIfichiers d’origines (qd le format très différent) + 1 fichier readme
comparenetcdfdossier_link (ménage automatique, conservés pdt 1 mois)
downloadnetcdf, zip fichiers issus des calculs de MapCompare
* répertoires optionnels ° grilles de dimension 4

L’inventaire Pixel_Area doit être présent (!! Présence testée lors de l’insertion.)

  • Nécessaire pour les calculs de totaux (flux, fraction of grid cell)
  • Utilisé dans le MapCompare pour lire les données de lat et lon

Volume des données

Le volumes des données pour chaque inventaire est visible dans le munu admin en bas de page.

Les inventaires CAMS

Caractéristiques et formatage

  • par = nbre de parametres
  • sct = nbr de secteurs
  • ans = nbre d’années
  • tps = fréquence temporelle
  • h, d, w, m, c = hourly, weekly, daily, monthly, yearly, climatology
  • Prg = type de programme
  • Maj =
    • N = nouvelle version
    • U = mise à jour dernière(s) année(s)
  • taille = taille d’un fichier (Go)
Dataset
permalink
Provider
contact
Formattagepar sctanstpsPrgMajtaille
ANT
AIR
LAERO
France
Chunk size standardisation global attributs40
40
20
1
23
23
mxN
U
SHIPFMI
Finlande
Netcdf3 -> 4, merge inland globalsea, concatenation10123dJavaN
BIO
TERM
CUNI
République
Tchèque
Netcdf3->4, séparation des espèces, ordonnancement des dimensions, merge diurnal et moyenne journalière dans un seul fichier, concatenation29
1
2
1
23
1
hm
m
NCOU
–
OCEMetNo Norvègeséparation des espèces par fichier changement unités, concaténation, attributs climatologie5121d
c
NCOU
SOIlMetNo Norvègechangement d’unités, attributs climatologie1523m
c
NCON
VOLCChalmers
Suède
netcdf séries temporelles-> merge de tous volcans dans un seul fichier et mise au format grid, changement d’unités13714dJavaN
TEMPOBSC
Espagne
merge 55 fichiers en 1 seul fichier contenant tous les profils15523hw
dmy
NCON
CAMS-REG-ANTTNO
Nether-lands
1 netcdf par an avec tous les paramètres par source (~4000000) pour différent secteurs (lat,lon,code pays, source), séparation des espèces
21132014yJavaN
GFASECMWFséparation des espèces dans un fichier, concaténation14120dJavaU
Caractéristiques des inventaires CAMS

Les programmes de formatage pour chaque inventaire porte le nom de l’inventaire et sont sous le dépôt git : https://gitlab.in2p3.fr/sedoo/aeris/eccad/eccad-scripts

Les jeux de données correspondant aux programmes sont dans les répertoire /provider de chaque inventaire.

Pour les programmes NCO, si il s’agit de gros volume de données qui nécessite de la mémoire faire les traitement sur nuwa en mettant au debut du script les deux lignes suivantes

#!/bin/sh
module load nco/4.8.1

Lancer la commande :

sbatch -p any -C 192G -N1 --exclusive CAMS-GLOB-BIO.sh

Livraisons des inventaires CAMS

  • Extraction de fichiers annuels
    • changement de l’unité de temps référencement par rapport à l’année du fichier
    • nomenclature des fichiers :
      • <inventory>_<version>_<parametre>_<YYYY>.nc
      • parametre :
        • nom de l’espèce chimique définie par ECMWF
        • renseigné dans ECCAD_database.xml <paramtext>
    • ordonnancement des latitudes de -90 -> 90
    • référencement des coordonnées latitude et longitude au centre du pixel
  • Livraison des fichiers sur le serveur ftp de l’ECMWF (contact Luke.Jones@ecmwf.int)
ftp -nv bolftp.ecmwf.int
ftp> user cams_fd (password) 
ftp> prompt off
ftp> cd /ads_incoming/global_emissions/
ftp> mkdir <inventory>_<product_version>
ftp> mput *.nc ads_incoming/global_emissions/<inventory>_<product_version>

Statistiques de téléchargements

A transmettre à Thomas Popp à chaque trimestre.

New users

  • Base de données : eccad
  • tous users confondus (non spécifiques à CAMS)
select count(*) from person where EXTRACT(year from date_register_person)>2022;

Active users

  • Base de données : eccad_user
Visiting :
select count (distinct email_user) from catalogue_statistics where EXTRACT(year from date)>2022 and EXTRACT(month from date)>3 and EXTRACT(month from date)<7 and email_user like '%@%' and inventory like 'CAMS%';
Download :
select count(distinct user_uuid) from user_download where EXTRACT(year from request_date)>2022 and EXTRACT(month from request_date)<4 and request like '%CAMS%' and download;

Number of files

Select count(*) from user_download where EXTRACT(year from request_date)>2022 and EXTRACT(month from request_date)<4 and request like '%CAMS%' and download;

Size

select SUM(size::float) from user_download where EXTRACT(year from request_date)>2022 and EXTRACT(month from request_date)<4 and request like '%CAMS%' and download;
SELECT 
	SUM(downloads.size::float * downloads.count) 
FROM 
	downloads, user_download
WHERE 
	downloads.user_download_id = user_download.id
	AND user_download.request like '%CAMS%'
	AND EXTRACT(year from user_download.request_date)=2024
	AND EXTRACT(month from user_download.request_date)<4
	AND downloads.count > 1
	

ESSD teasers

  • Faire la page dans WordPress
  • Rajouter la référence biblio dans ECCAD_database.xml et dans Inventory.xml
  • Mettre le fichier zip dans le répertoire /data/ECCAD/webContent/ESSD-xxx

Rechercher