Bonjour,
Je recherche la méthode (si elle existe) de pouvoir recréer un fichier grib en modifiant les valeurs UGRID et VGRID par calcul.

Via homebrew, j'ai installé ecCodes (ex grib_api) je sais comment obtenir les composantes U&V pour les exploiter par la suite.
ex : 40°N 10°W
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$ grib_get_data -F %f Downloads/GFS1_20200714_12_006.grib | grep -- " 40.000  350.000 "
   40.000  350.000 1.376560 // U
   40.000  350.000 -14.505587 // V
La commande suivante me renvoie toutes les valeurs U&V contenues dans le grib
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
$ grib_get_data -F %f Downloads/GFS1_20200714_12_006.grib
Latitude, Longitude, Value
   90.000    0.000 -3.433440
   90.000    1.000 -3.453440
   90.000    2.000 -3.463440
   90.000    3.000 -3.483440
   90.000    4.000 -3.503440
   90.000    5.000 -3.513440
   90.000    6.000 -3.523440
   90.000    7.000 -3.543440
   [...]
1 - Si j'ai bien compris les valeurs sont notées en binaire dans le fichier .grib et le dataType est float
Je ne sais pas s'il est possible ce changer ce dataType de "float" à "byte" (=8bits signés) ?

2 - Si non, via les outils ecCodes, est il possible d'extraire les valeurs et appliquer un calcul sur celles-ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
newValue = Math.sign(value) * Math.pow(Math.round(Math.sqrt(Math.abs(noaaValue * 230.4))),2) / 230.4
Puis créer un fichier grib similaire en tout point mais avec les nouvelles valeurs U&V ?
Si oui j'aurais une dernière question, le reste je pourrais le gérer tout seul.

Merci de vos lumières 😉