c 网站开发 vs2012,游戏软件网站开发,山东飞鸿建设集团网站,网站制作工作室24小时接单添加新云天气象主编微信或QQ#xff1a;130188121#xff0c;及时获取或发布气象升学、就业、会议、征稿及学术动态等信息#xff01;通常情况下#xff0c;要获取某个区域内的格点数据#xff0c;如果要求不是很高#xff0c;直接采取矩形框挑选方法——即锁定所需范围内… 添加新云天气象主编微信或QQ130188121及时获取或发布气象升学、就业、会议、征稿及学术动态等信息 通常情况下要获取某个区域内的格点数据如果要求不是很高直接采取矩形框挑选方法——即锁定所需范围内的经纬度就能挑选出需要的数据。而对于不规则的范围数据的匹配精度有一定要求譬如需要严格按照某个特定区域的shapefile文件来截取数据。虽然NCL官网提供了可行的解决方案但是 shapefile_mask_data(包含在shapefile_utils.ncl中官网有提供)也仅仅是较好地适用于2维的Lat-Lon数据对于3维或者更高维度的数据其处理效率非常低下。所以针对于这个问题在实际的操作中我给出了一个快速处理的方案仅供参考 1 load ../shapefile_utils.ncl 2 3 yearn 14 ; 1996-2009 4 leadn 30 ; days 5 pentadn 6 6 itemn 3 7 year ispan(1996,2009,1) 8 lead ispan(1,30,1) 9 pentad ispan(1,6,1)10 item ispan(1,3,1)1112; Longitude co-ordinate13; ................14 nlon24715 lonfspan(73.5,135.0,247)16 lon!0lon17 lonlonlon18 lonunitsdegrees_east19 lonlong_nameLongitude20 ; printVarSummary(lon) 2122; Latitude co-ordinate23; ................24 nlat16925 latfspan(16.5,58.5,169)26 lat!0lat27 latlatlat28 latunitsdegrees_north29 latlong_nameLatitude30 ; printVarSummary(lat)3132 filp1 /Users/zhpfu/Dropbox/S2S_material/code/S2S_South_China_Tibet_NEW/0.TP/33 f_cma addfile(filp1CMA_TP_hr.nc,r)34 f_eccc addfile(filp1ECCC_TP_hr.nc,r)35 f_ecmwf addfile(filp1ECMWF_TP_hr.nc,r)36 f_hmcr addfile(filp1HMCR_TP_hr.nc,r)37 f_ukmo addfile(filp1UKMO_TP_hr.nc,r)3839 f_obs addfile(filp1Obs_TP_hr.nc,r)40 f_era5 addfile(filp1ERA5_TP_hr.nc,r)41 f_erai addfile(filp1ERAI_TP_hr.nc,r)4243 tp_cma f_cma-tp44 tp_eccc f_eccc-tp45 tp_ecmwf f_ecmwf-tp46 tp_hmcr f_hmcr-tp47 tp_ukmo f_ukmo-tp4849 tp_obs f_obs-tp50 tp_era5 f_era5-tp51 tp_erai f_erai-tp5253 ; printVarSummary(tp_cma)5455;---Open shapefile and read lat/lon values.56 dir /Users/zhpfu/Dropbox/S2S_material/code/South_China_Tibet/xinan/ 57 shp_filename dir southwest.shp58 ; dim_cma dimsizes(tp_cma)59 ; print(dim_cma)60 ; Variable: dim_cma61 ; Type: integer62 ; Total Size: 20 bytes63 ; 5 values64 ; Number of Dimensions: 165 ; Dimensions and sizes: [5]66 ; Coordinates:67 ; (0) 2768 ; (1) 1469 ; (2) 3070 ; (3) 16971 ; (4) 2477273 mask_in shapefile_mask_data(tp_erai(0,0,:,:),shp_filename,True)74 mask_io where(ismissing(mask_in), 0, 1)7576 erai_mask tp_erai 77 erai_mask mask (erai_mask, conform(erai_mask, mask_io, (/2,3/)), 1)78 copy_VarCoords(tp_erai,erai_mask)79; 80 diro /Users/zhpfu/Dropbox/S2S_material/code/S2S_South_China_Tibet_NEW/0.TP/ ; Output directory81 filo ERAI_TP_hr_mask.nc ; Output file82 system(/bin/rm -f diro filo) ; remove if exists83 fout addfile (diro filo, c) ; open output file84 fout-tp erai_mask其中核心代码就是1 mask_in shapefile_mask_data(tp_erai(0,0,:,:),shp_filename,True) ; 构建母版——最基础的2D mask范围2 mask_io where(ismissing(mask_in), 0, 1) ;将所需范围内外数据的分离开34 erai_mask tp_erai ;简化的数组创建方案 5 erai_mask mask (erai_mask, conform(erai_mask, mask_io, (/2,3/)), 1) ;处理高维数组进行mask6 copy_VarCoords(tp_erai,erai_mask) ;复制坐标信息总结一下由于使用了自带的mask、conform和where函数相比于shapefile_mask_data基础上多层循环嵌套具有速度快、效率较高。如果你有什么更好更快的办法也欢迎留言有任何问题都欢迎交流探讨共同学习进步往期回顾气象招聘 | 中国海洋大学2020年科研博士后招聘启事(含大气/海洋)气象招聘 | 2020年中国气象局上海台风研究所岗位招聘公告2020上海国际气象人才招聘会大气与环境科学青年人才论坛延期通知新云天气象公众号联系人微信/QQ1301881212020大气与海洋春季招聘会QQ群3465774272021届气象本科考研与就业QQ群6395222392020上海气象招聘会(21届秋招)群696948743