راهنمای دریافت داده ماهواره - داده بارش با اسکریپت پایتون :: بیسین - سایت تخصصی مهندسی آب

راهنمای دریافت داده ماهواره - داده بارش با اسکریپت پایتون

شکل 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)


دانلود کد اسکریپ پایتون این روش



پروژه تخصصی در لینکدین




نظرات (۰)

فرم ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی


درباره بهترين هاي بيسيـــن بدانيد...

Bird

يکي از مهمترين اهداف اين سايت تهيه آموزش هاي روان از ابزارهاي کاربردي علوم آب است.

اهميت مطالعات محيطي با ابزارهاي نوين در چيست؟

امروز با فارغ التحصيلي جمع کثير دانشجويان سالهاي گذشته و حال، با گذر از کمي گرايي ديگر صرف وجود مدارک دانشگاهي حرف اول را در بازار کار نمي زند؛ بلکه سنجش ديگري ملاک؛ و شايسته سالاري به ناچار! باب خواهد شد. يکي از مهم ترين لوازم توسعه علمي در هر کشور و ارائه موضوعات ابتکاري، بهره گيري از ابزار نوين است، بيسين با همکاري مخاطبان مي تواند در حيطه علوم آب به معرفي اين مهم بپردازد.

جستجو در بيسين


بیسین - سایت تخصصی مهندسی آب

سایت مهندسی آب بیسین با معرفی مهم ترین و کاربردی ترین نرم افزارها و مدل های شبیه سازی در حیطه مهندسی آب، تلاش به تهیه خدمات یکپارچه و محلی از محاسبات هیدرولوژیکی و هیدرولیکی می کند

W3Schools


اطلاعات سايت

  • behzadsarhadi@gmail.com
  • بهزاد سرهادي
  • شناسه تلگرام: SubBasin
  • شماره واتساپ: 09190622992-098
  • شماره تماس: 09190622992-098

W3Schools