راهنمای دریافت داده ماهواره - داده بارش با اسکریپت پایتون
شکل 1: به عنوان مثال نتایج جستجوی Mirador برای IMERG.
بررسی اجمالی:
داده های GPM IMERG را با استفاده از پایتون بخوانید.
این دستورالعمل نحوه خواندن داده ها از مجموعه داده IMERG ماموریت جهانی اندازه گیری بارش (GPM) با استفاده از پایتون را نشان می دهد.
بهترین شکل:
کاربر می خواهد داده های GPM IMERG را با استفاده از پایتون بخواند
مثال:
داده های مثال: GPM سطح 3 IMERG ماهانه بارش 0.1 در 0.1 درجه (GPM_3IMERGM) در ژوئیه 2015.
زمان تخمین زده شده برای انجام مراحل زیر: 20 دقیقه
مورد نیاز: پایتون و بسته های رایگان: numpy ،matplotlib ،basemap و h5py. Matplotlib و Basemap فقط برای ترسیم نقشه مورد نیاز هستند.
روش:
1. داده ها را بارگیری کنید
در این دستور العمل، ما از موتور جستجوی داده، Mirador استفاده می کنیم، اما ممکن است شما با استفاده از سایر خدمات داده در GES DISC، داده ها را بدست آورید.
در یک مرورگر وب، به این لینک بروید.
در قسمت Keyword ،IMERG را وارد کرده و Search GES-DISC را فشار دهید.
نتیجه اول تخمین بارش ماهانه را نشان می دهد، ماهانه GPM سطح 3 IMERG ماهانه 0.1 در 0.1 درجه بارندگی (GPM_3IMERGM). بر روی مشاهده فایلها کلیک کنید (فلش قرمز را در شکل 1 ببینید).
برای بارگیری روی اولین نام پرونده موجود در لیست کلیک کنید. نامیده می شود، 3B-MO.MS.MRG.3IMERG.20150701-S000000-E235959.07.V03D.HDF5.
توجه: این دستور العمل برای هر داده IMERG و نه فقط تخمین های ماهانه کار می کند.
2. اسکریپت پایتون زیر را اجرا کنید:
# This is a sample script that reads and plots the IMERG data.
from mpl_toolkits.basemap import Basemap, cm
import matplotlib.pyplot as plt
import numpy as np
import h5py as h5py
dataset = h5py.File('/path/to/data/3B-MO.MS.MRG.3IMERG.20150801-S000000-E235959.08.V03D.HDF5', 'r') # Change this to the proper path
precip = dataset['Grid/precipitation'][:]
precip = np.transpose(precip)
theLats= dataset['Grid/lat'][:]
theLons = dataset['Grid/lon'][:]
# Plot the figure, define the geographic bounds
fig = plt.figure(dpi=300)
latcorners = ([-60,60])
loncorners = ([-180,180])
m = Basemap(projection='cyl',llcrnrlat=latcorners[0],urcrnrlat=latcorners[1],llcrnrlon=loncorners[0],urcrnrlon=loncorners[1])
# Draw coastlines, state and country boundaries, edge of map.
m.drawcoastlines()
m.drawstates()
m.drawcountries()
# Draw filled contours.
clevs = np.arange(0,1.26,0.125)
# Define the latitude and longitude data
x, y = np.float32(np.meshgrid(theLons, theLats))
# Mask the values less than 0 because there is no data to plot.
masked_array = np.ma.masked_where(precip < 0,precip)
# Plot every masked value as white
cmap = cm.GMT_drywet
cmap.set_bad('w',1.)
# Plot the data
cs = m.contourf(x,y,precip,clevs,cmap=cmap,latlon=True)
parallels = np.arange(-60.,61,20.)
m.drawparallels(parallels,labels=[True,False,True,False])
meridians = np.arange(-180.,180.,60.)
m.drawmeridians(meridians,labels=[False,False,False,True])
# Set the title and fonts
plt.title('August 2015 Monthly Average Rain Rate')
font = {'weight' : 'bold', 'size' : 6}
plt.rc('font', **font)
# Add colorbar
cbar = m.colorbar(cs,location='right',pad="5%")
cbar.set_label('mm/h')
plt.savefig('testIMERGmap.png',dpi=200)
دانلود کد اسکریپ پایتون این روش
شناسه تلگرام مدیر سایت: SubBasin@
نشانی ایمیل: behzadsarhadi@gmail.com
(سوالات تخصصی را در گروه تلگرام ارسال کنید)
_______________________________________________________
نظرات (۰)