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
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
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
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 😉
Partager