[ncl-talk] How to get the regional data of SMAP L4 *(HDF5 format)
Mary Haley
haley at ucar.edu
Thu Dec 14 09:21:05 MST 2017
Dear Yi Lu,
You are trying to extract the region from your HDF5 data by using
coordinate subscripting.
Coordinate subscripting can only be done on rectilinear data, which is data
represented by one-dimensional lat/lon arrays that are the same length as
their corresponding dimension.
Your data is likely curvilinear, which means your data is represented by
two-dimensional lat/lon arrays. I say this because in your code it looks
like you are extracting 2D lat/lon arrays:
lat2d = f->cell_lat
lon2d = f->cell_lon
nSmapLat = dimsizes(lat2d(:,0))
nSmapLon = dimsizes(lon2d(0,:))
Given this information, you cannot use coordinate subscripting to subscript
your data. Instead, you either need to use the function *getind_latlon2d*
or *region_ind* to get the indexes of the area of interest. For example:
lat_reg = (/minLatBoundary,maxLatBoundary/)
lon_reg = (/minLonBoundary,maxLonBoundary/)
ij = getind_latlon2d(lat2d,lon2d,lat_reg,lon_reg)
sm_regional = sm(ij(0,0):ij(1,0),ij(0,1):ij(1,1))
Before plotting, you need to subset your lat2d / lon2d arrays using the
same indexing:
res at sfXArray = lon2d(ij(0,0):ij(1,0),ij(0,1):ij(1,1))
res at sfYArray = lat2d(ij(0,0):ij(1,0),ij(0,1):ij(1,1))
Please see our "Subsetting / extracting data based on lat / lon values"
example page:
http://www.ncl.ucar.edu/Applications/latlon_subset.shtml
and in particular, look at examples latlon_subset_2.ncl and
latlon_subset_3.ncl, which show the difference between getind_latlon2d and
region_ind.
Also, to better understand the different types of data (rectilinear,
curvilinear, unstructured) and how to plot them, see:
http://www.ncl.ucar.edu/Applications/plot_data_on_map.shtml
Good luck,
--Mary
On Wed, Dec 13, 2017 at 7:05 PM, 易路 <dg1225033 at smail.nju.edu.cn> wrote:
> Hi, all
> Sorry to disturb you for technical help.
>
> I am trying to extract the regional data from the soil product SMAP L4
> which is stored in the format of HDF5. I wrote the ncl script taking
> referecnce to the example listed on the web of http://www.ncl.ucar.edu/
> Applications/HDF.shtml. But the extracted data were not in the demond
> region. So would you please help me to find the faults in my ncl script?
> The main part of this script is as follow, and the detail information can
> be downloaded from the accessory.
> ********main part of the script *********
> nFiles = dimsizes(iFiles)
> f = addfile(iFiles(0), "r")
> lat2d = f->cell_lat
> lon2d = f->cell_lon
>
> nSmapLat = dimsizes(lat2d(:,0))
> nSmapLon = dimsizes(lon2d(0,:))
> minSmapLat = min(lat2d)
> maxSmapLat = max(lat2d)
> minSmapLon = min(lon2d)
> maxSmapLon = max(lon2d)
>
> lat=fspan(minSmapLat, maxSmapLat, nSmapLat)
> lat!0="lat"
> lat&lat=lat
> lat at units="degrees_north"
> lat at long_name="Latitude"
> lon=fspan(minSmapLon,maxSmapLon, nSmapLon)
> lon!0="lon"
> lon&lon=lon
> lon at units="degrees_east"
> lon at long_name="Longitude"
>
> lat2d!0="lat"
> lat2d!1="lon"
> lat2d&lon=lon
> lat2d&lat=lat
>
> lon2d!0="lat"
> lon2d!1="lon"
> lon2d&lon=lon
> lon2d&lat=lat
>
> minLatBoundary = 25
> maxLatBoundary = 35
> minLonBoundary = 110
> maxLonBoundary = 120
>
> sm = f->sm_rootzone
> printVarSummary(sm)
> sm!0="lat"
> sm!1="lon"
> sm&lon=lon
> sm&lat=lat
> printVarSummary(sm)
>
> sm_regional = sm({minLatBoundary:maxLatBoundary},{
> minLonBoundary:maxLonBoundary})
> ***********************************
>
> Thanks a lot for your precious attentions and time!
>
> Yi Lu
>
>
>
>
>
> 易路
>
> 南大邮件系统/学生/博士生/12级博士生
>
> 南京市汉口路22号
>
> ------------------------------
> *从腾讯企业邮箱发来的超大附件*
>
> <http://exmail.qq.com/cgi-bin/ftnExs_download?k=523465623d8c4a92182f6ffe1038075719575c5a030c065706190304015b1d51000c504f0e0e55561b075257010c0452050d070051381e65657924326874043a65793a0547506f57060550520f0905310605565207086f334007555107670055181a4b4c5f0d3058&t=exs_ftn_download&code=64eb780e&s=email>
> SMAP_L4_SM_gph_20150815T013000_Vv3030_001.h5
> <http://exmail.qq.com/cgi-bin/ftnExs_download?k=523465623d8c4a92182f6ffe1038075719575c5a030c065706190304015b1d51000c504f0e0e55561b075257010c0452050d070051381e65657924326874043a65793a0547506f57060550520f0905310605565207086f334007555107670055181a4b4c5f0d3058&t=exs_ftn_download&code=64eb780e&s=email>
> (136.33M, 2018年01月12日 11:27 到期)
> 进入下载页面
> <http://exmail.qq.com/cgi-bin/ftnExs_download?k=523465623d8c4a92182f6ffe1038075719575c5a030c065706190304015b1d51000c504f0e0e55561b075257010c0452050d070051381e65657924326874043a65793a0547506f57060550520f0905310605565207086f334007555107670055181a4b4c5f0d3058&t=exs_ftn_download&code=64eb780e&s=email>
> :http://exmail.qq.com/cgi-bin/ftnExs_download?k=
> 523465623d8c4a92182f6ffe1038075719575c5a030c065706190304015b
> 1d51000c504f0e0e55561b075257010c0452050d070051381e6565792432
> 6874043a65793a0547506f57060550520f0905310605565207086f334007
> 555107670055181a4b4c5f0d3058&t=exs_ftn_download&code=64eb780e&s=email
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171214/9b401746/attachment.html>
More information about the ncl-talk
mailing list