Wow things are getting really weird now... I was trying to avoid posting so much code but I guess it could be useful. When I run this below I get some super strange things in my log file. The log file continues in that while loop until an underflow occurs because its not getting T from the file and it never exits the loop. I dont understand how it is/isnt reading this file.
Also I am not trying to read the header twice, I just noticed that it was for some reason when I was trying to debug.
Here I supplied the log file and lots more code. This is super nice of you guys to spend time helping me on this...
Opening the MPA file
LANL
UT
Adopted
Ion_eV
HEADER:Sat UT,s LT,h N_p,/cc Tpe_p,eV Tpa_p,eV N_e,/cc Tpe_e,eV Tpa_e,eV En_p,eV En_e,eV
CLEARED HEADER:
Success opening MPAFlux.in
Check the MPA data: 0.0000000 -1.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000
Update the MPA data variables: 0.0000000 -1.0000000 1 1 1 (these initial MPA data values are good, not read from file though)
I BREAK HERE

2nd header?
DATA(I) 0.0000000
DATA(I) 0.0000000
..... (bunch of zeroes)
DATA(I) 3.6960000E+06 (this is number is in the input file! but its from something like column 80...?!?!)
DATA(I) 0.0000000
...
DATA(I) 0.0000000
DATA(I) 0.0000000
DATA(I) 9.3210000E+06 (this is from the next column after 3.69e6)
DATA(I) 0.0000000
TM2 After If: 0.0000000 T: 0.0000000 TIME: 0.0000000
Im here
New MPA data: 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
I BREAK HERE

2nd header?
DATA(I) 0.0000000
..
DATA(I) 3.1550000E+06 (same column as last step in loop, 1 line down)
DATA(I) 0.0000000
...
etc..
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
IF (IG7.EQ.1) THEN
631 TS2=TIME-1. ! Prepare SOPA input file
632 TS1=TS2
633 FS2(1:7)=0.
634 OPEN(UNIT=14,FILE=NAME//'_sopa.in',status='old')
635 DO I=1,3
636 READ(14,*) HEADER ! I have 2 files open.. this is ok yeah?
637 END DO
638 END IF
639 TM2=TIME-1. ! Prepare MPA input file
640 TM1=TM2
641 NM2=0.
642 TFM2=0.
643 TCM2=0.
644 NE2=0.
645 TEC2=0.
646 TEF2=0.
647 FLUXMPAI1(1:40)=0.
648 FLUXMPAE1(1:40)=0.
649 FLUXMPAI2(1:40)=0.
650 FLUXMPAE2(1:40)=0.
651 EMPA_e(1:40)=0.
652 EMPA_i(1:40)=0.
653 EMPA(1:40)=0.
654 DATA(1:89)=0. ! DATA IS NOW 0
655 print *, 'Opening the MPA file'
656 IF (I10.EQ.1) THEN
657 OPEN(UNIT=16,FILE=NAME//'_MPAFlux.in',status='old')
658 DO I=1,4 ! 4 lines of header material
659 READ(16,*) HEADER
660 print *, HEADER
661 END DO
662 DO I=1,40
663 READ(16,*,IOSTAT=L) EMPA_i(I),EMPA_e(I)
664 END DO
665 READ(16,30) HEADER
666 30 FORMAT(A150)
667 print *, 'HEADER:',HEADER !(Prints Entire Header perfectly)
668 HEADER = ' '
669 print *, 'CLEARED HEADER:',HEADER !(so far so goood....)
670 print *, 'Success opening MPAFlux.in'
671 ELSE ! (doesnt come in here)
672 OPEN(UNIT=16,FILE=NAME//'_mpa.in',status='old')
673 DO I=1,3 ! 3 lines of header material
674 READ(16,*) HEADER
675 print *, 'uh oh'
676 END DO
677 END IF
678 I2=0
679 IF (S.EQ.1) I2=3
680 END IF
681 END IF
682
683 DO S=1,NS
684
685 DO 5 L=1,LO
686 DO 5 K=1,KO
687 DO 5 J=1,JO
688 5 FGEOS(J,K,L,S)=0.
689
690 IF (SCALC(S).EQ.1) THEN
691
692 IF (TINJ.GT.TIME+2.*DT*NSTEP) THEN ! No injection, use IC for BC
693 DO L=1,LO
694 DO K=1,KO
695 DO J=1,JO
696 FGEOS(J,K,L,S)=F2(IO,J,K,L,S)
697 END DO
698 END DO
699 END DO
700 END IF
701
702 END IF ! SCALC check
703 END DO ! S loop
704
705
706 IF (I10.EQ.1) THEN ! LANL data injection
707 print *, 'Check the MPA data:',T,TM2,NM2,NE2,TM1,NM1,NE1 ! Works...
708 IF (TM2.LT.T) THEN ! MPA DATA
709 K=0
710 print *, 'Update the MPA data variables:',T,TM2,I10,,I11,IG7 ! This also works
711
712 DO WHILE (TM2.LE.T) ! Best if final TM2 > final T
713 K=K+1
714 TM1=TM2
715 NM1=NM2
716 TFM1=TFM2
717 TCM1=TCM2
718 NE1=NE2
719 TEC1=TEC2
720 TEF1=TEF2
721 FLUXMPAI1=FLUXMPAI2
722 FLUXMPAE1=FLUXMPAE2
723 print *, ' I BREAK HERE

'
724 READ(16,*,IOSTAT=L) HEADER
725 print *, '2nd header?', HEADER
726
727 ! READ(16,*,IOSTAT=L) HEADER
728 print *, HEADER
729
730 ! READ(16,*,IOSTAT=L) HEADER
731 print *, HEADER
732
733
734 ! READ(16,*,IOSTAT=L) HEADER,HEADER
735 ! print *, HEADER
736 READ (16,*,IOSTAT=L) (DATA(I),I=1,89,40)
737 40 FORMAT (2X,I1,88(2X,ES11.9))
738
739 TM2=DATA(2)
740 DO I=1,89
741 print *, 'DATA(I)', DATA(I)
742 END DO
743 NM2=DATA(4)
744 TFM2=DATA(6)
745 TCM2=DATA(5)
746 NE2=DATA(7)
747 TEF2=DATA(9)
748 TEC2=DATA(8)
749 FLUXMPAI2=DATA(10:49)
750 FLUXMPAE2=DATA(50:89)
751 IF (L.LT.0) TM2=TIME+2*DT*(NSTEP+1)
752 print *, 'TM2 After If: ', TM2, 'T: ', T,'TIME: ', TIME
753 IF (T.EQ.TIME) THEN ! In case T2>T already
754 TM1=TIME
755 NM1=NM2
756 TFM1=TFM2
757 TCM1=TCM2
758 NE1=NE2
759 TEC1=TEC2
760 TEF1=TEF2
761 FLUXMPAI1=FLUXMPAI2
762 FLUXMPAE1=FLUXMPAE2
763 print *, 'Im here'
764 END IF
765 print *, 'New MPA data:',T,TM2,NM2,NE2,TM1,NM1,NE1
766 IF (K.EQ.10) STOP
767 END DO