program convert_flux ! Converts CSIRO coupled GCM restart surface fluxes from CRAY native format ! to Alpha native format. ! ! Usage: convert_flux ! ! Steve Phipps 15 November 2001 implicit none ! Define constants integer, parameter :: inunit=10, outunit=11, lon=64, lat=28 ! Declare variables character(len=80) :: infile, outfile integer :: itt, i real, dimension(lon*lat*2) :: data character(len=14) :: message1 character(len=18) :: message2 ! Get names of input and output files call getarg(1, infile) call getarg(2, outfile) ! Open input and output files open(unit=inunit, file=infile, status='old', form='unformatted', & action='read', convert='cray') open(unit=outunit, file=outfile, status='new', form='unformatted', & action='write') ! Read data from input file and write immediately to output file read (inunit) message1 write (outunit) message1 read (inunit) itt write (outunit) itt do i = 1, 4 read (inunit) data write (outunit) data end do read (inunit) message2 if (message2 /= "end surface fluxes") stop "Error in convert_flux." write (outunit) message2 ! Close input and output files close (unit=inunit) close (unit=outunit) end program convert_flux