版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Exmaple4— line這個示例展示如何獲得GRIB文件的信息并從中數(shù)據,如何使用“if-endifresources值,如何創(chuàng)建并繪制流線圖,如何把數(shù)據寫入netCDF文件,如何用“do”來進行循這個示例從GRIB文件數(shù)據并且創(chuàng)建了三個流線圖,每個圖都使用不同的數(shù)據。設置resources來改變每個流線圖的部分。為了得到打開的GRIB文件信息,這個示例使用了NCL函數(shù)isatt,getfilevarnames,getfilevaratts,getfilevardims,來確定文件中有哪些變量和屬NCLReferenceManual中的“Built-inNCLfunctionsandprocedures”GRIB數(shù)據寫入到netCDF運行這個示例,必須以下文件:gsun04n.ncl,然后鍵入:ncl示例4代碼及解load載入本示例使用的包含函數(shù)和程序(以gsn開頭的)的NCL。NCL中的load語句的作用和C和Fortran90程序中include作用一樣。開始NCLdata_dir=grb_file=addfile(data_dir+用addfile打開GRIBGRIBnames= ;Getthevariablenamesin ;GRIBfileandprintthemgetfilevarnamesGRIB文件中變量的名字,并把它們打印出來。Names是一個字符串數(shù)組,每個字符串都是變量名字。這個功能在你不知道用addfile打開的文件中有什么變量的時候特別有用。atts=getfilevaratts(grb_file,names(0));Getthevariableattributesdims=getfilevardims(grb_file,names(0));dimensionnamesfrom
;fileandprintthemgetfilevarattsgetfilevardimsGRIB文件中第一個變量的wks=gsn_open_wks("x11","gsun04n");OpenanX11X11 Beginfirst =準備設置一系列的resources1的關于如何設置resources的解釋。流線圖resources是“StreamlinePlot”組的一部分,以“ectorFielduvar=grb_file->U_GRD_6_ISBL(0,:,:);StoretwoGRIBvariablesvvar=grb_file->V_GRD_6_ISBL(0,:,:);localNCLGRIBU_GRD_6_ISBLV_GRD_6_ISBL。這些變(0if(isatt(uvar,"units").eq.True);Checkif"uvar"hasanattributeresources@tiMainString="GRD_6_ISBL(u,v"+uvar@units+resources@tiMainString=endif Thespaceisrequiredbetweenend"andif".NCLC和Fortran包含“if-else-endif”語句,但有以下例外:NCL中的if語句,不需要thenelseif在end和if之間必須有空格(NCL不能識別“endif.eq..lt.Fotran語法一樣。對于if語句的信息,請參閱NCLReferenceManual的“NCLStatements”一節(jié)。性,否則是False。在上述if語句中,如果isatt是True的話,那么“units”屬性返回的是一個邏輯值,如果沒有.eq.True的話,if語句的部分就應該寫成: ="Times-resources@tiXAxisString=設置一些resources來改變標題的默認字體和X軸的。請記住:事先定義的字符串,就像字體表fonttable中列出的那些,是不區(qū)分大小寫的,你可以plot=gsn_streamline(wks,uvar(::2,::2),vvar(::2,::2),resources);
;drawastreamline創(chuàng)建并繪制二維數(shù)組uvar和vvar的流線圖。gsn_streamline參數(shù)是前面調用gsn_open_wks的返回工作站變量。接下來的兩個參數(shù)代表了要被畫的兩個二維矢量場(float、double或者integer,順序是Y×X。最后一個參數(shù)是一個邏輯值表示你是否設置了任何resources。這里設置的resources僅僅是為了流線圖的標題和X軸的。(2X/Y0到n-1,n;-----------Beginsecondplot----------------------------------------用不同的數(shù)據創(chuàng)建一個流線圖,給流線,改變標題和的字體delete(uvar);Deleteuvarandvvarsinceyouaregoingtodelete(vvar);themagain,butwithdifferentsized因為又要使用這些變量,所以刪除變量uvar和vvar。這只有在當你打算給uvar和vvar分配和初始化這兩個變量的時候的不同類型、不同維度的數(shù)據時才uvar=grb_file->U_GRD_6_TRO;StoretwodifferentGRIBfilevvar=grb_file->V_GRD_6_TRO;touvarand從GRIB文件中獲得變量U_GRD_6_TRO和V_GRD_6_TRO。這個量變量resources@tiMainString="GRD_6_TRO(u,v"+uvar@units+resources@tiMainString=end ="Times-Roman";Changethedefault
resources@tmXBLabelFont="Times-resources@tmYLLabelFont="Times-設置一些改變X軸和刻度字體的resources??潭萺esources是“TickMark”組的一部分,以“tm”開頭。在tmXBLabelFonts中的“XB”表示“XBottomtmYLLabelFont中的“YL”表示“Yleft8resources@stLineColor="green";Changestreamlinesto使用NCL名顏色的功能,將流線的顏色改成了綠色。有650中有效顏色名稱可以使用,但是你的顏中必須包含你想要用名的顏色,否NCL將會使用最近的顏色代替。例如,如果你的顏中包含下列的“ConrflowerBlue,.,.,./(/0.,.,./,名的顏色,然后為你的顏指定他們。GSUN示例7將會展示如何用命名的來設置顏有關命名的顏色,請參見“Basics”一章中的“CreatingyourowncolormapusingnamedcolorsandRGBvalues”部分。plot=gsn_streamline(wks,uvar(::2,::2),vvar(::2,::2),resources);Drawstreamlineplot.用新設置的resources Beginthirdgetvalues ;Retrievesomeresource :"stMinLineSpacingF":end正如第一個示例中所示,resources都有默認值。一些resources是根據一些resources的值,你可以改變它們或者使用它們的值去改變其他的resources。StArrowLengthF和stMinLineSpacingFresources是兩個動態(tài)resources的例子,你可以獲得它們的值NCL中resources的值通過使用getvalues來獲得。Getvalues語句就像一個塊語句,因為它有一個開始語句(getvaluesplotid)和一個結束語句(endgetvaluesresources的列表(每個resource應當在雙引號中,緊接著一個冒號,然后是一個要寫入數(shù)據的變量。變量plotid是gsn_*繪圖進程的一個返回值,并且resources要用到的(換句話說,如果已經調用了gsn_vector來創(chuàng)建矢量圖的話,你就不應該從這個圖中獲得流線圖resourcesgsn_streamline,變量名稱是plot。的getvalues的信息可以在NCLReferenceManual的“NCLresources@stMinLineSpacingF=spacing*2.0 ;Setsomeresourcesbased =arrowlength*2.0;onresourcesyou = ;Changelinecolorsback = ;既然已經得到了stMinLineSpaingF和stArrowLengthF的值并且分別在變量spacing和arrowlength中,你可以使用這些值來改變這些resources。流線之間的距離以4倍增長,流線之間的箭頭長度翻倍。最后兩個resources將曲線50%的線條的粗細(1uvar=grb_file->U_GRD_6_GPML(0,:,:);GetnewGRIBvvar=grb_file-GRIBU_GRD_6_GPMLV_GRD_6_GPML的第一層resources@tiMainString="GRD_6_GPML(u,v"+uvar@units+resources@tiMainString=endplot=gsn_streamline(wks,uvar(::2,::2),vvar(::2,::2),resources);Drawstreamlineplot.用新建的resourcesdelete(uvar);Removesomevariableswedon'tneedany;-----------WriteGRIBdatatonetCDFfile-------------------------GRIB變量到netCDF文件中以“PRES”開始。這里展示的寫文件的方GRIB文件到netCDF中,請參閱“Basics”章中的“Efficiencyissuescdf_filename=system("/bin/rm-f"+cdf_file=addfile(cdf_filename,"c");CreateanewnetCDFGRIB數(shù)據的netCDF文件。首先刪除這個文件,如果他已經存在的話,然后使用addfile來創(chuàng)建一個文件。通過“.ncNCL知道要創(chuàng)建的是netCDF文件。cdf_file@title="datafromaGRIBfile";Addsomeglobalattributescdf_file@date= ;thenetCDF添加叫做“title”和“date”的全局變量到netCDF文件。systemfunc函數(shù)doi=0,dimsizes(names)-NCL中的Do循環(huán)和Fortran中的比較類似。它們都有一個整型的起始值、enddo(enddo沒有用)結束。有關do循環(huán)的信息,請參見NCLReferenceManual的“NCLStatements”部分。在上面的doGRIB文件中獲取的變量的名字進行循環(huán)。請記住,dimsizes返回的一個數(shù)組的維度大小,因為名字是一個一維數(shù)組,所以dimsizes返回的是它的長度,是一個標量整數(shù)。names_char=組(NCL中的字符串被認為是一個單一的實體stringtocharif(names_char(0:3).eq."PRES") ;Onlywritevariablesthat ;withcdf_file->$names(i)$=grb_file-end上述4行中,names_char
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國碾米行業(yè)市場規(guī)模分析及投資策略研究報告
- 2025-2030年中國硫鐵礦燒渣行業(yè)運行態(tài)勢及投資前景規(guī)劃研究報告
- 二零二五版環(huán)保工程轉包合同:固廢處理與資源化利用2篇
- 2025-2030年中國洗衣液行業(yè)市場需求狀況與發(fā)展前景分析報告
- 二零二五年戶外登山領隊專業(yè)服務及責任履行合同3篇
- 2025版井蓋采購合同附配套零部件供應協(xié)議3篇
- 二零二五年度深井掘進機械租賃與地質勘探報告服務合同3篇
- 二零二五年度城市更新項目臨時場地租賃合同4篇
- 二零二五年度旅行社與旅游市場營銷合作協(xié)議4篇
- GB/T 37238-2018篡改(污損)文件鑒定技術規(guī)范
- 普通高中地理課程標準簡介(湘教版)
- 河道治理工程監(jiān)理通知單、回復單范本
- 超分子化學簡介課件
- 高二下學期英語閱讀提升練習(一)
- 易制爆化學品合法用途說明
- 【PPT】壓力性損傷預防敷料選擇和剪裁技巧
- 大氣喜慶迎新元旦晚會PPT背景
- DB13(J)∕T 242-2019 鋼絲網架復合保溫板應用技術規(guī)程
- 心電圖中的pan-tompkins算法介紹
- 羊絨性能對織物起球的影響
評論
0/150
提交評論