Skip to content

Commit 05e96bc

Browse files
authored
Get data from GEE to netcdf
1 parent dd87383 commit 05e96bc

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

xarray_tutorial/read_gee2nc.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import ee
2+
import numpy as np
3+
ee.Initialize()
4+
import xarray as xr
5+
data_dir = '/home/cccr/msingh/data/merra_aod_global_1980_2020/MERRA2_100.tavg1_2d_aer_Nx.1981_monmean.nc4'
6+
import sys
7+
dates = sys.argv[1]# '2020-03-23'
8+
datee = sys.argv[2]# '2020-04-24'
9+
ds_merra2 = xr.open_dataset(data_dir)
10+
collection_evi = ee.ImageCollection('MODIS/MYD09GA_006_EVI').select('EVI').filterDate(dates,datee ).mean()
11+
collection_ndsi = ee.ImageCollection('MODIS/MYD09GA_006_NDSI').select('NDSI').filterDate(dates,datee ).mean()
12+
collection_ndwi = ee.ImageCollection('MODIS/MYD09GA_006_NDWI').select('NDWI').filterDate(dates,datee ).mean()
13+
collection_ndvi = ee.ImageCollection('MODIS/MYD09GA_006_NDVI').select('NDVI').filterDate(dates,datee ).mean()
14+
#p = ee.Geometry.Point(32.3, 40.3)
15+
lats = ds_merra2.lat.values
16+
lons = ds_merra2.lon.values
17+
print(lats.shape, lons.shape, ds_merra2.TOTEXTTAU.values.shape)
18+
evi = np.zeros((lats.shape[0], lons.shape[0]))
19+
ndsi = np.zeros((lats.shape[0], lons.shape[0]))
20+
ndwi = np.zeros((lats.shape[0], lons.shape[0]))
21+
ndvi = np.zeros((lats.shape[0], lons.shape[0]))
22+
23+
#data = collection_evi.reduceRegion(ee.Reducer.first(),p,50000).get("EVI")# 0.5 degree = 50km =50000
24+
#dataN = ee.Number(data)
25+
#print(type(dataN.getInfo()))
26+
#print(dataN.getInfo())
27+
for i_lat in range(lats.shape[0]):
28+
for j_lon in range(lons.shape[0]):
29+
p = ee.Geometry.Point(lons[j_lon], lats[i_lat]) #p = ee.Geometry.Point([lon, lat])
30+
data = collection_evi.reduceRegion(ee.Reducer.first(),p,50000).get("EVI")# 0.5 degree = 50km =50000
31+
evi[i_lat, j_lon] = ee.Number(data).getInfo()
32+
data = collection_ndsi.reduceRegion(ee.Reducer.first(),p,50000).get("NDSI")# 0.5 degree = 50km =50000
33+
ndsi[i_lat, j_lon] = ee.Number(data).getInfo()
34+
data = collection_ndwi.reduceRegion(ee.Reducer.first(),p,50000).get("NDWI")# 0.5 degree = 50km =50000
35+
ndwi[i_lat, j_lon] = ee.Number(data).getInfo()
36+
data = collection_ndvi.reduceRegion(ee.Reducer.first(),p,50000).get("NDVI")# 0.5 degree = 50km =50000
37+
ndvi[i_lat, j_lon] = ee.Number(data).getInfo()
38+
print(lats[i_lat], lons[j_lon])
39+
# evi[] print(dataN.getInfo())
40+
41+
ds_merra2['evi'] = (('lat', 'lon'), evi)
42+
ds_merra2['ndsi'] = (('lat', 'lon'), ndsi)
43+
ds_merra2['ndwi'] = (('lat', 'lon'), ndwi)
44+
ds_merra2['ndvi'] = (('lat', 'lon'), ndvi)
45+
46+
ds_merra2.evi.to_netcdf('evi.nc')
47+
ds_merra2.ndsi.to_netcdf('ndsi.nc')
48+
ds_merra2.ndwi.to_netcdf('ndwi.nc')
49+
ds_merra2.ndvi.to_netcdf('ndvi.nc')

0 commit comments

Comments
 (0)