- 积分
- 491
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-9-15
- 最后登录
- 1970-1-1
![[有远方也有你] 粉丝数:73 微博数:254 新浪微博达人勋](source/plugin/sina_login/img/light.png)
|
NCL
系统平台: |
|
问题截图: |
|
问题概况: |
wrfout输出数据使用ncl进行插值到ERA_Interim数据上,左边是wrf模拟的数据,但是插值之后在地图上显示的依旧是Lambert投影,想请问一下各位大佬怎么才能画图成右边的方形,自己改了几天也没改好。相关代码已贴出 |
我看过提问的智慧: |
看过 |
自己思考时长(天): |
2 |
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 王精志 于 2021-7-15 10:49 编辑
begin
path1 = "/Volumes/UNTITLED/1979/"
p1 = systemfunc("cd " + path1 +"; ls wrfout_d01_1979-0*")
;print(p1)
d = dimsizes(p1)
f1 = addfiles(path1+p1, "r")
ListSetType(f1, "cat")
printVarSummary(f1)
f = addfile ("/Volumes/UNTITLED/1979/1979.nc", "r")
f2 = addfile ("/Volumes/UNTITLED/1979/sfc.to.nc", "r")
LAT= wrf_user_getvar(f1,"XLAT",0) ; latitude/longitude
LON = wrf_user_getvar(f1,"XLONG",0) ; required for plotting
;lon = f->longitude({min(LON):max(LON)})
;lat = f->latitude({min(LAT):max(LAT)})
longitude = lonFlip(f->longitude)
latitude = f->latitude
lon = longitude({min(LON):max(LON)})
lat = latitude({min(LAT):max(LAT)})
;土壤温度
TSLB = wrf_user_getvar(f1,"TSLB",-1)
tslb_xgrd = rcm2rgrid_Wrap(LAT,LON,TSLB,lat,lon,0)
tslb_xgrd@lat2d = LAT
tslb_xgrd@lon2d = LON
printVarSummary(TSLB)
tslb1 = tslb_xgrd(:,0,:,:)
tslb2 = tslb_xgrd(:,1,:,:)
tslb3 = tslb_xgrd(:,2,:,:)
tslb4 = tslb_xgrd(:,3,:,:)
printVarSummary(tslb1)
;============================================================================================================================
wks1 = gsn_open_wks("png","/Volumes/UNTITLED/1979/spin_up_1979(TSLB)_map")
;tslb1_xgrd = rcm2rgrid_Wrap(LAT,LON,tslb1,lat,lon,0)
;tslb2_xgrd = rcm2rgrid_Wrap(LAT,LON,tslb2,lat,lon,0)
;tslb3_xgrd = rcm2rgrid_Wrap(LAT,LON,tslb3,lat,lon,0)
;tslb4_xgrd = rcm2rgrid_Wrap(LAT,LON,tslb4,lat,lon,0)
;delete(tslb1_xgrd&latitude)
;delete(tslb1_xgrd&longitude)
tslb1@lat2d = LAT
tslb1@lon2d = LON
daily_avg_tslb1_t = new((/4,55,98/),"float")
daily_avg_tslb1_t(0,:,:) = dim_avg_n_Wrap(tslb1,(/0/))
daily_avg_tslb1_t(1,:,:) = dim_avg_n_Wrap(tslb2,(/0/))
daily_avg_tslb1_t(2,:,:) = dim_avg_n_Wrap(tslb3,(/0/))
daily_avg_tslb1_t(3,:,:) = dim_avg_n_Wrap(tslb4,(/0/))
printVarSummary(daily_avg_tslb1_t)
a = daily_avg_tslb1_t(0,:,:)
delete(a@lat2d)
delete(a@lon2d)
printVarSummary(LAT)
stl1 = short2flt(f->stl1(:,{min(LAT):max(LAT)},{min(LON):max(LON)}))
printVarSummary(stl1)
stl2 = short2flt(f->stl2(:,{min(LAT):max(LAT)},{min(LON):max(LON)}))
stl3 = short2flt(f->stl3(:,{min(LAT):max(LAT)},{min(LON):max(LON)}))
stl4 = short2flt(f->stl4(:,{min(LAT):max(LAT)},{min(LON):max(LON)}))
daily_avg_tslb1_t_ERA = new((/4,55,98/),"float")
daily_avg_tslb1_t_ERA(0,:,:) = dim_avg_n_Wrap(stl1,(/0/))
daily_avg_tslb1_t_ERA(1,:,:) = dim_avg_n_Wrap(stl2,(/0/))
daily_avg_tslb1_t_ERA(2,:,:) = dim_avg_n_Wrap(stl3,(/0/))
daily_avg_tslb1_t_ERA(3,:,:) = dim_avg_n_Wrap(stl4,(/0/))
res = True
res@gsnMaximize = True ; maximize plot in frame
res@gsnFrame = False
res@gsnDraw = False
res@cnFillOn =True ; turn on color
res@cnInfoLabelOn = False
res@cnLevelSelectionMode = "ExplicitLevels"
res@cnLevels = (/264,268,272,276,280,284,288,292,296,300,304,308/)
res@mpMinLatF = min(tslb_xgrd@lat2d)
res@mpMaxLatF = max(tslb_xgrd@lat2d)
res@mpMinLonF = min(tslb_xgrd@lon2d)
res@mpMaxLonF = max(tslb_xgrd@lon2d)
res = wrf_map_resources(f1[0],res)
res@gsnAddCyclic = False
res@tfDoNDCOverlay = True ; Tell NCL you are doing a native plot
plots1= new(8,graphic)
plots1(0) = gsn_csm_contour_map(wks1,daily_avg_tslb1_t(0,:,:),res)
plots1(1) = gsn_csm_contour_map(wks1,daily_avg_tslb1_t_ERA(0,:,:),res)
plots1(2) = gsn_csm_contour_map(wks1,daily_avg_tslb1_t(1,:,:),res)
plots1(3) = gsn_csm_contour_map(wks1,daily_avg_tslb1_t_ERA(1,:,:),res)
plots1(4) = gsn_csm_contour_map(wks1,daily_avg_tslb1_t(2,:,:),res)
plots1(5) = gsn_csm_contour_map(wks1,daily_avg_tslb1_t_ERA(2,:,:),res)
plots1(6) = gsn_csm_contour_map(wks1,daily_avg_tslb1_t(3,:,:),res)
plots1(7) = gsn_csm_contour_map(wks1,daily_avg_tslb1_t_ERA(3,:,:),res)
rtsP = True ; modify the panel plot
rtsP@gsnMaximize = True ; large format
gsn_panel(wks1,plots1,((/4,2/)),rtsP) ; draw all 'neof' as one plot
end
|
|