! Read input.dat and write a new file with some different values program create_input use sim_utils implicit none character*120 string character*50 initial_offsets(61) character *1 num1 character*2 num2 character*20 file_name integer i integer lun, lun1 logical initial_offsets_exists/.false./ initial_offsets(1) = 'initial_offsets = -0.0040211 0.0 0. 0. 0. -0.0005' initial_offsets(2) = 'initial_offsets = 0.0040211 0.0 0. 0. 0. 0.0005' initial_offsets(3) = 'initial_offsets = -0.00804216 0.0 0. 0. 0. -0.001' initial_offsets(4) = 'initial_offsets = 0.00804216 0.0 0. 0. 0. 0.001' initial_offsets(5) = 'initial_offsets = -0.012063 0.0 0. 0. 0. -0.0015' initial_offsets(6) = 'initial_offsets = 0.012063 0.0 0. 0. 0. 0.0015' initial_offsets(7) = 'initial_offsets = -0.016084 0.0 0. 0. 0. -0.002' initial_offsets(8) = 'initial_offsets = 0.016084 0.0 0. 0. 0. 0.002' initial_offsets(9) = 'initial_offsets = -0.017693 0.0 0. 0. 0. -0.0022' initial_offsets(10) = 'initial_offsets = 0.017693 0.0 0. 0. 0. 0.0022' initial_offsets(11) = 'initial_offsets = -0.0070211 0.0 0. 0. 0. -0.0005' initial_offsets(12) = 'initial_offsets = 0.0070211 0.0 0. 0. 0. 0.0005' initial_offsets(13) = 'initial_offsets = -0.01104216 0.0 0. 0. 0. -0.001' initial_offsets(14) = 'initial_offsets = 0.0114216 0.0 0. 0. 0. 0.001' initial_offsets(15) = 'initial_offsets = -0.015063 0.0 0. 0. 0. -0.0015' initial_offsets(16) = 'initial_offsets = 0.015063 0.0 0. 0. 0. 0.0015' initial_offsets(17) = 'initial_offsets = -0.019084 0.0 0. 0. 0. -0.002' initial_offsets(18) = 'initial_offsets = 0.019084 0.0 0. 0. 0. 0.002' initial_offsets(19) = 'initial_offsets = -0.020693 0.0 0. 0. 0. -0.0022' initial_offsets(20) = 'initial_offsets = 0.020693 0.0 0. 0. 0. 0.0022' initial_offsets(21) = 'initial_offsets = 0.0 -0.04 0.0 0.0 0.0 0.0' initial_offsets(22) = 'initial_offsets = 0.0 -0.035 0.0 0.0 0.0 0.0' initial_offsets(23) = 'initial_offsets = 0.0 -0.03 0.0 0.0 0.0 0.0' initial_offsets(24) = 'initial_offsets = 0.0 -0.025 0.0 0.0 0.0 0.0' initial_offsets(25) = 'initial_offsets = 0.0 -0.02 0.0 0.0 0.0 0.0' initial_offsets(26) = 'initial_offsets = 0.0 -0.015 0.0 0.0 0.0 0.0' initial_offsets(27) = 'initial_offsets = 0.0 -0.01 0.0 0.0 0.0 0.0' initial_offsets(28) = 'initial_offsets = 0.0 -0.009 0.0 0.0 0.0 0.0' initial_offsets(29) = 'initial_offsets = 0.0 -0.008 0.0 0.0 0.0 0.0' initial_offsets(30) = 'initial_offsets = 0.0 -0.007 0.0 0.0 0.0 0.0' initial_offsets(31) = 'initial_offsets = 0.0 -0.006 0.0 0.0 0.0 0.0' initial_offsets(32) = 'initial_offsets = 0.0 -0.005 0.0 0.0 0.0 0.0' initial_offsets(33) = 'initial_offsets = 0.0 -0.004 0.0 0.0 0.0 0.0' initial_offsets(34) = 'initial_offsets = 0.0 -0.003 0.0 0.0 0.0 0.0' initial_offsets(35) = 'initial_offsets = 0.0 -0.002 0.0 0.0 0.0 0.0' initial_offsets(36) = 'initial_offsets = 0.0 -0.001 0.0 0.0 0.0 0.0' initial_offsets(37) = 'initial_offsets = 0.0 0.0 0.0 0.0 0.0 0.0' initial_offsets(38) = 'initial_offsets = 0.0 0.04 0.0 0.0 0.0 0.0' initial_offsets(39) = 'initial_offsets = 0.0 0.035 0.0 0.0 0.0 0.0' initial_offsets(40) = 'initial_offsets = 0.0 0.03 0.0 0.0 0.0 0.0' initial_offsets(41) = 'initial_offsets = 0.0 0.025 0.0 0.0 0.0 0.0' initial_offsets(42) = 'initial_offsets = 0.0 0.02 0.0 0.0 0.0 0.0' initial_offsets(43) = 'initial_offsets = 0.0 0.015 0.0 0.0 0.0 0.0' initial_offsets(44) = 'initial_offsets = 0.0 0.01 0.0 0.0 0.0 0.0' initial_offsets(45) = 'initial_offsets = 0.0 0.009 0.0 0.0 0.0 0.0' initial_offsets(46) = 'initial_offsets = 0.0 0.008 0.0 0.0 0.0 0.0' initial_offsets(47) = 'initial_offsets = 0.0 0.007 0.0 0.0 0.0 0.0' initial_offsets(48) = 'initial_offsets = 0.0 0.006 0.0 0.0 0.0 0.0' initial_offsets(49) = 'initial_offsets = 0.0 0.005 0.0 0.0 0.0 0.0' initial_offsets(50) = 'initial_offsets = 0.0 0.004 0.0 0.0 0.0 0.0' initial_offsets(51) = 'initial_offsets = 0.0 0.003 0.0 0.0 0.0 0.0' initial_offsets(52) = 'initial_offsets = 0.0 0.002 0.0 0.0 0.0 0.0' initial_offsets(53) = 'initial_offsets = 0.0 0.001 0.0 0.0 0.0 0.0' initial_offsets(54) = 'initial_offsets = 0.0 0.0 0.0 0.0 0.0 0.0' initial_offsets(55) = 'initial_offsets = 0.019300 0.0 0. 0. 0. 0.0024' initial_offsets(56) = 'initial_offsets = 0.020105 0.0 0. 0. 0. 0.0025' initial_offsets(57) = 'initial_offsets = 0.021713 0.0 0. 0. 0. 0.0027' initial_offsets(58) = 'initial_offsets = 0.022517 0.0 0. 0. 0. 0.0028' initial_offsets(59) = 'initial_offsets = 0.024126 0.0 0. 0. 0. 0.003' initial_offsets(60) = 'initial_offsets = 0.025735 0.0 0. 0. 0. 0.0032' initial_offsets(61) = 'initial_offsets = 0.028147 0.0 0. 0. 0. 0.0035' do i=1,61 write(num2,'(i2)')i if(i<10)then file_name = 'input'//num2(2:2)//'.dat' else file_name = 'input'//num2(1:2)//'.dat' endif print *,' file_name = ', file_name lun1 = lunget() open (unit=lun1,file = file_name) lun = lunget() open(unit=lun,file = 'input.dat') do while(.true.) read(lun,'(a)', end=99)string string = trim(string) !print *,' string = ',string if(string(1:15)/='initial_offsets')then write(lun1,'(a)')string else write(lun1,'(a)')initial_offsets(i) initial_offsets_exists = .true. endif end do 99 continue close(lun) close(lun1) if(.not. initial_offsets_exists)then print *,' No initial_offsets found in input.dat' stop endif end do end program