program rms_KdVB !********************************************************************** ! * . . . ! * PROGRAM: rms_KdVB ! * PRGMMR: M. ZUPANSKI ORG: CIRA/CSU DATE: 2003-09-09 ! * ! * ABSTRACT: Prepare formated x1d file, suitable for plotting ! * ! * PROGRAM LOG: ! * ! * 09/09/2003 ..... M. ZUPANSKI: Original 'transform.F' ! * 10/17/2003 ..... M. ZUPANSKI: Innovation normalization ! * 10/22/2003 ..... M. ZUPANSKI: Innovation histogram ! * 10/22/2003 ..... M. ZUPANSKI: plotting ! * 10/24/2003 ..... M. ZUPANSKI: Root-Mean-Squared error calculation ! * ! ********************************************************************** !----- integer,parameter::in_file1=20 ! input file1 # integer,parameter::in_file2=21 ! input file2 # integer,parameter::out_rms=51 ! formatted RMS file # !----- integer :: im character(len=9) :: u_name real :: rms real,dimension(:),allocatable::u_1,u_2 !----------------------------------------- 100 format(E20.10) 110 format(i7) 300 format(a9) !-- read in first file rewind in_file1 read(in_file1,110) im read(in_file1,300) u_name allocate(u_1(1:im)) do i=1,im read(in_file1,100) u_1(i) end do !-- read in second file rewind in_file2 read(in_file2,110) im read(in_file2,300) u_name allocate(u_2(1:im)) do i=1,im read(in_file2,100) u_2(i) end do !-- calculate rms error rms=0.0 do i=1,im rms=rms+(u_1(i)-u_2(i))**2 end do rms=sqrt(rms/float(im)) !-- write formatted file rewind out_rms write(out_rms,100) rms stop end