Bonjour à vous,

Je cherche à comparer deux champs (le premier est sous forme x y z , soit lon lat et valeur), et le deuxième champ est un champ 2D provenant d'un modèle numérique.
Les deux ont une zone en commun, mais les deux données ne sont pas de la même résolution, le plus résolu étant le premier (couvrant un champ 2D de 4950x4950 points) alors que le deuxième provenant du modèle numérique (1350 points sur 750).

Je suppose donc qu'il faut avoir une grille commune, idéalement sur le champ le moins résolu (du modèle numérique). Il faut donc réenchantillonner le premier champ.

Voici mon début de code, qui ne fonctionne pas en l'état
:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from mpl_toolkits import basemap
from netCDF4 import Dataset
import numpy as np
import matplotlib.pyplot as plt
 
file1 = np.loadtxt("mosaique_antilope_lamb_20171001.xyz", unpack=True)
file2 = np.loadtxt("lonlat", unpack=True)
 
anlon = file2[0,:]
anlat = file2[1,:]
antilope = file1[3,:]
 
filename = '20171001.nc'
with Dataset(filename, mode='r') as fh:
   arlon = fh.variables['longitude'][:]
   arlat = fh.variables['latitude'][:]
   arome1 = fh.variables['unknown'][:].squeeze()
 
anlat=np.flipud(anlat)
arlat=np.flipud(arlat)
 
anlon_sub, anlat_sub = np.meshgrid(anlon,anlat)
arlon_sub, arlat_sub = np.meshgrid(arlon,arlat)
 
arome = basemap.interp(arome1, arlon, arlat, anlon_sub, anlat_sub, order=1)
antil = basemap.interp(antilope, anlon, anlat, arlon_sub, arlat_sub, order=1)
 
plt.subplot(1,2,1)
 
plt.pcolormesh(anlon,anlat,arome)
 
plt.subplot(1,2,2)
 
plt.pcolormesh(anlon,anlat,antil)
Premiere question : je n'arrive pas à mettre en 2D mon champ en x y z. Ensuite comment faire pour que ce champ corresponde à celui du modèle ? (arome ici)

Merci à vous pour vos pistes

Cordialement,
Jonathan