版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、期 末 復(fù) 習(xí)期 末 復(fù) 習(xí)氣象程序設(shè)計及繪圖學(xué)習(xí)目標(biāo)通過學(xué)習(xí),了解FORTRAN語言的特點(diǎn),基本成份及使用方法,具有閱讀程序、編制程序、調(diào)試程序的基本能力。在此基礎(chǔ)上,根據(jù)氣象數(shù)據(jù)處理與分析的特點(diǎn),切實地掌握用GrADS軟件對數(shù)據(jù)進(jìn)行圖形化顯示的基本方法,初步具備編程繪圖的能力。 氣象程序設(shè)計及繪圖學(xué)習(xí)目標(biāo)通過學(xué)習(xí),了解FORTRAN語言的氣象程序設(shè)計及繪圖專業(yè)基礎(chǔ)課程序設(shè)計FORTRAN語言GrADS繪 圖氣象數(shù)據(jù)資料分析氣象程序設(shè)計及繪圖專業(yè)基礎(chǔ)課程序設(shè)計FORTRAN語言G基本程序結(jié)構(gòu)program mainimplicit noneintegerrealcharactercomple
2、xlogicalFORTRAN程序設(shè)計主程序開始不采用I-N規(guī)則變量(包括數(shù)組)申明及初始化基本程序結(jié)構(gòu)FORTRAN程序設(shè)計主程序開始不采用I-N規(guī)則基本程序結(jié)構(gòu)program mainimplicit noneinteger:real:character:complex:logical:FORTRAN程序設(shè)計主程序開始不采用I-N規(guī)則變量(包括數(shù)組)申明及初始化注意:character類型的使用方法基本程序結(jié)構(gòu)FORTRAN程序設(shè)計主程序開始不采用I-N規(guī)則賦值語句data 變量列表/初值列表/read *,open(文件號,file=路徑及文件名)read(文件號,格式)。順序結(jié)構(gòu)選擇結(jié)
3、構(gòu)循環(huán)結(jié)構(gòu)獲取數(shù)據(jù)程序算法賦值語句獲取數(shù)據(jù)程序算法單分支IF(條件) THENIF塊END IF雙分支IF(條件)THENIF塊ELSEELSE塊END IF多分支IF(條件1)THEN塊1ELSE IF(條件2)THEN塊2ELSE IF(條件3)THEN塊3 .ELSE IF(條件n)THEN塊nELSE塊n+1END IF邏輯if語句IF(條件) 語句SELECT CASE (選擇表達(dá)式)CASE(控制表達(dá)式1) 塊1CASE(控制表達(dá)式2) 塊2.CASE(控制表達(dá)式n) 塊nCASE DEFAULT默認(rèn)塊END SELECT可以相互嵌套單分支雙分支多分支邏輯if語句SELECT CA
4、SE (選擇DO 循環(huán)變量 = E1,E2,E3 循環(huán)體END DOR = MAX ( INT ( ( E2 - E1 + E3 ) / E3 ),0 )DO WHILE (邏輯表達(dá)式) 循環(huán)體 END DO可以相互嵌套DO 循環(huán)變量 = E1,E2,E3R = MAX ( Iprint *,輸出列表write(*,*) 輸出列表open(文件號,file=路徑及文件名)write(文件號,格式)。輸出數(shù)據(jù)注意:帶格式的輸入輸出方式二進(jìn)制數(shù)據(jù):open(文件號,file=路徑及文件名,form=binary)read(文件號,格式)。write(文件號,格式)。End program main
5、主程序結(jié)束print *,輸出列表輸出數(shù)據(jù)注意:帶格式的輸入輸出方式二程序入口需要被調(diào)用子程序包括:函數(shù)子程序(function) 子例行程序(subroutine) 子程序又分為:外部子程序和內(nèi)部子程序程序入口需要被調(diào)用子程序包括:函數(shù)子程序(function)外部函數(shù)子程序 由一個實現(xiàn)某種特定功能的子程序組成,調(diào)用程序單元調(diào)用它得到一個函數(shù)值定義形式:類型說明 FUNCTION 函數(shù)名(虛參1,虛參2,) 說明語句 執(zhí)行語句 。 END FUNCTION 函數(shù)名表示函數(shù)子程序定義開始表示函數(shù)子程序定義結(jié)束外部函數(shù)子程序 由一個實現(xiàn)某種特定功能的子程序組外部子例行程序 子例行程序不僅可求一個
6、值,還可求多個值或不求值而執(zhí)行某種操作,因此具有更廣泛的用途定義形式:SUBROUTINE 子例行程序名(虛參1,虛參2,) 說明語句 執(zhí)行語句 END SUBROUTINE 子例行程序名表示子例行程序定義開始表示子例行程序定義結(jié)束外部子例行程序 子例行程序不僅可求一個值,還可求調(diào)試FORTRAN程序語法錯誤(syntax error)。如拼寫錯或標(biāo)點(diǎn)符號錯,在編譯時被編譯器檢測出來;運(yùn)行錯誤(run-time error)。當(dāng)程序執(zhí)行時企圖做非法運(yùn)算操作,則發(fā)生運(yùn)行錯誤(例如,除以0)。這些錯誤導(dǎo)致程序執(zhí)行時異常中斷。邏輯錯誤(logical error)。程序能夠正常編譯和運(yùn)行,但結(jié)果是錯
7、誤的。調(diào)試FORTRAN程序語法錯誤(syntax error)。例題: 利用1951-2010年1月蒙古高壓強(qiáng)度指數(shù)(data/h-p.dat)(備注:需要標(biāo)準(zhǔn)化以后使用)和1951-2010年1月中國160站氣溫資料(data/t1601.dat)(備注:實際存放的資料是61年的,只讀60即可,需要標(biāo)準(zhǔn)化以后使用),根據(jù)3.5節(jié)計算1月蒙古高壓強(qiáng)度與中國160站氣溫的相關(guān)關(guān)系。要求以“*.dat”和“*.grd”兩種格式保存1951-2010年1月蒙古高壓強(qiáng)度與我國氣溫的同期相關(guān)數(shù)據(jù)。例題: 利用1951-2010年1月蒙古高壓強(qiáng)度指數(shù)(d氣象程序設(shè)計及繪圖期末復(fù)習(xí)課件integer,pa
8、rameter: n=60,start=1951!character*10 char1integer i!integer(4) station,nstationreal a(n), b(n), c(160,n),coopen(1,file=d:aatest1h-p.dat,form=formatted)open(2,file=d:aatest1t1601.txt,form=formatted)open(3,file=d:aatest1mh-t-1.dat,form=formatted)open(4,file=d:aatest1mh-t-1.grd,form=binary)read(1,*)(a
9、(i),i=1,n)close(1)read(2,*)(c(i,j),i=1,160),j=1,n)close(2)do i=1,160do j=1,60b(j)=c(i,j)enddocall COR2 ( n, a, b, co)write(3,(f12.5) cowrite(4) co !,colev !returns co=0.9548129; colev=0.1952enddoclose(3)close(4)end主程序變量申明獲取數(shù)據(jù)循環(huán)嵌套調(diào)用子程序輸出數(shù)據(jù)主程序結(jié)束注釋integer,parameter: n=60,start!求相關(guān)系數(shù)rsubroutine COR2 ( n
10、, a, b, co )integer nreal coreal a(n),b(n)!標(biāo)準(zhǔn)化a(i),b(i)suma=sum(a(1:n)/nsumb=sum(b(1:n)/n ab=0a2=0b2=0do i=1,nab=ab+(a(i)-suma)*(b(i)-sumb)a2=a2+(a(i)-suma)*2b2=b2+(b(i)-sumb)*2enddo co=ab/sqrt(a2*b2)print*,coreturnend子程序開始子程序變量申明子程序算法子程序結(jié)束!求相關(guān)系數(shù)r子程序開始子程序變準(zhǔn)備數(shù)據(jù)文件(包括前期數(shù)據(jù)處理)編寫及檢查數(shù)據(jù)描述文件*.ctl設(shè)定圖樣進(jìn)行繪圖(可編寫
11、腳本文件*.gs)保存結(jié)果GrADS繪圖流程在“寫字板”或者“記事本”中編寫準(zhǔn)備數(shù)據(jù)文件(包括前期數(shù)據(jù)處理)編寫及檢查數(shù)據(jù)描述文件*.c 現(xiàn)有ASCII碼(十進(jìn)制數(shù)據(jù)格式)數(shù)據(jù)資料文件u850.dat和v850.dat,其空間范圍:60-150E,0-40N;層次:u、v為850Pa;時段:1982.1-1985.12;分辨率:2.5*2.5;數(shù)據(jù)排放順序滿足GrADS要求。 要求編寫出將這2個文件轉(zhuǎn)換成1個二進(jìn)制( binary)文件的Fortran程序。 例題6-6GrADS要求數(shù)據(jù)如何排放? 現(xiàn)有ASCII碼(十進(jìn)制數(shù)據(jù)格式)數(shù)v850.dat數(shù)據(jù)內(nèi)容:時間說明v850.dat數(shù)據(jù)內(nèi)容:
12、時間說明 PROGRAM PROCESSING IMPLICIT none integer,parameter: m0=37,n0=17,tim=48 real v(m0,n0,tim),u(m0,n0,tim) integer i,j,k open(1,file=d:cvfv850.dat) open(2,file=d:cvfu850.dat) do k=1,tim read(1,1000) read(1,2000) (v(i,j,k),i=1,m0),j=1,n0) read(2,1000) read(2,2000) (u(i,j,k),i=1,m0),j=1,n0) end do1000
13、 format(2i7)2000 format(37F6.2)讀時間說明準(zhǔn)備數(shù)據(jù)文件:利用fortran將十進(jìn)制文件轉(zhuǎn)換為二進(jìn)制文件十進(jìn)制數(shù)據(jù)循環(huán)順序:經(jīng)度、緯度、層次、時間 PROGRAM PROCESSING讀時間說明準(zhǔn)備數(shù)據(jù)文件 write(*,2000) (v(i,j,1),i=1,m0),j=1,n0)open(3,file=d:cvfwind850.grd,form=binary) do k=1,tim write(3) (v(i,j,k),i=1,m0),j=1,n0) write(3) (u(i,j,k),i=1,m0),j=1,n0) end doend二進(jìn)制數(shù)據(jù) write
14、(*,2000) (v(i,j,1),i=1,針對wind850.grd二進(jìn)制數(shù)據(jù)文件,如果給出如下數(shù)據(jù)說明文件,即可用GrADS繪圖dset d:cvfwind850.grdundef -9.99E+33title NCEP/NCAR REANALYSIS PROJECTxdef 37 linear 60.000 2.500ydef 17 linear 0.000 2.500zdef 1 levels 850tdef 48 linear JAN1982 1movars 2v 1 99 v wind (m/s)u 1 99 u wind (m/s)endvarsCTL文件編寫ctl文件針對wi
15、nd850.grd二進(jìn)制數(shù)據(jù)文件,如果給出如下數(shù)據(jù)說編寫gs文件reinitopen d:/cvf/wind850.ctlenable print d:/cvf/wind850-1.gmfset grads offset grid offset t 13set parea 1 10 1.5 7.5set xlopts 1 4 0.16set ylopts 1 4 0.16set xlint 10set ylint 10define uave1=ave(u,t=1,t=48,12)define vave1=ave(v,t=1,t=48,12)set gxout vectorset arrscl
16、0.5 10.0d uave1;vave1printdisable print;編寫gs文件reinit編寫gs文件reinitopen d:/cvf/wind850.ctl 打開二進(jìn)制數(shù)據(jù)文件的文件enable print d:/cvf/wind850-1.gmf 打開存圖文件set grads off 去掉畫圖角標(biāo)set grid off 去掉網(wǎng)格線set t 13 設(shè)置固定于某個時次,以便繪制二維圖形set parea 1 10 1.5 7.5 設(shè)置繪圖區(qū)域set xlopts 1 4 0.16 設(shè)置x軸標(biāo)記set ylopts 1 4 0.16 設(shè)置y軸標(biāo)記set xlint 10 設(shè)置x軸標(biāo)記間隔單位set ylint 10 設(shè)置x軸標(biāo)記
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年供電公司安全稽查總結(jié)
- 公安智能運(yùn)維解決方案
- 網(wǎng)絡(luò)安全法律法規(guī)研究洞察分析-洞察分析
- 網(wǎng)絡(luò)安全法律法規(guī)體系-洞察分析
- 隧道施工資源優(yōu)化-洞察分析
- 預(yù)防性檢查項目的優(yōu)化與改進(jìn)-洞察分析
- 藝術(shù)衍生品設(shè)計-洞察分析
- 醫(yī)療器械市場營銷-洞察分析
- 先天性心臟病患兒心臟康復(fù)效果評估-洞察分析
- 魚肝油酸鈉抗癌活性研究-洞察分析
- 濰柴天然氣發(fā)動機(jī)結(jié)構(gòu)及工作原理
- 國家開放大學(xué)《理工英語2》形考任務(wù)1-8參考答案
- 2024年電大勞動與社會保障法期末考試題庫及答案
- 人教版九年級數(shù)學(xué)上冊21.1《一元二次方程》教學(xué)設(shè)計
- 2025屆高考政治一輪復(fù)習(xí):統(tǒng)編版必修4《哲學(xué)與文化》必背知識點(diǎn)考點(diǎn)提綱
- 從古至今話廉潔-大學(xué)生廉潔素養(yǎng)教育智慧樹知到期末考試答案章節(jié)答案2024年吉林大學(xué)
- 高中英語外刊-小貓釣魚50篇
- 【打油詩】72則創(chuàng)意期末評語模板-每頁8張
- 傳承傳統(tǒng)文化教育教案(3篇模板)
- QBT 2460-1999 聚碳酸酯(PC)飲用水罐
- 2024新《公司法》修訂重點(diǎn)解讀課件
評論
0/150
提交評論