Commit 63bb9373 authored by libes's avatar libes
Browse files

rajout Documentation au format PDF et Readme.md

parent ac50e932
# CSV2NC
codage d'un programme de conversion d'un fichier CSV vers un format NetCDF
avril 2021
Objet : codage d'un programme de conversion d'un fichier CSV vers un format NetCDF
- avril 2021
- Date : Mai 10, 2021 Version : 1.0.0
- Auteur : Maurices Libes, Didier Mallarino, Nour Ayar
-* OSU Pytheas UMS 3470 CNRS*
Csv2NetCDF est un programme Python qui convertii les fichiers du format csv en fichier netCDF
##Préambule
L’objectif de ce programme est d’avoir un programme Python générique qui transforme un fichier CSV en fichier NetCDF dans le but de l’enrichir en métadonnées et le rendre davantage interopérable
Le programme est quasiment générique moyennant le fait de lui rajouter quelques métadonnées nécessaires
>Il traite actuellement uniquement le cas de fichiers NetCDF à 1 Dimension
• séries temporelles (timeseries) : v=f(DateTime)
• profil (profile) v=f(Depth, Altitude)
## Utilisation du programme
Avant de lancer le programme, Il faut préparer 2 fichiers en fournissant les
métadonnées qui seront insérées dans le fichier NetCDF
### 1. Entete du fichier CSV
Dans le fichier CSV que vous voulez convertir, il faut rajouter une entete
comme ci dessous
- La 1ere ligne doit contenir le nom des colonnes
- Les lignes suivantes doivent contenir a minima en 1ere colonne:
- **ligne standard_name**: le standard_name des variables mesurées,
selon la convention CF exemple: sea_water_temperature
- **ligne long_name** : le long_name qui est le nom local des
variables : exemple temperature
- **ligne unites** : les unités de mesure pour chacune des variables en colonnes
- **ligne dimension** : indiquer par le chiffre “1” la colonne qui sert de dimension. Actuellement ce peut etre la colonne “DateTime” pour les séries temporelles ou la colonne Depth ou Altitude pour les profils verticaux
### 2. Colonnes Obligatoires
3 colonnes sont obligatoire :
- **DateTime** : la Date et Heure *au format ISO* : ***YYYY-MM-DDThh:mm:ss***
- **Latitude** : en degrés décimaux
- **Longitude** : en degré décimaux
### 3. Fichier des Attributs globaux *“ global_attributes.csv”*
Dans le répertoire contenant le programme(csv2NetCDF.py) il faut
renseigner les métadonnées globales dans le fichier *global_attributes.csv*
Les global attributes sont libres, le programme les prend tels quels
- Attention : les attributs featuretype est important dans la
convention CF : http://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html
- features_and_feature_types
il doit contenir la stratégie d’échantillonnage (discrete sampling
geometry) : point, timeseries, profile, trajectory
> exemple :
- summary= resume du projet
- lineage= methode methodology
- project= nom du projet
- description= description du projet
- title= titre du projet (NetCDF files)
- keywords=MIO, OSU Pytheas, CNRS, Observatory, France, Sea Regions,
Mediterranean, Sea, environmental data, temperature, pressure,
chlorophyl
- comment= commentaire
- history= history du projetfeaturetype=timeseries
- cdm_data_type=timeseries
### 4. Lancement du programme
Rendre le programme python exécutable :
- *chmod +x csv2NetCDF.py*
Le programme prend 2 arguments
- -s : le séparateur des colonnes du fiucheir CSV (obligatoire)
- -n : le nom de la station de mesure
./csv2NetCDF.py -s ’Separator’ -n ‘Station_name’
Separator : est le séparateur des colonnes du fichier csv (cet
argument est obligatoire).
Station_name : est le nom de la station où les mesures ont été faites
Cet argument est facultatif car on peut fournir le nom de la station plus
tard dans le programme au cas où on traite le cas d’une station non
fixe.
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment