中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Surfer grd文件讀寫Fortran代碼(面向對象編程示例)

小億
114
2023-12-20 15:08:46
欄目: 編程語言

以下是一個使用Fortran面向對象編程的示例代碼,用于讀寫Surfer grd文件:

module GridFile

??implicit?none

??type?::?Grid

????character(len=100)?::?filename

????integer?::?ncols

????integer?::?nrows

????real?::?xllcorner

????real?::?yllcorner

????real?::?cellsize

????real,?allocatable?::?data(:,:)

??end?type?Grid

??contains

??subroutine?read_grid_file(grid,?filename)

????type(Grid),?intent(out)?::?grid

????character(len=*),?intent(in)?::?filename

????integer?::?fileunit,?i,?j

????grid%filename?=?filename

????!?打開文件

????open(newunit=fileunit,?file=filename,?status='old',?action='read')

????!?讀取文件頭

????read(fileunit,?*)?grid%ncols

????read(fileunit,?*)?grid%nrows

????read(fileunit,?*)?grid%xllcorner

????read(fileunit,?*)?grid#yllcorner

????read(fileunit,?*)?grid%cellsize

????!?分配數據數組

????allocate(grid%data(grid%ncols,?grid%nrows))

????!?讀取數據

????do?j?=?1,?grid%nrows

??????do?i?=?1,?grid%ncols

????????read(fileunit,?*)?grid%data(i,?j)

??????end?do

????end?do

????!?關閉文件

????close(fileunit)

??end?subroutine?read_grid_file

??subroutine?write_grid_file(grid)

????type(Grid),?intent(in)?::?grid

????integer?::?fileunit,?i,?j

????!?打開文件

????open(newunit=fileunit,?file=grid%filename,?status='replace',?action='write')

????!?寫入文件頭

????write(fileunit,?*)?grid%ncols

????write(fileunit,?*)?grid%nrows

????write(fileunit,?*)?grid%xllcorner

????write(fileunit,?*)?grid#yllcorner

????write(fileunit,?*)?grid%cellsize

????!?寫入數據

????do?j?=?1,?grid%nrows

??????do?i?=?1,?grid%ncols

????????write(fileunit,?*)?grid%data(i,?j)

??????end?do

????end?do

????!?關閉文件

????close(fileunit)

??end?subroutine?write_grid_file

end?module?GridFile program?Main

??use?GridFile

??type(Grid)?::?mygrid

??!?讀取Grid文件

??call?read_grid_file(mygrid,?'input.grd')

??!?對Grid數據進行處理

??!?寫入Grid文件

??call?write_grid_file(mygrid) ?? end?program?Main

在上述示例代碼中,Grid類型定義了一個Surfer grd文件的基本屬性和數據。read_grid_file子程序用于從文件中讀取Surfer grd文件的數據并存儲到Grid類型對象中,而write_grid_file子程序用于將Grid類型對象的數據寫入Surfer grd文件。主程序Main則演示了如何使用這些子程序來讀取和寫入Surfer grd文件。
請注意,上述示例代碼僅演示了如何讀取和寫入Surfer grd文件的基本步驟,并未包含完整的錯誤處理和異常情況處理。在實際應用中,可能需要添加適當的錯誤檢查和處理代碼,以確保程序的穩定性和可靠性。

0
辽源市| 和平区| 临高县| 沁阳市| 灵川县| 乐清市| 磐石市| 南江县| 巴林左旗| 巫溪县| 广河县| 宁阳县| 泾川县| 桦川县| 当阳市| 九龙县| 清涧县| 涿州市| 屏东市| 景东| 客服| 辛集市| 格尔木市| 黄浦区| 泗阳县| 于都县| 青岛市| 会同县| 沅江市| 汪清县| 攀枝花市| 延津县| 武川县| 三江| 洛扎县| 上杭县| 海城市| 普宁市| 新和县| 嵊州市| 许昌市|