Thinning datasets#
This function is used to thin a dataset by keeping every n-th value across the dimensions that are specified. This is useful for applications such as plotting wind data where using the original resolution would result in a crowded and unreadable figure.
import ecodata as eco
import xarray as xr
This example uses wind data from ECMWF that has been installed by the user. The thinning function can be used by just providing the path to the dataset, but here we will read in the dataset to better visualize the examples.
filein = eco.get_path('ECMWF_eagle_wind_full.nc')
wind = xr.load_dataset(filein)
This dataset has dimensions of time, latitude, and longitude:
wind
<xarray.Dataset>
Dimensions: (longitude: 329, latitude: 265, time: 8784)
Coordinates:
* longitude (longitude) float32 -173.0 -172.8 -172.5 ... -91.5 -91.25 -91.0
* latitude (latitude) float32 78.0 77.75 77.5 77.25 ... 12.5 12.25 12.0
* time (time) datetime64[ns] 2008-01-01 ... 2008-12-31T23:00:00
Data variables:
u10 (time, latitude, longitude) float32 0.7963 0.8023 ... -4.058
v10 (time, latitude, longitude) float32 5.058 4.98 ... 0.4992 0.7828
t2m (time, latitude, longitude) float32 249.1 248.9 ... 300.2 300.1
Attributes:
Conventions: CF-1.6
history: 2022-06-14 00:45:00 GMT by grib_to_netcdf-2.24.3: /opt/ecmw...- longitude: 329
- latitude: 265
- time: 8784
- longitude(longitude)float32-173.0 -172.8 ... -91.25 -91.0
- units :
- degrees_east
- long_name :
- longitude
array([-173. , -172.75, -172.5 , ..., -91.5 , -91.25, -91. ], dtype=float32) - latitude(latitude)float3278.0 77.75 77.5 ... 12.5 12.25 12.0
- units :
- degrees_north
- long_name :
- latitude
array([78. , 77.75, 77.5 , ..., 12.5 , 12.25, 12. ], dtype=float32)
- time(time)datetime64[ns]2008-01-01 ... 2008-12-31T23:00:00
- long_name :
- time
array(['2008-01-01T00:00:00.000000000', '2008-01-01T01:00:00.000000000', '2008-01-01T02:00:00.000000000', ..., '2008-12-31T21:00:00.000000000', '2008-12-31T22:00:00.000000000', '2008-12-31T23:00:00.000000000'], dtype='datetime64[ns]')
- u10(time, latitude, longitude)float320.7963 0.8023 ... -3.856 -4.058
- units :
- m s**-1
- long_name :
- 10 metre U wind component
array([[[ 0.79633546, 0.80230904, 0.81027365, ..., 0.26070476, 0.22685444, 0.1810571 ], [ 0.5524144 , 0.5693395 , 0.5792955 , ..., -0.6880983 , -0.7667504 , -0.70801026], [ 0.26667833, 0.28360343, 0.28360343, ..., -0.6751556 , -0.77571076, -0.73588693], ..., [-11.609787 , -11.78103 , -11.977162 , ..., -2.312911 , -2.2900124 , -2.293995 ], [-11.452483 , -11.5918665 , -11.788995 , ..., -3.385168 , -3.4090624 , -3.4299698 ], [-11.302148 , -11.325047 , -11.440536 , ..., -4.422579 , -4.4534426 , -4.469372 ]], [[ 0.8082826 , 0.8122649 , 0.81724286, ..., 0.57431746, 0.48272264, 0.3702203 ], [ 0.5255333 , 0.5454452 , 0.55340993, ..., -0.26198316, -0.39837986, -0.47105837], [ 0.16910994, 0.18902183, 0.19897783, ..., -0.46110243, -0.64628327, -0.7348913 ], ... [ -4.001442 , -4.122905 , -4.259301 , ..., -2.7878103 , -2.9281893 , -3.0317314 ], [ -4.3190374 , -4.454438 , -4.5440416 , ..., -3.2437935 , -3.4946835 , -3.7186928 ], [ -4.6376276 , -4.710306 , -4.77502 , ..., -3.6848423 , -3.8988955 , -4.1239004 ]], [[ -8.270557 , -8.364143 , -8.457729 , ..., 0.7575071 , 0.47575343, -0.01607096], [ -7.6353674 , -7.8056145 , -7.918117 , ..., -0.61143744, -1.1042575 , -1.6030511 ], [ -6.3351192 , -6.5093484 , -6.7234015 , ..., -1.7444258 , -2.2103648 , -2.712145 ], ..., [ -3.7515473 , -3.8073008 , -3.892922 , ..., -2.3557217 , -2.4503033 , -2.4941096 ], [ -4.013389 , -4.0960236 , -4.1846313 , ..., -3.0705595 , -3.2955644 , -3.446895 ], [ -4.327997 , -4.4016714 , -4.4614077 , ..., -3.6081815 , -3.856085 , -4.0581913 ]]], dtype=float32) - v10(time, latitude, longitude)float325.058 4.98 4.902 ... 0.4992 0.7828
- units :
- m s**-1
- long_name :
- 10 metre V wind component
array([[[ 5.0580473 , 4.9797974 , 4.901548 , ..., -1.0413601 , -1.2192004 , -1.2374926 ], [ 4.9259377 , 4.830412 , 4.747081 , ..., -1.3604562 , -1.4143164 , -1.3756995 ], [ 4.7440324 , 4.6474905 , 4.5722895 , ..., -1.8899117 , -1.7262988 , -1.66939 ], ..., [-5.6560564 , -5.805443 , -5.9284067 , ..., 1.3091778 , 1.2847883 , 1.3071454 ], [-5.444681 , -5.5442715 , -5.5717096 , ..., 0.25636435, 0.21063411, 0.23400736], [-5.2434683 , -5.1235523 , -5.018881 , ..., -0.47430432, -0.46515834, -0.48954785]], [[ 5.042804 , 4.964554 , 4.8863044 , ..., -0.6490958 , -0.80965996, -0.8553903 ], [ 4.9848785 , 4.894434 , 4.8121195 , ..., -0.8442118 , -1.0190032 , -0.9712405 ], [ 4.8141522 , 4.7216754 , 4.6667986 , ..., -1.342164 , -1.2740767 , -1.222249 ], ... [-2.2212024 , -2.0077941 , -1.8106458 , ..., 0.97991955, 1.1953602 , 1.5876245 ], [-2.2293322 , -1.9630802 , -1.7821913 , ..., 0.1994555 , 0.42709088, 0.7634627 ], [-2.2435594 , -2.0311675 , -1.886863 , ..., -0.21313345, -0.03021228, 0.20047176]], [[ 2.613 , 2.7501907 , 2.888398 , ..., -3.1591818 , -2.9864228 , -3.1581657 ], [ 2.5306854 , 2.6302757 , 2.7623854 , ..., -4.0798855 , -4.045334 , -4.248579 ], [ 2.7369797 , 2.8386025 , 2.8965278 , ..., -5.4152107 , -5.4416323 , -5.623537 ], ..., [-2.4315617 , -2.2516892 , -2.0616543 , ..., 2.0012298 , 2.4605656 , 3.0072966 ], [-2.4935517 , -2.2618515 , -2.0596218 , ..., 0.9921143 , 1.4057195 , 1.8010328 ], [-2.5250547 , -2.2649002 , -2.0667355 , ..., 0.26449418, 0.49924314, 0.7827711 ]]], dtype=float32) - t2m(time, latitude, longitude)float32249.1 248.9 248.7 ... 300.2 300.1
- units :
- K
- long_name :
- 2 metre temperature
array([[[249.083 , 248.90892, 248.73483, ..., 244.30383, 243.90662, 243.7911 ], [248.59084, 248.39143, 248.20787, ..., 244.2785 , 244.2073 , 244.31491], [248.25375, 248.04962, 247.89136, ..., 244.28168, 244.1076 , 244.17564], ..., [298.3938 , 298.34473, 298.19122, ..., 301.3499 , 301.49866, 301.59204], [298.2466 , 298.2039 , 298.0235 , ..., 301.02707, 301.13312, 301.2075 ], [298.12476, 298.0235 , 297.82727, ..., 300.8372 , 300.9606 , 301.03973]], [[249.32037, 249.13838, 248.95639, ..., 244.6678 , 244.23578, 244.1171 ], [248.78073, 248.57501, 248.38669, ..., 244.76117, 244.58868, 244.50165], [248.40569, 248.1968 , 248.04329, ..., 244.51904, 244.3434 , 244.24052], ... [298.71347, 298.68655, 298.64066, ..., 300.30545, 300.50644, 300.56656], [298.75934, 298.74194, 298.7198 , ..., 300.28488, 300.34027, 300.3814 ], [298.84637, 298.82266, 298.8005 , ..., 300.14087, 300.15036, 300.13297]], [[254.96832, 254.77051, 254.5711 , ..., 248.6573 , 248.10025, 248.29016], [255.82603, 255.65988, 255.46364, ..., 248.60507, 248.77124, 248.99121], [256.47803, 256.30872, 256.17578, ..., 248.80763, 249.02602, 249.25073], ..., [298.7467 , 298.69922, 298.68338, ..., 300.30386, 300.50644, 300.55548], [298.75778, 298.74985, 298.7467 , ..., 300.29596, 300.3181 , 300.31335], [298.85114, 298.83847, 298.83847, ..., 300.14246, 300.16302, 300.14563]]], dtype=float32)
- Conventions :
- CF-1.6
- history :
- 2022-06-14 00:45:00 GMT by grib_to_netcdf-2.24.3: /opt/ecmwf/mars-client/bin/grib_to_netcdf -S param -o /cache/data3/adaptor.mars.internal-1655167264.1047153-28011-19-b4a2bb83-8868-486b-bf8e-d7bf035eb998.nc /cache/tmp/b4a2bb83-8868-486b-bf8e-d7bf035eb998-adaptor.mars.internal-1655166317.8944476-28011-26-tmp.grib
If we keep every point in the dataset, the quivers are much too dense:
# Plot one time slice
wind.isel(time=0).plot.quiver(x='longitude', y='latitude', u='u10', v='v10')
<matplotlib.quiver.Quiver at 0x194e13a60>
Thinning all dimensions by the same factor#
Here, we keep every nth point across all dimensions.
n = 20
wind_thinned = eco.thin_dataset(wind, n_thin=n)
wind_thinned
<xarray.Dataset>
Dimensions: (longitude: 17, latitude: 14, time: 440)
Coordinates:
* longitude (longitude) float32 -173.0 -168.0 -163.0 ... -103.0 -98.0 -93.0
* latitude (latitude) float32 78.0 73.0 68.0 63.0 ... 28.0 23.0 18.0 13.0
* time (time) datetime64[ns] 2008-01-01 ... 2008-12-31T20:00:00
Data variables:
u10 (time, latitude, longitude) float32 0.7963 1.159 ... -7.4 -0.3785
v10 (time, latitude, longitude) float32 5.058 3.698 ... -2.269 0.6049
t2m (time, latitude, longitude) float32 249.1 245.6 ... 300.4 300.6
Attributes:
Conventions: CF-1.6
history: 2022-06-14 00:45:00 GMT by grib_to_netcdf-2.24.3: /opt/ecmw...- longitude: 17
- latitude: 14
- time: 440
- longitude(longitude)float32-173.0 -168.0 ... -98.0 -93.0
- units :
- degrees_east
- long_name :
- longitude
array([-173., -168., -163., -158., -153., -148., -143., -138., -133., -128., -123., -118., -113., -108., -103., -98., -93.], dtype=float32) - latitude(latitude)float3278.0 73.0 68.0 ... 23.0 18.0 13.0
- units :
- degrees_north
- long_name :
- latitude
array([78., 73., 68., 63., 58., 53., 48., 43., 38., 33., 28., 23., 18., 13.], dtype=float32) - time(time)datetime64[ns]2008-01-01 ... 2008-12-31T20:00:00
- long_name :
- time
array(['2008-01-01T00:00:00.000000000', '2008-01-01T20:00:00.000000000', '2008-01-02T16:00:00.000000000', ..., '2008-12-30T04:00:00.000000000', '2008-12-31T00:00:00.000000000', '2008-12-31T20:00:00.000000000'], dtype='datetime64[ns]')
- u10(time, latitude, longitude)float320.7963 1.159 1.621 ... -7.4 -0.3785
- units :
- m s**-1
- long_name :
- 10 metre U wind component
array([[[ 0.79633546, 1.1587324 , 1.6206889 , ..., 5.3810554 , 3.2883124 , 0.5325024 ], [ -5.0109763 , -5.250915 , -4.663513 , ..., 6.5936913 , 6.0958934 , 5.1421123 ], [ -2.867458 , -3.077529 , -1.5214123 , ..., 5.2595925 , 2.6809988 , 3.5800219 ], ..., [-11.044289 , -9.837626 , -8.480629 , ..., 1.7361782 , -1.6209718 , -2.606612 ], [-11.239426 , -10.224913 , -6.5860095 , ..., 2.4778972 , -3.8232303 , -0.02901375], [-11.80592 , -9.4085245 , -6.861789 , ..., -4.454438 , -5.154342 , -0.321719 ]], [[ 0.85407996, 0.8510933 , 1.6565304 , ..., 5.3930025 , 2.0507865 , 1.1945739 ], [ -6.811014 , -7.8374734 , -7.1893406 , ..., 6.3119373 , 5.216782 , 1.0064061 ], [ 1.6326361 , -0.06784201, -1.632919 , ..., 6.421453 , 8.730241 , 9.604374 ], ... [ 0.1681143 , -2.2402325 , -4.7093105 , ..., 1.0402565 , -1.3770508 , -2.6036253 ], [ -2.9172378 , -4.2194777 , -5.8811274 , ..., 4.7956448 , -2.3766294 , -0.43621248], [ -6.451604 , -6.7283797 , -4.8327646 , ..., -5.2529063 , -8.892805 , 0.6728815 ]], [[ -7.860372 , -7.8245306 , -6.857807 , ..., -0.18133986, 0.6131457 , 1.3747766 ], [ 8.869624 , 6.347779 , 5.1022882 , ..., -0.9419753 , -1.6478529 , -5.2031264 ], [ 2.0796587 , 2.1593065 , -0.6890939 , ..., 5.0505176 , 6.110827 , 6.1367126 ], ..., [ -5.290739 , -2.315898 , -2.8296254 , ..., 0.5663527 , -1.627941 , -3.077529 ], [ -3.3164718 , 0.06457233, -3.6519878 , ..., 1.8367333 , 1.3966799 , -2.5867 ], [ -4.8168354 , -4.113944 , -5.2897434 , ..., -6.655701 , -7.400407 , -0.37846792]]], dtype=float32) - v10(time, latitude, longitude)float325.058 3.698 1.098 ... -2.269 0.6049
- units :
- m s**-1
- long_name :
- 10 metre V wind component
array([[[ 5.0580473e+00, 3.6983325e+00, 1.0978022e+00, ..., -1.2775759e+01, -1.4623263e+01, -9.3973732e-01], [ 1.6287136e-01, -1.2781417e+00, -2.6083858e+00, ..., -8.3419504e+00, -3.8725746e+00, -2.4478214e+00], [-2.8593943e+00, -2.7537062e+00, -2.1520987e+00, ..., -4.4640198e+00, -4.6479578e+00, -2.0951898e+00], ..., [-3.0291045e+00, -7.2108879e+00, -1.0072589e+01, ..., 1.7603836e+00, 8.7423170e-01, -1.9143012e+00], [-6.9253273e+00, -8.6173487e+00, -9.6569510e+00, ..., 9.6772480e-01, -8.9908814e-01, -1.0596523e+00], [-5.6154079e+00, -6.1418142e+00, -5.9832830e+00, ..., -2.0281188e+00, -3.5992091e+00, -9.9461365e-01]], [[ 4.7379351e+00, 3.9330814e+00, 2.6048698e+00, ..., -1.0104092e+01, -8.8175459e+00, 5.1143789e-01], [ 1.7811477e-01, -5.3426194e-01, -1.5311828e+00, ..., -9.7748337e+00, -8.2372789e+00, -5.8267832e+00], [-1.8309703e+00, -5.4091129e+00, -3.6876209e+00, ..., -3.1266625e+00, -5.8572702e+00, -3.2770646e+00], ... [ 2.2878065e+00, 4.1302299e+00, 3.0174589e+00, ..., -1.4590304e+00, 1.6770527e+00, -6.0946274e-01], [ 1.9239964e+00, 2.2400436e+00, 1.2024738e+00, ..., -2.5886381e-01, -1.4387059e+00, -1.9955995e+00], [-1.5393126e+00, -1.5454099e+00, -1.0494900e+00, ..., -2.7953718e+00, -1.7567856e+00, 5.1245415e-01]], [[ 4.0082827e+00, 6.0905361e+00, 7.1138792e+00, ..., -4.9426641e+00, -7.4497013e+00, -4.4264193e+00], [-7.4868631e-01, 2.9193246e-01, -6.6129065e-01, ..., -7.9466372e+00, -6.2383566e+00, -5.5249634e+00], [-3.6042902e+00, -1.8604410e+00, -1.2425735e+00, ..., -1.0718472e+00, -1.8401163e+00, 1.2018967e-01], ..., [-4.3603649e+00, -7.9131021e+00, 3.9981201e+00, ..., -1.4606237e-01, 1.8569252e+00, -1.1033502e+00], [-3.3451517e+00, -2.2736073e-01, 4.0418177e+00, ..., 1.3955573e+00, -6.5722561e-01, -1.5637021e+00], [-2.8756540e+00, -8.1067634e-01, 5.2566510e-01, ..., -1.2639143e+00, -2.2689650e+00, 6.0493100e-01]]], dtype=float32) - t2m(time, latitude, longitude)float32249.1 245.6 243.2 ... 300.4 300.6
- units :
- K
- long_name :
- 2 metre temperature
array([[[249.083 , 245.58566, 243.22772, ..., 247.02257, 248.09076, 245.391 ], [247.99423, 249.56723, 249.13205, ..., 246.85799, 242.69759, 237.95166], [256.70908, 256.334 , 246.43863, ..., 244.34973, 244.6868 , 241.08977], ..., [295.81116, 295.37122, 294.96133, ..., 291.70297, 296.2321 , 297.73706], [297.34302, 297.5693 , 297.29553, ..., 298.42862, 298.62958, 298.36374], [298.50616, 298.7087 , 298.2118 , ..., 300.80396, 300.39725, 301.016 ]], [[250.12903, 248.1145 , 245.77872, ..., 248.13033, 250.29994, 247.72362], [248.88992, 249.83943, 248.93423, ..., 246.7931 , 245.4923 , 242.94763], [254.90977, 257.80734, 241.62149, ..., 244.9574 , 246.93394, 243.28786], ... [297.23224, 296.9363 , 296.4932 , ..., 289.57135, 295.11484, 296.72742], [298.39062, 297.87158, 297.79877, ..., 299.41135, 297.3525 , 298.45868], [299.0711 , 298.74512, 299.10907, ..., 300.3197 , 300.13614, 300.55234]], [[256.7075 , 253.10571, 251.96156, ..., 243.95726, 245.68694, 248.95798], [254.19447, 254.27043, 253.64218, ..., 246.06357, 248.01639, 251.57385], [258.50522, 258.03046, 242.84319, ..., 237.55128, 242.40799, 237.82506], ..., [295.98523, 294.91702, 295.03415, ..., 291.48932, 298.33682, 296.84296], [297.4886 , 295.9504 , 297.49493, ..., 299.1803 , 300.70743, 301.26605], [298.647 , 298.46027, 298.6549 , ..., 299.98264, 300.40356, 300.60614]]], dtype=float32)
- Conventions :
- CF-1.6
- history :
- 2022-06-14 00:45:00 GMT by grib_to_netcdf-2.24.3: /opt/ecmwf/mars-client/bin/grib_to_netcdf -S param -o /cache/data3/adaptor.mars.internal-1655167264.1047153-28011-19-b4a2bb83-8868-486b-bf8e-d7bf035eb998.nc /cache/tmp/b4a2bb83-8868-486b-bf8e-d7bf035eb998-adaptor.mars.internal-1655166317.8944476-28011-26-tmp.grib
# Plot one time slice
wind_thinned.isel(time=0).plot.quiver(x='longitude', y='latitude', u='u10', v='v10')
<matplotlib.quiver.Quiver at 0x197a83160>
Thinning dimensions by different amounts#
The thinning factor for each dimension can be controlled independently by passing a dictionary that contains keys for each dimension. Here, we keep every 5th point across the latitude and longitude dimensions, but every 10th point across the time dimension.
wind_thinned = eco.thin_dataset(wind, n_thin = {'time': 10, 'longitude': 5, 'latitude': 5})
wind_thinned
<xarray.Dataset>
Dimensions: (longitude: 66, latitude: 53, time: 879)
Coordinates:
* longitude (longitude) float32 -173.0 -171.8 -170.5 ... -94.25 -93.0 -91.75
* latitude (latitude) float32 78.0 76.75 75.5 74.25 ... 15.5 14.25 13.0
* time (time) datetime64[ns] 2008-01-01 ... 2008-12-31T20:00:00
Data variables:
u10 (time, latitude, longitude) float32 0.7963 0.8929 ... -0.7807
v10 (time, latitude, longitude) float32 5.058 4.742 ... -0.03834
t2m (time, latitude, longitude) float32 249.1 248.3 ... 300.6 300.4
Attributes:
Conventions: CF-1.6
history: 2022-06-14 00:45:00 GMT by grib_to_netcdf-2.24.3: /opt/ecmw...- longitude: 66
- latitude: 53
- time: 879
- longitude(longitude)float32-173.0 -171.8 ... -93.0 -91.75
- units :
- degrees_east
- long_name :
- longitude
array([-173. , -171.75, -170.5 , -169.25, -168. , -166.75, -165.5 , -164.25, -163. , -161.75, -160.5 , -159.25, -158. , -156.75, -155.5 , -154.25, -153. , -151.75, -150.5 , -149.25, -148. , -146.75, -145.5 , -144.25, -143. , -141.75, -140.5 , -139.25, -138. , -136.75, -135.5 , -134.25, -133. , -131.75, -130.5 , -129.25, -128. , -126.75, -125.5 , -124.25, -123. , -121.75, -120.5 , -119.25, -118. , -116.75, -115.5 , -114.25, -113. , -111.75, -110.5 , -109.25, -108. , -106.75, -105.5 , -104.25, -103. , -101.75, -100.5 , -99.25, -98. , -96.75, -95.5 , -94.25, -93. , -91.75], dtype=float32) - latitude(latitude)float3278.0 76.75 75.5 ... 15.5 14.25 13.0
- units :
- degrees_north
- long_name :
- latitude
array([78. , 76.75, 75.5 , 74.25, 73. , 71.75, 70.5 , 69.25, 68. , 66.75, 65.5 , 64.25, 63. , 61.75, 60.5 , 59.25, 58. , 56.75, 55.5 , 54.25, 53. , 51.75, 50.5 , 49.25, 48. , 46.75, 45.5 , 44.25, 43. , 41.75, 40.5 , 39.25, 38. , 36.75, 35.5 , 34.25, 33. , 31.75, 30.5 , 29.25, 28. , 26.75, 25.5 , 24.25, 23. , 21.75, 20.5 , 19.25, 18. , 16.75, 15.5 , 14.25, 13. ], dtype=float32) - time(time)datetime64[ns]2008-01-01 ... 2008-12-31T20:00:00
- long_name :
- time
array(['2008-01-01T00:00:00.000000000', '2008-01-01T10:00:00.000000000', '2008-01-01T20:00:00.000000000', ..., '2008-12-31T00:00:00.000000000', '2008-12-31T10:00:00.000000000', '2008-12-31T20:00:00.000000000'], dtype='datetime64[ns]')
- u10(time, latitude, longitude)float320.7963 0.8929 ... -0.3785 -0.7807
- units :
- m s**-1
- long_name :
- 10 metre U wind component
array([[[ 0.79633546, 0.89290833, 1.0412521 , ..., 0.8441241 , 0.5325024 , 0.26966512], [ -1.0445217 , -0.9170854 , -0.9628828 , ..., 1.6246712 , 1.073111 , 0.02375293], [ -2.6474314 , -2.6932287 , -3.0038548 , ..., 3.370947 , 2.9368668 , 2.283756 ], ..., [-12.335577 , -12.103602 , -11.587884 , ..., 4.1315823 , 0.5295156 , -1.0863367 ], [-11.686448 , -11.019399 , -10.781451 , ..., 0.2218765 , 1.1876047 , 2.4968135 ], [-11.80592 , -11.504253 , -10.82924 , ..., -1.9495184 , -0.321719 , 0.52055526]], [[ 0.25970912, 0.491683 , 0.82321644, ..., -1.788232 , -3.3503222 , -3.4349477 ], [ -1.337227 , -1.2306981 , -1.1430857 , ..., 0.6260885 , -0.7199574 , -1.5940907 ], [ -3.0466652 , -3.1322865 , -3.2288594 , ..., 0.38216746, -1.4636676 , -2.7221012 ], ... [ -3.3821812 , -3.821239 , -4.036288 , ..., 0.7814014 , -1.2117819 , -0.9469533 ], [ -4.55798 , -5.0398483 , -4.969161 , ..., 0.82620335, 1.9850771 , -0.5158602 ], [ -5.362422 , -5.713867 , -5.738757 , ..., 0.46977985, 2.7706022 , 1.1676927 ]], [[ -7.860372 , -8.315359 , -8.388039 , ..., 1.6883895 , 1.3747766 , -0.01308417], [ -3.6241112 , -3.2875996 , -3.6529834 , ..., -0.83544654, 0.19399977, -0.22415054], [ 2.9697218 , 1.7391648 , 0.42199135, ..., -2.3168936 , -1.8230778 , -5.295717 ], ..., [ -2.5359244 , -2.059034 , -1.2735088 , ..., 3.3311229 , 1.7431474 , -0.05091679], [ -2.7529645 , -3.3324015 , -3.993477 , ..., -0.52282935, -0.6970587 , 2.475906 ], [ -4.8168354 , -4.962192 , -4.7491345 , ..., -0.7189618 , -0.37846792, -0.78068876]]], dtype=float32) - v10(time, latitude, longitude)float325.058 4.742 ... 0.6049 -0.03834
- units :
- m s**-1
- long_name :
- 10 metre V wind component
array([[[ 5.0580473e+00, 4.7419996e+00, 4.4808292e+00, ..., -3.5727870e+00, -9.3973732e-01, -9.2144513e-01], [ 3.7979231e+00, 3.3751717e+00, 3.0713191e+00, ..., -5.1235523e+00, -3.3847845e+00, -2.0331998e+00], [ 2.4707277e+00, 2.3884132e+00, 2.1932971e+00, ..., -6.3592873e+00, -4.0575285e+00, 1.3447459e+00], ..., [-5.8145885e+00, -6.9690256e+00, -7.3216562e+00, ..., -6.9517488e+00, 7.0553768e-01, -1.1551778e+00], [-3.9477756e+00, -3.7841628e+00, -4.5300751e+00, ..., -4.5087337e+00, -1.7923536e+00, -4.5455694e-02], [-5.6154079e+00, -5.4477301e+00, -4.4020300e+00, ..., -3.9945223e+00, -9.9461365e-01, 6.9378257e-02]], [[ 4.9350834e+00, 4.5794029e+00, 4.3121347e+00, ..., -9.2246151e-01, 2.8904305e+00, 1.7126207e+00], [ 3.8030043e+00, 3.3141980e+00, 2.8701057e+00, ..., -3.9569218e+00, -8.2795215e-01, -1.5724087e-01], [ 2.4067054e+00, 2.0601711e+00, 1.8000165e+00, ..., -7.1072321e+00, -3.3675086e+00, -2.5175023e-01], ... [-2.7715588e-01, 3.1124079e-01, 1.8217969e-01, ..., -8.9638834e+00, -1.5901239e+00, 5.0025940e-01], [-3.5337305e-01, 1.3949800e-01, -1.9033670e-02, ..., -8.6224298e+00, 1.5764461e+00, -5.6982994e-01], [-1.0240843e+00, -1.0372953e+00, -1.1826160e+00, ..., -4.9020147e+00, -3.8385999e-01, -1.0596523e+00]], [[ 4.0082827e+00, 4.6464744e+00, 5.2104816e+00, ..., -5.4355354e+00, -4.4264193e+00, -3.4101903e+00], [ 3.5967097e+00, 4.1830740e+00, 4.5509491e+00, ..., -4.7577105e+00, -4.3268290e+00, -4.3288612e+00], [ 2.4554844e+00, 3.6393912e+00, 4.6271658e+00, ..., -6.2383566e+00, -5.8471079e+00, -4.1713457e+00], ..., [-2.2222185e+00, -2.7547228e+00, -1.1897297e+00, ..., -4.3552837e+00, 1.7939191e+00, -2.5748498e+00], [-2.5423305e+00, -1.2019246e+00, -1.8874395e-01, ..., -6.7159843e+00, 2.6404381e+00, 1.4687258e+00], [-2.8756540e+00, -1.9061713e+00, -1.9153173e+00, ..., -3.8044875e+00, 6.0493100e-01, -3.8342118e-02]]], dtype=float32) - t2m(time, latitude, longitude)float32249.1 248.3 247.6 ... 300.6 300.4
- units :
- K
- long_name :
- 2 metre temperature
array([[[249.083 , 248.31548, 247.635 , ..., 246.29779, 245.391 , 244.5143 ], [246.29936, 245.53343, 244.3339 , ..., 240.53114, 242.81944, 242.89066], [245.18054, 245.86575, 246.46869, ..., 243.76419, 247.65715, 237.94376], ..., [298.1311 , 298.20547, 298.03613, ..., 301.38474, 299.68988, 290.8152 ], [298.61218, 298.27036, 298.3305 , ..., 300.43365, 301.05716, 303.11597], [298.50616, 297.85733, 298.67865, ..., 300.66467, 301.016 , 301.63477]], [[250.29677, 249.59572, 249.04343, ..., 248.23952, 247.08429, 245.90375], [247.63025, 246.62537, 245.55876, ..., 244.97481, 245.07925, 244.08386], [246.0889 , 246.06674, 246.31995, ..., 245.96863, 246.86273, 235.63962], ... [298.16907, 298.64066, 298.46976, ..., 299.04895, 295.14648, 285.8113 ], [298.41595, 298.61377, 298.3479 , ..., 299.4873 , 301.0904 , 299.00464], [299.01572, 298.93817, 298.82422, ..., 299.97314, 300.50644, 300.2833 ]], [[256.7075 , 255.9748 , 254.98415, ..., 247.60968, 248.95798, 247.85971], [255.74692, 255.8656 , 256.17102, ..., 244.45259, 244.95424, 245.39734], [256.72333, 256.5524 , 256.3989 , ..., 247.80432, 250.23663, 251.00256], ..., [297.5709 , 297.23065, 297.9048 , ..., 300.13773, 302.86752, 295.25726], [298.33682, 298.37482, 298.0393 , ..., 299.61234, 301.40213, 303.31378], [298.647 , 298.47134, 298.3479 , ..., 300.29596, 300.60614, 300.364 ]]], dtype=float32)
- Conventions :
- CF-1.6
- history :
- 2022-06-14 00:45:00 GMT by grib_to_netcdf-2.24.3: /opt/ecmwf/mars-client/bin/grib_to_netcdf -S param -o /cache/data3/adaptor.mars.internal-1655167264.1047153-28011-19-b4a2bb83-8868-486b-bf8e-d7bf035eb998.nc /cache/tmp/b4a2bb83-8868-486b-bf8e-d7bf035eb998-adaptor.mars.internal-1655166317.8944476-28011-26-tmp.grib
Saving the thinned dataset#
The thinned dataset will be saved to a netcdf file if the outfile argument is provided.
outfile = "../../output/thinned_output.nc"
eco.thin_dataset(wind, n_thin=10, outfile=outfile)
<xarray.Dataset>
Dimensions: (longitude: 33, latitude: 27, time: 879)
Coordinates:
* longitude (longitude) float32 -173.0 -170.5 -168.0 ... -98.0 -95.5 -93.0
* latitude (latitude) float32 78.0 75.5 73.0 70.5 ... 20.5 18.0 15.5 13.0
* time (time) datetime64[ns] 2008-01-01 ... 2008-12-31T20:00:00
Data variables:
u10 (time, latitude, longitude) float32 0.7963 1.041 ... -0.3785
v10 (time, latitude, longitude) float32 5.058 4.481 ... -5.771 0.6049
t2m (time, latitude, longitude) float32 249.1 247.6 ... 299.5 300.6
Attributes:
Conventions: CF-1.6
history: 2022-06-14 00:45:00 GMT by grib_to_netcdf-2.24.3: /opt/ecmw...- longitude: 33
- latitude: 27
- time: 879
- longitude(longitude)float32-173.0 -170.5 ... -95.5 -93.0
- units :
- degrees_east
- long_name :
- longitude
array([-173. , -170.5, -168. , -165.5, -163. , -160.5, -158. , -155.5, -153. , -150.5, -148. , -145.5, -143. , -140.5, -138. , -135.5, -133. , -130.5, -128. , -125.5, -123. , -120.5, -118. , -115.5, -113. , -110.5, -108. , -105.5, -103. , -100.5, -98. , -95.5, -93. ], dtype=float32) - latitude(latitude)float3278.0 75.5 73.0 ... 18.0 15.5 13.0
- units :
- degrees_north
- long_name :
- latitude
array([78. , 75.5, 73. , 70.5, 68. , 65.5, 63. , 60.5, 58. , 55.5, 53. , 50.5, 48. , 45.5, 43. , 40.5, 38. , 35.5, 33. , 30.5, 28. , 25.5, 23. , 20.5, 18. , 15.5, 13. ], dtype=float32) - time(time)datetime64[ns]2008-01-01 ... 2008-12-31T20:00:00
- long_name :
- time
array(['2008-01-01T00:00:00.000000000', '2008-01-01T10:00:00.000000000', '2008-01-01T20:00:00.000000000', ..., '2008-12-31T00:00:00.000000000', '2008-12-31T10:00:00.000000000', '2008-12-31T20:00:00.000000000'], dtype='datetime64[ns]')
- u10(time, latitude, longitude)float320.7963 1.041 ... -3.978 -0.3785
- units :
- m s**-1
- long_name :
- 10 metre U wind component
array([[[ 0.79633546, 1.0412521 , 1.1587324 , ..., 3.2883124 , 0.9227762 , 0.5325024 ], [ -2.6474314 , -3.0038548 , -3.0586123 , ..., 5.3591523 , 3.4197311 , 2.9368668 ], [ -5.0109763 , -4.7760158 , -5.250915 , ..., 6.0958934 , 5.803188 , 5.1421123 ], ..., [-11.239426 , -10.574368 , -10.224913 , ..., -3.8232303 , 0.5325024 , -0.02901375], [-12.335577 , -11.587884 , -10.154225 , ..., 1.1437984 , -5.058765 , 0.5295156 ], [-11.80592 , -10.82924 , -9.4085245 , ..., -5.154342 , -4.1149397 , -0.321719 ]], [[ 0.25970912, 0.82321644, 1.1886003 , ..., 3.2873168 , 0.37718952, -3.3503222 ], [ -3.0466652 , -3.2288594 , -3.3981109 , ..., 4.6094685 , 1.709297 , -1.4636676 ], [ -5.480898 , -5.512757 , -6.271401 , ..., 5.2496367 , 4.2341285 , 2.153333 ], ... [ -1.8549368 , -2.4423385 , -3.3294146 , ..., -2.406497 , 1.3339572 , -1.415879 ], [ -3.3821812 , -4.036288 , -5.4858756 , ..., 3.790093 , -4.228438 , -1.2117819 ], [ -5.362422 , -5.738757 , -6.6497273 , ..., -7.131596 , -3.3881547 , 2.7706022 ]], [[ -7.860372 , -8.388039 , -7.8245306 , ..., 0.6131457 , 0.5763087 , 1.3747766 ], [ 2.9697218 , 0.42199135, -0.0170666 , ..., -1.2446365 , -3.5693533 , -1.8230778 ], [ 8.869624 , 8.056222 , 6.347779 , ..., -1.6478529 , -2.9560661 , -5.2031264 ], ..., [ -3.3164718 , 0.21689856, 0.06457233, ..., 1.3966799 , 0.02972651, -2.5867 ], [ -2.5359244 , -1.2735088 , -2.1585937 , ..., 4.1674237 , -6.2076826 , 1.7431474 ], [ -4.8168354 , -4.7491345 , -4.113944 , ..., -7.400407 , -3.9775476 , -0.37846792]]], dtype=float32) - v10(time, latitude, longitude)float325.058 4.481 3.698 ... -5.771 0.6049
- units :
- m s**-1
- long_name :
- 10 metre V wind component
array([[[ 5.0580473 , 4.4808292 , 3.6983325 , ..., -14.623263 , -8.089926 , -0.9397373 ], [ 2.4707277 , 2.1932971 , 0.51753527, ..., -10.341889 , -8.8409195 , -4.0575285 ], [ 0.16287136, -0.72124815, -1.2781417 , ..., -3.8725746 , -3.3532817 , -2.4478214 ], ..., [ -6.9253273 , -7.8226576 , -8.617349 , ..., -0.89908814, -2.0260863 , -1.0596523 ], [ -5.8145885 , -7.321656 , -8.107202 , ..., 1.9524509 , -7.8419657 , 0.7055377 ], [ -5.615408 , -4.40203 , -6.141814 , ..., -3.599209 , -5.2759867 , -0.99461365]], [[ 4.9350834 , 4.3121347 , 3.5713038 , ..., -13.065384 , -7.3653545 , 2.8904305 ], [ 2.4067054 , 1.8000165 , 1.1628408 , ..., -10.494324 , -10.6650505 , -3.3675086 ], [ 0.6089959 , 0.22079635, 0.05006993, ..., -8.505564 , -9.12648 , -7.6163635 ], ... [ 0.09783268, 1.2167009 , 1.2024738 , ..., 0.48603213, -0.1409812 , -0.6694205 ], [ -0.27715588, 0.18217969, 0.20961785, ..., -2.5463955 , -10.168115 , -1.5901239 ], [ -1.0240843 , -1.182616 , -1.4021215 , ..., -1.5789454 , -7.0950375 , -0.38386 ]], [[ 4.0082827 , 5.2104816 , 6.090536 , ..., -7.4497013 , -5.826783 , -4.4264193 ], [ 2.4554844 , 4.627166 , 4.737935 , ..., -7.793187 , -6.3481092 , -5.847108 ], [ -0.7486863 , -0.5149536 , 0.29193246, ..., -6.2383566 , -3.6571343 , -5.5249634 ], ..., [ -3.3451517 , -5.565613 , -0.22736073, ..., -0.6572256 , -1.3726509 , -1.5637021 ], [ -2.2222185 , -1.1897297 , 0.45656157, ..., 0.75025177, -6.513755 , 1.7939191 ], [ -2.875654 , -1.9153173 , -0.81067634, ..., -2.268965 , -5.770891 , 0.604931 ]]], dtype=float32) - t2m(time, latitude, longitude)float32249.1 247.6 245.6 ... 299.5 300.6
- units :
- K
- long_name :
- 2 metre temperature
array([[[249.083 , 247.635 , 245.58566, ..., 248.09076, 246.70766, 245.391 ], [245.18054, 246.46869, 246.06833, ..., 245.27707, 245.24384, 247.65715], [247.99423, 248.82979, 249.56723, ..., 242.69759, 241.53603, 237.95166], ..., [297.34302, 297.38098, 297.5693 , ..., 298.62958, 297.83517, 298.36374], [298.1311 , 298.03613, 297.6864 , ..., 300.15353, 301.47336, 299.68988], [298.50616, 298.67865, 298.7087 , ..., 300.39725, 300.00003, 301.016 ]], [[250.29677, 249.04343, 247.55588, ..., 249.14313, 248.47372, 247.08429], [246.0889 , 246.31995, 246.44496, ..., 245.79138, 247.32324, 246.86273], [248.6573 , 249.43747, 249.91696, ..., 246.70132, 245.9797 , 242.58365], ... [297.9048 , 298.18173, 297.85733, ..., 282.8014 , 291.22348, 293.96753], [298.16907, 298.46976, 298.158 , ..., 300.87357, 299.45566, 295.14648], [299.01572, 298.82422, 298.74985, ..., 300.2738 , 299.3259 , 300.50644]], [[256.7075 , 254.98415, 253.10571, ..., 245.68694, 245.28024, 248.95798], [256.72333, 256.3989 , 255.63773, ..., 246.10788, 246.9656 , 250.23663], [254.19447, 254.36697, 254.27043, ..., 248.01639, 250.64493, 251.57385], ..., [297.4886 , 296.5913 , 295.9504 , ..., 300.70743, 300.58716, 301.26605], [297.5709 , 297.9048 , 298.0045 , ..., 301.73605, 300.70267, 302.86752], [298.647 , 298.3479 , 298.46027, ..., 300.40356, 299.45407, 300.60614]]], dtype=float32)
- Conventions :
- CF-1.6
- history :
- 2022-06-14 00:45:00 GMT by grib_to_netcdf-2.24.3: /opt/ecmwf/mars-client/bin/grib_to_netcdf -S param -o /cache/data3/adaptor.mars.internal-1655167264.1047153-28011-19-b4a2bb83-8868-486b-bf8e-d7bf035eb998.nc /cache/tmp/b4a2bb83-8868-486b-bf8e-d7bf035eb998-adaptor.mars.internal-1655166317.8944476-28011-26-tmp.grib