Mikeio-Dfs2 - Global Forecasting System - Ipynb at Main DHI-mikeio GitHub
Mikeio-Dfs2 - Global Forecasting System - Ipynb at Main DHI-mikeio GitHub
ecomodeller GFS wind test… Latest commit 17cc6f5 8 days ago History
2 contributors
In [4]: fn = '../tests/testdata/gfs_wind.nc'
ds = xarray.open_dataset(fn)
#ds = xarray.open_dataset(url) # use this instead if
you want new dataa
In [5]: ds.time.values[0],ds.time.values[-1]
Out[5]: (numpy.datetime64('2021-09-02T12:00:00.000000000'),
numpy.datetime64('2021-09-02T18:00:00.000000000'))
Out[6]: numpy.timedelta64(0,'D')
In [7]: ds.msletmsl
time: 3
lat: 41
lon: 21
array(['2021-09-02T12:00:00.000000000',
'2021-09-02T15:00:00.000000000',
'2021-09-02T18:00:00.000000000'],
dtype='datetime64[ns]')
lat
(lat)
float64
:
float64
30.0 30.25 30.5 ... 39.5 39.75 40.0
grads_dim :
y
grads_mapping :
linear
grads_size :
721
units :
degrees_north
long_name :
latitude
minimum :
-90.0
maximum :
90.0
resolution :
0.25
In [8]: ds.ugrd10m
time: 3
lat: 41
lon: 21
1.022 1.152 2.212 1.782 0.8518 1.172 ... 2.79 3.63 3.99 2.93
2.62 2.8
array([[[ 1.021836, 1.151836, ..., -4.318164,
-4.228164],
[ 1.731836, 1.361836, ..., -4.408164,
-4.138164],
...,
[-2.328164, -0.578164, ..., 0.111836,
1.381836],
[-1.368164, -0.248164, ..., 2.521836,
3.361836]],
array(['2021-09-02T12:00:00.000000000',
'2021-09-02T15:00:00.000000000',
'2021-09-02T18:00:00.000000000'],
dtype='datetime64[ns]')
lat
(lat)
float64
30.0 30.25 30.5 ... 39.5 39.75 40.0
grads_dim :
y
grads_mapping :
linear
grads_size :
721
units :
degrees_north
long_name :
latitude
minimum :
-90.0
:
maximum :
90.0
resolution :
0.25
In [9]: ds.vgrd10m
:
Out[9]: SVG Image
<xarray.DataArray 'vgrd10m' (time: 3, lat: 41, lon: 21
)>
array([[[-0.474941, -0.634941, ..., -1.244941, -1.2549
41],
[-1.124941, -0.504941, ..., -1.014941, -1.2249
41],
...,
[-0.454941, 1.145059, ..., 1.505059, 1.6350
59],
[ 1.695059, 2.595058, ..., 1.645059, 1.8050
59]],
time: 3
:
time: 3
lat: 41
lon: 21
array(['2021-09-02T12:00:00.000000000',
'2021-09-02T15:00:00.000000000',
'2021-09-02T18:00:00.000000000'],
dtype='datetime64[ns]')
lat
(lat)
float64
30.0 30.25 30.5 ... 39.5 39.75 40.0
grads_dim :
y
grads_mapping :
linear
grads_size :
721
units :
degrees_north
long_name :
latitude
minimum :
-90.0
maximum :
90.0
resolution :
0.25
In [10]: ds.ugrd10m[0].plot()
Convert to dfs2
In [12]: lat = ds.lat.values
lon = ds.lon.values
nx = len(lon)
ny = len(lat)
x0 = lon[0]
y0 = lat[0]
Time
In [13]: t = ds.time.values
print(t[0])
:
start_time = pd.to_datetime(t).to_pydatetime()[0]
2021-09-02T12:00:00.000000000
Variable types
In [14]: from mikeio.eum import EUMType
EUMType.Air_Pressure