Trucs
Truc 1 : Lire le temps d'un fichier netcdf
Pour lire le temps d'un fichier netcdf, il faut d'abord ouvrir le fichier :
fichier_netcdf = netCDF4.Dataset(filename)
où filename représente le chemin vers le fichier netcdf.
Par la suite, nous avons besoin de lire trois choses :
- L'axe temporel :
nctime = fichier_netcdf.variables['time'][:] # get values
- Les unités du temps :
t_unit = fichier_netcdf.variables['time'].units
- Le calendrier :
t_cal = fichier_netcdfvariables['time'].calendar
Il est maintenant possible de transformer l'axe temporel en une série d'objet de type cftime :
tvalue = netCDF4.num2date(nctime,units = t_unit,calendar = t_cal)
Le résultat sera une série d'objet d'objet de type cftime du genre :
cftime.DatetimeProlepticGregorian(2016, 9, 1, 13, 30, 0, 0), cftime.DatetimeProlepticGregorian(2016, 9, 2, 13, 30, 0, 0), ......
Truc 2 : Garder seulement la date dans l'axe temporel
Advenant le fait que votre fichier netcdf contient des moyennes quotidiennes, l'heure associée à chaque pas de temps peut parfois ne pas être importante ou ne pas toujours faire du sens. Il est possible de s'en séparer si la seule chose que vous désirez est la date et non pas l'heure.
Il faut modifier la ligne suivante du truc 1 afin que le résultat de num2date consiste en le format natif de date python de type datetime.
tvalue = netCDF4.num2date(nctime,units = t_unit,calendar = t_cal)
doit devenir
tvalue = netCDF4.num2date(nctime,units = t_unit,calendar = t_cal,only_use_cftime_datetimes=False,only_use_python_datetimes=True)
Par la suite, nous pouvons utiliser la fonction date() pour ne garder que la date :
tvalue_date = [i.date() for i in tvalue]
Le résulat ressemblera à :
[datetime.date(2016, 9, 1), datetime.date(2016, 9, 2), datetime.date(2016, 9, 3), datetime.date(2016, 9, 4), ............]
Scripts
Create a 2-D temperature plot from an RPN file
Script: 2-D_temperature_plot_from_RPN.py3
Script: 2-D_temperature_plot_from_RPN.txt
Générer une carte de la pression au niveau de la mer et des vecteurs vents centrée sur la mer de Norvège
Ce script donne un aperçu de comment générer une carte avec des contours de pression et des vecteurs de vents le tout dans un secteur bien précis.
Script (.py3) : dessiner_msl_vent_ERA5_box_demo.py3
Script (.txt) : dessiner_msl_vent_ERA5_box_demo.txt
Boucle temporelle
Ce script est un petit exemple d'une boucle temporelle permettant d'incrémentaire l'année et le mois entre un mois et une année de départ et un mois et une année de fin.
Script (.py3) : boucle_temporelle.py3
Script (.txt) : boucle_temporelle.txt