重新格式化未格式化的fortran文件

时间:2014-10-01 21:07:11

标签: formatting fortran

我有一个" UNFORMATTED" fortran文件,我为此编写了一个小子程序,试图从中获取一些信息(如下所示)。我想做什么,或者想知道是否可以做,是"格式"将文件名为fort.24的文件转换为另一种格式化,可读,文件或可读打印到屏幕上。

我想过只需放入一个循环,在打开文件后读取文件的每一行,然后将其打印到屏幕上,但我不知道该怎么做。

我认为可以重新格式化未格式化的文件,或者这是不正确的#34;。

非常感谢

詹姆斯

  SUBROUTINE mod2

  implicit none

  !     Arguments
  integer :: nset_pw_dipoles, mgvn, stot, gutot, iprnt, iwrite, &
 &           ifail,dip_comp_present(3)
  character(len=11) ::  form_pw_dipoles
  character(len=80) ::  title
  integer, allocatable :: ichl(:), lvchl(:), mvchl(:)
  real(kind=8), allocatable :: evchl(:), escat(:),re_pw_dipoles(:,:,:,:), im_pw_dipoles(:,:,:,:)

  !     Local
  integer :: keydip, nchan, nbound, no_scat_energies, no_components, ierr
  no_components=3
  keydip=24

  open (unit=24,file = "fort.24", form="UNFORMATTED", iostat=ierr, err=100)

  !     Read set header
  !     ----------------
  read(24) keydip, nset_pw_dipoles
  read(24) title
  read(24) mgvn, stot, gutot, nchan, nbound, no_scat_energies, dip_comp_present

  !     Allocate space for channel info arrays
  allocate( ichl(nchan), lvchl(nchan), mvchl(nchan), evchl(nchan), escat(no_scat_energies) )

  read(24) ichl, lvchl, mvchl, evchl, escat

  !     Write Set Body
  !     --------------   

  !     Allocate space for partial wave dipoles
  allocate( re_pw_dipoles(nbound, nchan, no_components, no_scat_energies), &
 &          im_pw_dipoles(nbound, nchan, no_components, no_scat_energies) )

  read(24) re_pw_dipoles
  read(24) im_pw_dipoles

  return

  100 stop "ERROR: Reading partial wave dipoles"

  END SUBROUTINE mod2

0 个答案:

没有答案