⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grid.f90

📁 把dat文件转化为grd文件 供surfer使用
💻 F90
字号:
	  PROGRAM MAIN 
	  INTEGER::NUM_X,NUM_Y,IUNIT
	  REAL::X_BEGIN,X_END,Y_BEGIN,Y_END
	  CHARACTER(LEN=*)::FILENAME 
	  PARAMETER(NUM_X=560,NUM_Y=200,X_BEGIN=1E0,X_END=560E0,Y_BEGIN=1E0,Y_END=200E0,IUNIT=2,FILENAME='H1H')
	  DIMENSION  Z(560,200)
	  REAL::Z
	  OPEN(UNIT=1,FILE='D:\DAT\21.DAT',STATUS='OLD')
	  DO 2 N=1,NUM_Y
	    DO 1 M=1,NUM_X
	      READ(1,*) M,N,Z(M,N)
1	    CONTINUE
2	  CONTINUE
      CLOSE(1)
	  CALL WR_SURFER_GRID(NUM_X,NUM_Y,X_BEGIN,X_END,Y_BEGIN,Y_END,Z,IUNIT,FILENAME)
	  PAUSE
	  END
! WRITE GOLDEN SOFTWARE SURFER 8.0 GRID FORMAT DATA BY ASCII (3D) 
! NUM_X,NUM_Y=NUMBER IN X AND Y DIRECTION RESPECTIVELY 
! X_BEGIN,X_END,Y_BEGIN,Y_END=THE BEGIN AND END VALUE IN X AND Y DIRECTION RESPECTIVELY 
! Z(NUM_X,NUM_Y)=Z VALUE AT GRID X AND Y POINT( NUM_X,NUM_Y MUST IN ASCENDING ORDER) 
! IUNIT,FILENAME=OPEN FILE UNIT AND NAME TO WRITE THE 3D DATA 
! BLANKVALUE= OPTIONAL PARAMETER, IF PRESENT, THEN CHANGE BLANKVALUE TO SURFER DEFAULT 
!VALUE 2.0E38 
      SUBROUTINE WR_SURFER_GRID(NUM_X,NUM_Y,X_BEGIN,X_END,Y_BEGIN,Y_END,Z,IUNIT,FILENAME) 
      IMPLICIT NONE 
      INTEGER,INTENT(IN):: NUM_X,NUM_Y,IUNIT 
      REAL,INTENT(IN)::X_BEGIN,X_END,Y_BEGIN,Y_END,Z(NUM_X,NUM_Y) 
      CHARACTER(LEN=*),INTENT(IN)::FILENAME 
      INTEGER I,J 
      REAL ZMIN,ZMAX,BLANKVALUE_SURFER 
      close(iunit) 
      open(IUNIT,file=FILENAME//'.dat.grd') 
      WRITE(iuNit,'(4A)') 'DSAA' 
      WRITE(iunit,*) NUM_X,NUM_Y 
      WRITE(iunit,*) X_BEGIN,X_END 
      WRITE(iunit,*) Y_BEGIN,Y_END 
      ZMIN=1.0E38; ZMAX=-1.0E38 
      do j=1,NUM_Y;do i=1,NUM_X 
      IF(Z(I,J)>=ZMAX) ZMAX=Z(I,J) 
      IF(Z(I,J)<=ZMIN) ZMIN=Z(I,J) 
      ENDDO;ENDDO 
      WRITE(IUNIT,*) ZMIN,ZMAX 
      do j=1,NUM_Y;do i=1,NUM_X 
      BLANKVALUE_SURFER=2.0E38   ! SURFER8 DEFAULT BLANK VALUE 
      WRITE(IUNIT,*) Z(I,J) 
      ENDDO;ENDDO 
      close(IUNIT) 
      PRINT *, '' 
      PRINT *, 'Output data to File :       ', FILENAME//'.dat.grd' 
      PRINT *, '' 
      END SUBROUTINE WR_SURFER_GRID 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -