Question: Fix Fortran Code. Fortran has code issues. My program does not read the data from the nadata.txt file. Do not edit subroutines. program tlimits

Fix Fortran Code. Fortran has code issues. My program does not read the data from the "nadata.txt" file. Do not edit subroutines.
program tlimits2
implicit none
integer, allocatable :: population(:)
real, allocatable :: parametric(:), nonparametric(:), sample(:)
integer :: i, j, num_samples, sample_size, pop_size, mth_index
real :: K1, TLupper_parametric, TLupper_nonparametric, xm, s
character(len=100) :: input_filename, output_filename, population_filename
character(len=200) :: title_card
! Function declarations
real :: avg, std
! Read input data
open(unit=10, file='nadata.txt', status='old')
read(10,*) title_card
read(10,*) population_filename
read(10,*) pop_size
read(10,*) output_filename
read(10,*) sample_size
read(10,*) num_samples
read(10,*) K1, mth_index
close(10)
! Allocate memory for population and output arrays
allocate(population(pop_size))
allocate(parametric(num_samples))
allocate(nonparametric(num_samples))
! Load population data
open(unit=11, file=trim(population_filename), status='old')
do i =1, pop_size
read(11,*) population(i)
end do
close(11)
! Random seed initialization
call ranseed
! Monte Carlo Simulation
do j =1, num_samples
allocate(sample(sample_size))
do i =1, sample_size
call random_number(xm)
sample(i)= population(min(int(xm * pop_size)+1, pop_size))
end do
! Calculate parametric tolerance limit
xm = avg(sample_size, sample)
s = std(sample_size, sample)
TLupper_parametric = xm + K1* s
parametric(j)= TLupper_parametric
! Calculate non-parametric tolerance limit
call quicksort(sample,1, sample_size)
TLupper_nonparametric = sample(sample_size - mth_index +1)
nonparametric(j)= TLupper_nonparametric
deallocate(sample)
end do
! Output results
open(unit=12, file=trim(output_filename), status='replace')
write(12,'(A)') trim(title_card)
write(12,'(2A)') 'Parametric Limits', 'Non-Parametric Limits'
do i =1, num_samples
write(12,'(2F10.4)') parametric(i), nonparametric(i)
end do
write(12,'(A, F10.4)') 'Mean of Parametric Limits:', avg(num_samples, parametric)
write(12,'(A, F10.4)') 'Standard Deviation of Parametric Limits:', std(num_samples, parametric)
write(12,'(A, F10.4)') 'Mean of Non-Parametric Limits:', avg(num_samples, nonparametric)
write(12,'(A, F10.4)') 'Standard Deviation of Non-Parametric Limits:', std(num_samples, nonparametric)
close(12)
deallocate(population, parametric, nonparametric)
end program tlimits2
Requirements for the code are attached in a picture.
nadata.txt file below: The file includes 93070 values.
3.720E+00
-2.795E+00
1.354E+00
1.994E+00
-4.696E-01
-4.027E+00
6.201E-01
-2.832E+00
4.309E-01
6.068E-01
-5.874E-01
1.400E+00
1.586E+00
-1.198E-01
7.129E-01
-6.035E-01
2.095E+00
7.904E-01
6.647E+00
2.109E+00
-3.470E+00
1.831E+00
6.486E+00
-7.900E-02
-1.906E+00
-1.535E+00
1.743E+00
1.954E+00
-2.180E+00
-8.688E-01
3.085E+00
2.996E+00
-3.275E+00
7.265E-01
1.442E+00
-1.144E+00
3.378E+00
-1.977E+00
-1.583E+00
-9.728E-01
1.524E+00
1.087E+00
-3.343E+00
1.365E+00
-7.501E-01
4.256E+00
2.995E+00
-2.790E+00
-2.139E+00
-2.625E-01
3.363E+00
1.645E+00
2.421E+00
3.092E+00
1.194E+00
-1.570E+00
-1.825E+00
-1.284E+00
-2.337E-01
-1.077E+00
5.708E-01
-1.731E+00
3.079E+00
1.009E+00
3.960E-01
-2.499E+00
-2.346E+00
-1.967E+00
-2.307E+00
-5.903E-01
-9.625E-02
4.567E+00
3.748E+00
-7.938E-01
-1.654E+00
-2.911E+00
3.277E

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!