- 积分
- 11
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2023-10-26
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
; Script display location of model domains
; Only works for ARW domains
; Reads namelist file directly
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/cnmap/cnmap.ncl"
;load "./WRFUserARW.ncl"
begin
;
; We generate plots, but what kind do we prefer?
type = "png"
; type = "pdf"
; type = "ps"
; type = "ncgm"
wks = gsn_open_wks(type,"wps_show_dom")
; read the following namelist file
filename = "./namelist.wps"
; Set the colors to be used
cmap =(/ \
(/ 255./255, 255./255, 255./255/), \ ; 0 - White background.
(/ 0./255 , 0./255 ,0./255 /), \ ; 1 - Black foreground.
(/ 255./255, 0./255 ,0./255 /), \ ; 2 - Red.
(/ 0./255 , 0./255 , 255./255/), \ ; 3 - Blue.
(/ 164./255, 244./255, 131./255/), \ ; 4 - Ocean Blue.
(/ 0./255 , 0./255 ,255./255 /), \ ; 5 - Bar 1
(/ 0./255 , 153./255, 255./255/), \ ; 6 - Bar 2
(/ 0./255, 153./255, 153./255/), \ ; 7 - Bar 3
(/ 0./255 , 255./255, 0./255 /), \ ; 8 - Bar4
(/ 255./255, 255./255 , 102./255/), \ ; 9 - Bar 5
(/ 255./255, 153./255 ,102./255 /), \ ; 10 - Bar 6
(/ 255./255, 0./255 ,255./255 /) \ ; 11 - Bar7
/)
gsn_define_colormap(wks, cmap)
; Set some map information ; line and text information
mpres = True
mpres@mpMaxLatF = 60 ; specify the plot domain
mpres@mpMinLatF = 10 ;
mpres@mpMaxLonF = 130 ;
mpres@mpMinLonF = 90
mpres@mpOutlineOn = True
mpres@mpDataBaseVersion = "MediumRes"
mpres@mpDataSetName = "Earth..4" ;选择地图集
mpres@mpFillOn = True
mpres@mpAreaMaskingOn =True
mpres@mpMaskAreaSpecifiers = (/"China","Taiwan","Arunachal Pradesh","Disputed area between India and China"/)
mpres@mpFillColors = (/"background","DeepSkyBlue","ForestGreen","DeepSkyBlue", "transparent"/)
mpres@mpOceanFillColor = "SkyBlue"
mpres@mpInlandWaterFillColor = "blue"
mpres@mpGeophysicalLineColor = "Black"
mpres@mpGridLineColor = "Black"
mpres@mpLimbLineColor = "Black"
mpres@mpNationalLineColor = "Black"
mpres@mpPerimLineColor = "Black"
mpres@mpUSStateLineColor = "Black"
;mpres@mpGridSpacingF = 45
mpres@tiMainString = " WPS Domain Configuration "
lnres = True
lnres@gsLineThicknessF = 2.5
lnres@domLineColors = (/ "Red", "Red" , "Red" , "Blue" /)
txres = True
txres@txFont = "helvetica-bold"
;txres@txJust = "BottomLeft"
txres@txJust = "TopLeft"
txres@txPerimOn = False
txres@txFontHeightF = 0.015
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Do not change anything between the ";;;;;" lines
mpres@max_dom = stringtoint (systemfunc("grep max_dom " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@dx = stringtofloat(systemfunc("grep dx " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@dy = stringtofloat(systemfunc("grep dy " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@ref_lat = stringtofloat(systemfunc("grep ref_lat " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@ref_lon = stringtofloat(systemfunc("grep ref_lon " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
test = systemfunc("grep truelat1 " +filename )
if ( .not. ismissing(test) )
mpres@truelat1 = stringtofloat(systemfunc("grep truelat1 " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
else
mpres@truelat1 = 0.0
end if
test = systemfunc("grep truelat2 " +filename )
if ( .not. ismissing(test) )
mpres@truelat2 = stringtofloat(systemfunc("grep truelat2 " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
else
mpres@truelat2 = 0.0
end if
mpres@stand_lon = stringtofloat(systemfunc("grep stand_lon " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
test = systemfunc("grep lambert " +filename )
if ( .not. ismissing(test) )
mpres@map_proj = "lambert"
end if
test = systemfunc("grep mercator " +filename )
if ( .not. ismissing(test) )
mpres@map_proj = "mercator"
end if
test = systemfunc("grep polar " +filename )
if ( .not. ismissing(test) )
mpres@map_proj = "polar"
end if
testa = systemfunc("grep 'lat-lon' " +filename )
if ( .not. ismissing(testa) )
mpres@map_proj = "lat-lon"
mpres@pole_lat = stringtofloat(systemfunc("grep pole_lat " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
mpres@pole_lon = stringtofloat(systemfunc("grep pole_lon " +filename+ " | cut -f2 -d'=' | cut -f1 -d','" ) )
end if
parent_id = new ( mpres@max_dom , integer )
parent_grid_ratio = new ( mpres@max_dom , integer )
i_parent_start = new ( mpres@max_dom , integer )
j_parent_start = new ( mpres@max_dom , integer )
e_we = new ( mpres@max_dom , integer )
e_sn = new ( mpres@max_dom , integer )
do n = 1, mpres@max_dom
n0 = n - 1
parent_id(n0) = stringtoint(systemfunc("grep parent_id " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
parent_grid_ratio(n0) = stringtoint(systemfunc("grep parent_grid_ratio " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
i_parent_start(n0) = stringtoint(systemfunc("grep i_parent_start " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
j_parent_start(n0) = stringtoint(systemfunc("grep j_parent_start " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
e_we(n0) = stringtoint(systemfunc("grep e_we " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
e_sn(n0) = stringtoint(systemfunc("grep e_sn " +filename+ " | cut -f2 -d'=' | cut -f"+n+" -d','" ) )
end do
mpres@parent_id = parent_id
mpres@parent_grid_ratio = parent_grid_ratio
mpres@i_parent_start = i_parent_start
mpres@j_parent_start = j_parent_start
mpres@e_we = e_we
mpres@e_sn = e_sn
mp = wrf_wps_dom (wks,mpres,lnres,txres)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Now you can add some information to the plot.
; Below is an example of adding a white dot over the DC location.
;pmres = True
;pmres@gsMarkerColor = "White"
;pmres@gsMarkerIndex = 16
;pmres@gsMarkerSizeF = 0.01
;gsn_polymarker(wks,mp,-77.26,38.56,pmres)
frame(wks) ; lets frame the plot - do not delete
end
|
|