Professional Documents
Culture Documents
35
文化大學大氣系電腦使用手冊 -NCAR Graphics
◎NCAR 的成圖程序:
(1) 於工作站上先編輯一個含有 NCAR 氣象繪圖的程式(如:plot.f)
(2) compiler 程 式 → ncargf77
主 檔 名 (plot.f) -o 執行檔 檔 名
(ex:plot.exe)。使其產生一個執行檔。(亦可直接執行 ncargf77 檔名,此
時會產生一個內定的執行檔 → a.out)
(3) 執行程式 → 打執行檔檔名(plot.exe) (若沒打 -o _____.exe,則打系統內
定的執行檔『a.out』做執行的工作)
(4) % ls→ 則可看到於目錄底下會出現 gmeta 這個圖形檔案。
(5) 若要秀出圖形,則打『idt gmeta』,即可看到圖形。若打 idt& 則表示放到背
景處理。
【註】:當程式編輯完、執行後會產生一個圖形檔,系統內訂為"gmeta",因此若欲保
留此圖檔,需於執行另一個程式時先將檔名更改,否則此檔案會被覆蓋掉。
IDT 看圖軟體介面
36
文化大學大氣系電腦使用手冊 -NCAR Graphics
37
文化大學大氣系電腦使用手冊 -NCAR Graphics
◎訂定座標軸轉換:
call set(al , ar , ab , at , bl , br , bb , bt , n)
↓ ↓ ↓
A B C
38
文化大學大氣系電腦使用手冊 -NCAR Graphics
(2) do i=1,10
long=120.0+0.5×(i-1)
lat1=20.
lat2=30.
call line(long,lat1,long,lat2)
enddo
ex:real px(20),py(20)
do i =1,20
px(i) = i ! for x
py(i) = i ! for y
enddo
call curve(px , py , 20)
39
文化大學大氣系電腦使用手冊 -NCAR Graphics
【法二】:call GSLN (type) ==> 決定型式
call GPL (np,px,py) ==> 畫線
call GSLN (type) ==> 還原型式
◎將線條或點加深:call gslwsc(n)
(1)n 為線條或點加深的級數,其可用 2.0、2.5、3.0 ....,其中系統內定值為 1.0
(2)其通常放在 call line、call curve 之前。(最好把粗細相同者放在一起,如此只要
call gslwsc 一次即可,省得麻煩)。
ex:
call gslwsc (2.0)
call point (2.0,5.0)
call gslwsc (1.0)
call line (1.0,1.0,2.0,2.0)
上面的片段程式表示把點變粗,但線條粗細仍保持不變。
◎分格數:call perim(x1,x2,y1,y2)
其中 X、Y 用整數。
ex:call perim(4,2,3,4)
表將 X 方向分成四大格,而於每大格中再分成兩小格,
Y 方向分成三大格,於每大格中再分成四小格。
【注意】:若在 call set(0.,1.,0.,1.,0.,1.,0.,1.,1)內執行,則會在圖形外產生大框。
◎在圖形框框外加字:
call pwrit(x,y,"欲加之字串",字數,字型大小,角度,對齊方向)
call plchhq(x,y,"欲加之字串",字型大小,角度,對齊方向)
40
文化大學大氣系電腦使用手冊 -NCAR Graphics
(2)字數:需與字串中的字數相符(包括空格、符號都要算)。(整數)
(3)角度:若用 0 表平置,90 表旋轉九十度。(逆時針轉)
(4)對齊方向:0 表置中,>0 表靠右,<0 表靠左。
【註】:對 pwrite 而言,字型大小、角度、對齊方向需用整數,但 plchhq 需用實數。
◎改變字型、顏色
call pcseti(‘FN’,Font type) → 改變字型
call pcseti(‘CC’,cindex) → 改變顏色
ex:宣告部份:character long(5)*3
data (long(i),i=1,5)/" 0 ","90E","180","90W"," 0 "/
或 data long/" 0 ","90E","180","90W"," 0 "/
41
文化大學大氣系電腦使用手冊 -NCAR Graphics
片段程式部份:
do i=1,5
xcoord=0.1+(i-1)×0.8/5.
ycoord=0.09
call pwrit(xcoord,ycoord,long(i) , 3 , 2 , 0 , 0)
call plchhq(xcoord,ycoord,long(i) , 0.02 , 0. , 0.)
enddo
42
文化大學大氣系電腦使用手冊 -NCAR Graphics
【註】:將實數轉成文字格式並將其打在圖上 ==>
character*2 lab
write(lab,'(i2)') aa (其中 aa 為一整數)
call plchhq(xcd,ycd,lab,.......)
43
文化大學大氣系電腦使用手冊 -NCAR Graphics
◎劃等值線:
call cpcnrc(name,nx,nx,ny,rmin,rmax,rint,P,Q,R)
call conrec(name,nx,nx,ny, rmin,rmax,rint,P,Q,R)
name :為放資料之陣列名稱
nx :為 X 方向的資料筆數。(整數)
ny :為 Y 方向的資料筆數。(整數)
rmin:等值線之最小值。(實數)
rmax :等值線之最大值。(實數)
rint :等值線間隔大小。(實數)
P:決定劃的形式。(常用『-1』)
Q:決定要不要標上 H、L 以及各點的值。若為" 0 "表要標註(H、L)," <0 "表都
不標," >0 "表除標註外,亦將各點之值標出。
R:決定劃線的形式。" <0 " 表負值用虛線畫出。
【註】:若資料為三或四維,則可用下列方式直接畫出 ==>
call cpcnrc(dd(1,1,k),nx,nx,ny,rmin,rmax,rint,P,Q,R)
若用此法需放在 doo loop 中。
◎劃風標:
call
velvct(u,nx,v,nx,nx,ny,rmin,rmax,nset,leng,ispv,s
pv)
u :放 U 場資料之陣列名稱。
v :放 V 場資料之陣列名稱。
nx :矩陣於 X 方向的資料筆數。(整數)
ny :矩陣於 Y 方向的資料筆數。(整數)
rmin :所劃風標之最小值。(實數)
rmax :所劃風標之最大值。(實數)
nset :決定風標的間隔。大於零表使用 user 自訂視窗之最適當間隔,等於零
表使用系統內定之值,小於零表使用 user 自訂視窗之最小值。
leng :決定 max value 之風標長度,愈大表最大值之風標長度愈長。
44
文化大學大氣系電腦使用手冊 -NCAR Graphics
殊值則不劃風標,2 表若 V 場有值為特殊值則不劃風標,3 表若 U、V 中有
一個特殊值則不劃風標,4 表若兩者皆為零則不劃風標。
spv:特殊值。若用零則表忽略此特殊值。
◎劃流線:
call strmln(u,v,work,nx,nx,ny,nset,ier)
work 表 working space,其為一陣列,最少需大於(2×nx×ny)。
ier:為傳送副程式錯訊息之變數(在程式中可直接用 ier)。
◎劃地圖
call mapsti(‘LA’, 0)
call mapsti(‘GR’, 30) →表每 30 個經緯度畫一條線。
call maproj(‘CE’,plat,plon,rota)→採 用 之 投 影 方 式 及 投 影 中
心。
ex:call maproj( ‘CE’, 0. , 180. , 0. )
“CE”:Cylindrical equidistant projection。
“LC”:Lambert conformal projection。
“LE”:Lambert equal-area projection。
“SV”:Satellite view projection。
“ME”:Mercator projection。
“MO”:Mollweide type projection。
plat、plon:投影中心。
call mapset(‘CO’, rlat1, rlon1, rlat2 , rlon2) →地 圖 選 取
範圍。
ex:call mapset(‘CO’, -30. , 100. , 30. , –60. ) → 熱帶太平
洋地區
call mappos(x1 , x2 , y1 , y2) →地圖放置位置(在系統座標
下)。
ex:call mappos(0.1 , 0.9 , 0.3 , 0.7)
call mapdrw → 表畫出地圖。
45
文化大學大氣系電腦使用手冊 -NCAR Graphics
常用的幾種地圖
46
文化大學大氣系電腦使用手冊 -NCAR Graphics
47
文化大學大氣系電腦使用手冊 -NCAR Graphics
◎劃封閉曲線
48
文化大學大氣系電腦使用手冊 -NCAR Graphics
call frstpt( x(1) , y(1) )
do j =12,pxy
call vector( x(j) , y(j) )
enddo
◎plot polymarkers
call gsmk (type)
call gpm (num, px, py)
type=1→dot、type=2→plus sign、type=3→asterissks、
type=4→circles、type=5→crosses
num = number of markers
px、py = position of x/y(可為單點或數個點同時劃)
◎plot color
call setusv('LW',2000) ==> 設定線條粗細。
call gsplci(1) ==> 設定線條之顏色。
call gstxci(1) ==> 設定線條之顏色。(可省略)
call cpsetr(‘CLL’,___) ==> 設定線條粗細。
◎劃特殊符號:
call pwritx(1/1024., 1/1024., “PGL’,5,1,0,0)→X
call pwritx(px,py,”R”,1,0,0,0) →Y
49
文化大學大氣系電腦使用手冊 -NCAR Graphics
name :放資料之陣列名稱。
nx :X 方向的資料筆數。
ny :Y 方向的資料筆數。
spv :特殊值(如 999 或-999)。
rmin:打點或斜線的最低值。
rmax :打點或斜線的最高值。
slope :斜線的傾斜角度。
space :打點或斜線的間隔。
50
文化大學大氣系電腦使用手冊 -NCAR Graphics
51