|
读取一个文件时,出现如下错误:
read_rinex_head.f in:./data/20200100/djig1000.20o
NUM 25 xf_mdat 19
datatypes L1 P1 C1 L2 P2 D1 D2 S1 S2 L5 C5 D5 S5 L6 C6 D6 S6 L7
xf_dattyp 1 3 5 2 4 6 7 9 10 11 12 13 14 15 16 17 18 19 0 0
0 0 0 0
IOSTAT error -1 occurred decoding
L5 C5 D5 S5 L6 C6 D6 S6 L7# / TYPES OF OBSERV
in RXHEAD
WARNING:230705:1542:35.0 ./HALO_GNSS/rxhead: IOSTAT error decoding file L5 C5 D5 S5 L6 C6 D6 S6 L7# / TYPES OF OBSERV ERROR -1
IOSTAT error -1 occurred decoding
C7 D7 S7 L8 C8 D8 S8 # / TYPES OF OBSERV
in RXHEAD
WARNING:230705:1542:35.0 ./HALO_GNSS/rxhead: IOSTAT error decoding file C7 D7 S7 L8 C8 D8 S8 # / TYPES OF OBSERV ERROR -1
读取的文件:
[Fortran] 纯文本查看 复制代码 02 | indx = index ( line , '# / TYPES OF OBSERV' ) |
04 | * MOD TAH 090114 : Allow for more than 9 entries on a line |
05 | read ( line , fmt = '(i6,9(4x,a2))' , iostat = jerr ) xf_ndat , |
06 | . ( datatypes ( i ) , i = 1 , min ( xf_ndat , 9 ) ) |
08 | call report_error ( 'IOSTAT' , jerr , 'decod' , line , 0 , 'RXHEAD' ) |
09 | if ( xf_ndat .gt. xf_maxdat ) then |
10 | write ( * , 180 ) xf_ndat , xf_maxdat |
11 | 180 format ( '**DISASTER** Too many observables. ' , |
12 | . I 3 , ' in current RX file, ' , i 3 , |
13 | . ' set in xf_maxdat' ) |
14 | stop 'TRACK DISASTER: Too many observables' |
16 | * * * * See if we need to read next line |
17 | if ( xf_ndat .gt. 9 ) then |
18 | read ( obs_lu , '(a)' , iostat = ierr ) line |
19 | call report_error ( 'IOSTAT' , ierr , 'read' , obs_file , |
21 | read ( line , fmt = '(6x, 9(4x,a2) )' , iostat = jerr ) |
22 | . ( datatypes ( i ) , i = 10 , xf_ndat ) |
25 | * MOD TAH 100717 : Changed C 1 to type 5 and test later and use only if |
27 | * MOD TAH 130425 : Added C 2 as type 8 , used if P 2 is not available |
31 | if ( datatypes ( i ) .eq. 'L1' ) xf_dattyp ( i ) = 1 |
32 | if ( datatypes ( i ) .eq. 'L2' ) xf_dattyp ( i ) = 2 |
33 | if ( datatypes ( i ) .eq. 'P1' ) xf_dattyp ( i ) = 3 |
34 | if ( datatypes ( i ) .eq. 'P2' ) xf_dattyp ( i ) = 4 |
35 | if ( datatypes ( i ) .eq. 'C1' ) xf_dattyp ( i ) = 5 |
36 | if ( datatypes ( i ) .eq. 'D1' ) xf_dattyp ( i ) = 6 |
37 | if ( datatypes ( i ) .eq. 'D2' ) xf_dattyp ( i ) = 7 |
38 | if ( datatypes ( i ) .eq. 'C2' ) xf_dattyp ( i ) = 8 |
40 | if ( datatypes ( i ) .eq. 'S1' ) xf_dattyp ( i ) = 9 |
41 | if ( datatypes ( i ) .eq. 'S2' ) xf_dattyp ( i ) = 10 |
42 | if ( datatypes ( i ) .eq. 'L5' ) xf_dattyp ( i ) = 11 |
43 | if ( datatypes ( i ) .eq. 'C5' ) xf_dattyp ( i ) = 12 |
44 | if ( datatypes ( i ) .eq. 'D5' ) xf_dattyp ( i ) = 13 |
47 | if ( xf_mdat .lt. xf_dattyp ( i ) ) |
48 | . xf_mdat = xf_dattyp ( i ) |
50 | write ( * , fmt = '(/,a,a120)' ) 'read_rinex_head.f in:' , obs_file |
51 | write ( * , fmt = '( 2(a,i4) )' ) 'NUM' , xf_ndat , ' xf_mdat' , xf_mdat |
52 | write ( * , fmt = '(a,20a3)' ) 'datatypes ' , datatypes ( 1 : xf_ndat ) |
53 | write ( * , fmt = '(a,20i3)' ) 'xf_dattyp ' , xf_dattyp ( 1 : xf_ndat ) |
想知道是什么原因?困扰好久了,最近学习老师的程序,小白一枚,求各位大佬帮帮!
|
|