版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、GRADS (Grid Analysis and Display System) 講義( 10)j GrADS Script 1 ibrary Microsoft Internet Fxplorerr. t? x 1文件E) WfcO S5(Y)收工具(D林敢to滬1 O0圍絵丿撲索F決0 : “H Jv Q存到 w零)YAHOO! Q止LTfl董己過期,2點這里奔到最新的茄也.MGrADS Script LibrarybdSGmao q$O*rlay$ a land or ocean mask ih縱 exactly 伽 the coastal outlines Requires the f
2、oli)wing supplemental data files boiv Igm 9$c and loolv rnres 貓c and loolv hires a$codoIy 1 owes a$c and ooolv mrs ?$c and od(My hiresinstructions in scnpt header for using 恒Qly-WS.銘 Io mask out norUS areascbar Ji and cbarn qsScnpts to draw a long reclangular color legend next to shaded plots cbam h
3、as more features - e g. il draws outlines and triangular endpoints.cbarc Draws a small fan-shaped color legend in the comer of shaded plotscbar 1 q$ cbar line a$ cb Iirc2 Q3Scripts to draw a legend for Ime graphscmaD Q9Creates a color table See additional documemalionconned the dots qsDraws a line c
4、onnecting users mouse clicks.define colors, asDefines a variety of colors using thezrqb command隔 1 dmogsIllustrates the use of a defvai and sec defvai commandsfont a$Displays all the characters in a fom seiisen asDisplays a field interpolated to a specified isentropic levelIats4d.asWntes NelCDF. HDF
5、-SDS or GRI8 files from GrADS See additional domentatior).makeb.gsCreates a background map image that shows topographic texture It requires a DODS-enabled version of GrADS and also uses the external ImageMagick utility combinemap.gsAutomates settings for a vanety of useful map projections.mconv gsCa
6、lculates moislure convergencernnteoaram 9ta as農(nóng) 2ntenet農(nóng) 2ntenet!g start ck8:57GrADS 描述語言及編程一、描述語言概述描述語言是GrADS軟件包中自帶的高級語言, 可以用于GrADS的高級操作,更方便地使用 GrADS 的功能。通過描述語言可以編寫具有復(fù)雜功能的命 令集(即 gs 文件)。二、gs文件中的兩類型語句1)描述語句 :不用引號,需要經(jīng)過編譯的。2)指令性語句:GrADS命令,需用引號括起來。通過描述語句來控制指令 描述語言用到指令性語句中要用引號 ,即, i=1 set t i (或者 set t i
7、 )三、描述語言程序特點1、程序通過GrADS的 run命令來編譯執(zhí)行; run file-name options2、可以有 變量 、 流程控制 也可以執(zhí)行 GrADS 的命令3、描述語言可以1)編寫函數(shù)子程序,2)制作屏幕菜單,3)可以顯示動畫圖形,4)可以使用從 GrADS的query命令中得到的 信息作注釋等。3、描述語言的所有變量都是字符串型的,描 述 變 量 可 以 進 行 計 算 。 流 程 控 制 是 通 過 if/else/endif 和 while/endwhile 語句塊實現(xiàn)。 循 環(huán)過程可以用 continue 或 break 命令改變。變量 中包含的或者由表達式結(jié)果產(chǎn)
8、生的字符串可以作 為GrADS命令項使用。而由 GrADS命令執(zhí)行后產(chǎn)生 的文字結(jié)果可以讀入變量并在描述語言程序中使 用。描述語言也支持函數(shù)子程序功能。四、描述語言的組成1、 一個描述語言程序是由許多語句組成, 每個 語句之間由 換行號 或 分號 分隔。2、下面是GrADS描述語言中語句的類型: 賦值語句If / Else / Endif while / endwhile break / continue function header / return say / pull3、描述表達式描述表達式是由 運算對象 和 運算符 組成。 運算對象 :描述變量、子程序函數(shù)或常數(shù); 運算符 :數(shù)學、邏
9、輯或連結(jié)運算符。下面分別介紹變量、運算符、表達式4、描述語言 變量1)構(gòu)成變量名是由 1 至 8 個字符組成,以字母開頭,僅可以包含字母和數(shù)字,變量名區(qū)分大小寫。2)變量內(nèi)容性質(zhì) 內(nèi)容總是一個字符串, 在有些運算中,字符串將被解釋為數(shù)字。 如果一個變量沒有被賦值,那么它的值就是它的名字。如果一個變量或字符串常數(shù)是一個具有正確 格式的數(shù)字,可以進行某些數(shù)學運算,所得結(jié)果也 是一個數(shù)字字符串。在 GrAD 描述語言中,有兩個變量名由其內(nèi)部 使用: result 和 rc 。盡量避免使用這兩個變 量名。3)復(fù)合描述變量 描述語言現(xiàn)在支持復(fù)合變量,利用它可以在描 述語言程序中構(gòu)造數(shù)組。復(fù)合變量名可以是
10、一個由“ ”分隔的多個變量名的復(fù)合體。例如:varname.i.j 這時,當變量內(nèi)容被調(diào)用時,如果 i 和 j 也是 變量,那么 i 和 j 的內(nèi)容將會被 i 和 j 的字符串值 所替代。例如:i = 10j = 3varname.i.j = 343 在這個例子中,賦值語句相當于:varname.10.3 = 343注意: i 和 j 的字符串值可以是任何字符,但varname 必須遵循描述變量名的規(guī)則,即:由字母 和數(shù)字組成,須字母打頭。因此復(fù)合變量名被替代 后可以是任何字符串:i = a#$xx varname.i = 343 以上表示是允許的,但不能直接將變量名寫為: varname.a
11、#$xx = 343在i、j變量被替代前后,* 復(fù)合變量名的整個長度不能超過 16個字符。*在GrADS苗述語言中不能設(shè)置過多的變量, 因此,不能利用復(fù)合變量產(chǎn)生一個大的數(shù)組, 例如: i = 1 while (i大于=大于等于小于, =, , , =, , =&| 如果運算符在同一優(yōu)先級上,則從左向右計運算對象可以是變量、 字符串常數(shù)或子程序函 數(shù)調(diào)用。注意: 1) 字符型常數(shù)用單或雙引號括起來。而數(shù)值型常數(shù)可以不用引號括起來,但GrADS仍然認為是字符串常數(shù)。下面是一個字符串常數(shù)的例子:This is a string2 )有些情況下, 連結(jié)運算符是隱含的 ,當兩 個運算對象并列靠在一起,
12、中間沒有任何運算符時 (中間可以有空格) ,隱含著中間是一個連結(jié)符。 例如:下列兩個表達式是等價的。var1%var2%Stringvar1 var2String2 )括號可以改變運算的先后順序。7、IF語句塊*程序執(zhí)行流程可以通過 if/else/endif 語句控 制,形式為:IF (表達式)描述語言語句描述語言語句else用)描述語言語句描述語言語句可不endif使用) 注意,下列語句是錯誤的:if (i=10) j=20 你必須寫三個語句:if (i=10)j = 20endif 你也可以在同一行上寫這三個語句:if(i=10);j=20;endif;if 語句塊的執(zhí)行依賴于表達式的結(jié)
13、果,必須如果表達式的結(jié)果是一個 0 字符(結(jié)果為假) ,則 else 部分就被執(zhí)行,如果表達式的結(jié)果是不為 0 的其它 字符,則執(zhí)行 if 部分。8、WHILE 語句塊while 語句塊的格式為:while (表達式) 描述語言語句 描述語言語句endwhile當表達式結(jié)果為真, 即:是一個不為 0 的字符, 循環(huán)就繼續(xù)執(zhí)行。另外兩個描述語言命令可以改變循環(huán)的執(zhí)行, break 可以立即中斷循環(huán), continue 可以立即跳到 循環(huán)體的開頭,并重新計算表達式的結(jié)果。例如: t = 1 while (t10)set t tdisplay zif (rc!=0); break; endif;t
14、= t + 1endwhile 9、函數(shù)及函數(shù)子程序 用戶可以自己編制函數(shù)子程序,也可以使用描述語 言的內(nèi)部函數(shù)。在一般情況下,函數(shù)作為描述語言的表達式運 算對象被調(diào)用。描述語言函數(shù)子程序總是得到一個 單一的字符串結(jié)果,但可以有一個或多個字符串自 變量, 它的調(diào)用格式為:name(arg,arg,arg.)注意: 1) 函數(shù)名遵循變量名的規(guī)則,自變量可以 是表達式。2)如果函數(shù)子程序沒有自變量,你仍然需 要寫上一對括號:name()3 )在其它文件中的函數(shù)子程序不能調(diào)用。 (其它文件中的描述語言程序可以通過 GrADS 的 run 命令執(zhí)行)4 )可以通過函數(shù)子程序的定義語句在描述語言程序中構(gòu)
15、造自己的函數(shù):function name(variable, variable, .) 要回到調(diào)用處,使用 return 語句: return 表達式這里表達式可以省略,如果省略表達式,就返 還一個空字符串(空字符串是 )。函數(shù)的結(jié)果是 return 語句中表達式的結(jié)果。5)調(diào)用過程 當一個函數(shù)子程序被調(diào)用時,首先計算自變 量,然后執(zhí)行函數(shù)子程序,作為函數(shù)自變量的變量 的值初始取為傳輸給自變量的值。如果傳輸給自變 量的值的個數(shù)太少,則其余的變量初始沒有值,如 太多,則多余的被舍棄。你可以從函數(shù)子程序定義 語句中改變自變量而不改變調(diào)用方式。 變量的調(diào)用 僅僅在函數(shù)子程序內(nèi)部有效,但全域變量可以在
16、整 個程序中有效。當一個描述語言程序文件被調(diào)用時(通過 run 命令),從這個文件的開頭開始執(zhí)行。一個函數(shù)子 程序定義語句也可以放在文件的開頭,如果這樣, 必須定義一個變量名, 這個變量將被任何 run 命令 選項初始賦值, 如果沒有 run 命令選項, 這個變量 將初始賦為空字符串。10 、量。11、賦值語句 賦值語句的格式為: 變量名 =表達式 表達式進行運算后,將結(jié)果賦予所指定的變?nèi)藱C對話語句 say 語句的語法為: say 表達式 這樣,表達式的結(jié)果就寫在屏幕上: pull 語句的語法為: pull 變量名程序運行到 pull 語句時,執(zhí)行暫停等待用戶 鍵盤輸入,按回車后,輸入的內(nèi)容就
17、賦值給所指定 的變量。14、在描述語言程序中執(zhí)行 GrADS命令 指令語句僅僅包含一個表達式: 表達式:在描述語言程序中執(zhí)行 GrADS命令是首先運算表達式,然后將結(jié)果字符串作為命令提交給GrADS。注意:1)當語句被執(zhí)行后,GrADS命令的結(jié)果 將輸入到描述變量 result (這時, result 的字符 串是GrADS命令執(zhí)行后顯示在屏幕上的內(nèi)容 )。2)描述變量 rc 中則是 GrADS 命令的返還 碼。result 變量中,可能包含幾行 GrADS結(jié)果字 符串,這可以利用 sublin 函數(shù)分離。可以在描述語言環(huán)境中執(zhí)行任何GrADS命令,包括 run 命令。由執(zhí)行 run 命令而產(chǎn)
18、生的結(jié)果字符 串將通過 return 命令從“低層”的描述語言程序 傳遞回“高一層”的程序中。你可以一層一層地調(diào) 用多個描述語言程序,但要能控制不出現(xiàn)死循環(huán)而 返還主調(diào)程序。五、內(nèi)部函數(shù)目前描述語言中有幾個內(nèi)部函數(shù):1 、substr (string, start, length)這 個 函 數(shù) 可 以 從 字 符 串 string 中 從 位 置start 開始截取長度為length 的子字符串。如 果字符串 string 太短,結(jié)果字符串就短于 length 或得到一個空字符串。這里, start 和 length 必須是整的字符數(shù)目。2、subwrd (string, word)這 個
19、函 數(shù) 可 以 從 字 符 串 string 中 截 取 第word 個詞(詞與詞之間由空格分隔),如果字 符串 string 太短,結(jié)果是一個空字符串。 word 必須是整數(shù)。3、sublin (string, line)這個函數(shù)可以從字符串string 中截取第 line 行的字符串 , 如果字符串 string 行數(shù)太少,結(jié)果 是一個空字符串。 line 必須是整數(shù)。4、read (name)讀函數(shù),可以讀取文件 ame中的一個記錄(一行),重復(fù)調(diào)用同一文件的 read 函數(shù), 將依次 讀取文件中的下一個記錄。所得結(jié)果有兩行,第一 行是返還碼,第二行是所讀記錄。每個記錄的長度 不能超過
20、80 個字符,可以使用 sublin 函數(shù)分離 結(jié)果。當?shù)谝淮握{(diào)用 read 函數(shù)讀取一個指定文件時,這個文件就被打開,當描述語言程序執(zhí)行終結(jié) 時文件被關(guān)閉。而在文件被多次調(diào)用過程中,始終 保持打開狀態(tài)。返還碼是:0 - 正常1 - 打開文件錯誤2 - 文件結(jié)束8 - 打開的文件用于寫入9 - 輸入、輸出錯誤5、write (name, record )寫函數(shù), 當?shù)谝淮握{(diào)用 write 函數(shù)時, 會生成 一個文件名為ame的文件,并處于打開的寫入狀 態(tài)。如果這個文件早已存在,這個文件會損壞。如 果使用append選項,寫入的內(nèi)容就會接到原來文 件的后面。返還碼是:0 - 正常1 - 打開文件
21、錯誤8 - 打開的文件用于讀取。6、close (name)關(guān)閉文件名為name的文件。如果你想從一個 剛寫的文件中讀取記錄,那么首先要調(diào)用close 函數(shù)關(guān)閉該文件。返還碼是:0 - 正常1 - 文件沒有打開六、全域描述變量描述變量通常僅在所在的函數(shù)子程序中有 效,全域描述變量可以在整個程序中都有效。它們 是通過文件名的格式來定義是否全域描述變量。任 何變量名前加上一個 下劃線( _) 就假設(shè)為全域描 述變量,就使它的值在整個程序中都有效(類似于 FORTRA程序中由公用語句塊定義的變量)。注意: 全域變量不能用于函數(shù)子程序的函數(shù)自變 量。 如:下面的用法是不允許的。function dos
22、tuff(_var)七、描述語言程序的自動執(zhí)行你可以讓每個 display 命令前自動執(zhí)行一個簡 單的描述語言程序:set imprun script-name 這個命令通常用于每次執(zhí)行 display 命令后都 要重新設(shè)置的命令,如:set grads off你可以從這個程序中執(zhí)行任何 GrADS 命令, 但 有時會遇到一些問題,例如:在這個程序中出現(xiàn)一 個 display 命令,這時將會無限制地顯示圖形。1) open data.ctl set lev 300 enable print stream.gmfi=1while(i=120)set t Id u;v draw title 300
23、hPa stream field No.I c i=i+1endwhile2) reinitopen k:baoxueuwndbdp.ctl file=k:baoxueg.txt set gxout printset prnopts %g 9 3 ud uwndrc=write(file,result)rc=close(file)J3)6) 自定義函數(shù)子程序自定義函數(shù)子程序是 GrADS編程中的重點也是難點。函數(shù)子程序的定義形式為Function name(args)Return(expr)其調(diào)用形式有兩種 2如 isen.gs ,這種函數(shù)子程序要和主程序放在一個文件中,主程序調(diào)用形式為1)d
24、 isen ( w,t,pp,320 )2) rc=isen(u,t,pp,320)3) define xs = isen ( w,t,pp,320 )其中, isen.gs 定義內(nèi)容略。2、另一種是隱式參數(shù)傳遞,如 cbarn.gs, 主程序的調(diào)用方式也有兩種,若獨立保存為一個 cbarn.gs, 其調(diào)用方式為 run cbarn.gs(0.8 1 5.5 0.5)若拷貝到主程序所在文件,其調(diào)用方式為 rc=colorbar( 0.8 1 5.5 0.5 ) 注意: cbarn 0.8 1.5 5.5 0.5中,0.8 指定了標尺寬度, 0.5 指定了距離橫軸的距離下面以繪黑白陰影圖型為例,
25、簡單介紹如何定義和調(diào)用函數(shù)子程序,通過該例也可學習如何定義和使 用新的顏色(圖 2)。 reinit open d:llpdata.ctl set gxout shaded pp()* 調(diào)用自定義的函數(shù)子程序ss()* 調(diào)用自定義的函數(shù)子程序 d smth9(olr) cbarn * 調(diào)用已存在的 gs 文件形式的函數(shù)子程序,用于繪陰影圖標 set gxout contour set clevs -0.06 -0.03 0 0.03 0.06 d smth9(olr) d sst Function pp()*設(shè)置新的顏色,顏色號為16-18set rgb 16 50 50 50set rgb
26、17 100 100 100set rgb 18 150 150 150returnFunction ss()*設(shè)置陰影圖的等值線和所填的顏色 set clevs -0.06 -0.03 0 0.03 0.06 set ccols 17 16 0 0 16 17 return*South Chi na-0.06-0030.030.06圖2使用新定義的黑白顏色繪圖rei nitope n k:rtsy .ctl en able print k:rtsy .gmf* Dec prepset xlopts 1 4 0.15 set ylopts 1 4 0.15 set clopts 1 4 0.10 set xlab off set axlim -20 50 set yaxis -20 50 10 set xaxis 1951 2007 4 set grid off set t 1 57 a1=34.63 b1=-34.63 set cthick 10 set cstyle 1 set ccolor 1 set cm
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 標準房地產(chǎn)買賣居間合同文本
- 延遲支付合同范本-合同范本
- 工廠合并協(xié)議書
- 2024年知識產(chǎn)權(quán)共享承諾協(xié)議書
- 家政工合同協(xié)議書
- 個人融資協(xié)議書范本一
- 標準產(chǎn)品銷售合同
- 建筑施工合同書的內(nèi)容詳解
- 年度銷售代理合同樣本
- 2024年離婚貸款房分割協(xié)議
- 2024年道路運輸企業(yè)安全生產(chǎn)管理人員考試試題題庫
- 24秋國家開放大學《公共關(guān)系學》實訓任務(wù)一答案
- BIOS基礎(chǔ)知識題庫單選題100道及答案解析
- 2024年銀行考試-建設(shè)銀行紀檢監(jiān)察條線考試近5年真題附答案
- 中國老年骨質(zhì)疏松癥診療指南(2023)解讀課件
- 【8物(科)期中模擬】合肥市2023-2024學年八年級上學期期中模擬物理作業(yè)試卷
- GB/T 44448-2024低速風洞性能測試規(guī)范
- 婚慶公司轉(zhuǎn)讓合同模板
- 11.9消防宣傳日關(guān)注消防安全主題班會課件
- 期中達標檢測卷(試題)-2024-2025學年北師大版二年級數(shù)學上冊
- 廣東開放大學2024年秋《國家安全概論(S)(本專)》形成性考核作業(yè)參考答案
評論
0/150
提交評論