extract omit logic to a function
This commit is contained in:
parent
2cbd42ee2f
commit
1f17dfba0d
2 changed files with 26 additions and 19 deletions
|
|
@ -25,4 +25,20 @@ module m_parameters
|
||||||
|
|
||||||
contains
|
contains
|
||||||
|
|
||||||
|
logical function to_omit(num)
|
||||||
|
|
||||||
|
integer, intent(in) :: num
|
||||||
|
|
||||||
|
integer :: i
|
||||||
|
|
||||||
|
to_omit=.false.
|
||||||
|
|
||||||
|
do i=1,omitnum
|
||||||
|
if (num.ge.omit_t(i,1).and.num.le.omit_t(i,2)) then
|
||||||
|
to_omit=.true.
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
|
||||||
|
end function to_omit
|
||||||
|
|
||||||
end module m_parameters
|
end module m_parameters
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,6 @@
|
||||||
|
|
||||||
SUBROUTINE main
|
SUBROUTINE main
|
||||||
INTEGER :: fread,i
|
INTEGER :: fread,i
|
||||||
LOGICAL :: omitsw
|
|
||||||
|
|
||||||
CALL READ_INTRO
|
CALL READ_INTRO
|
||||||
|
|
||||||
|
|
@ -50,17 +49,15 @@
|
||||||
|
|
||||||
fileloop: DO fread=startnum,endnum,skipnum
|
fileloop: DO fread=startnum,endnum,skipnum
|
||||||
|
|
||||||
omitsw=.false.
|
IF ( to_omit(fread) ) THEN
|
||||||
|
|
||||||
filter_omit: DO i=1,omitnum
|
WRITE(*,'(a47,i7,a4,i5,a3,i5)') &
|
||||||
IF (fread.ge.omit_t(i,1).and.fread.le.omit_t(i,2)) THEN
|
' Current fullsavenum = ', fread, ' || ', (fread-startnum+1), ' / ', (endnum-startnum+1)
|
||||||
omitsw=.true.
|
|
||||||
WRITE(*,'(a47,i7,a4,i5,a3,i5)') ' Current fullsavenum = ', fread, ' || ', (fread-startnum+1), ' / ', (endnum-startnum+1)
|
|
||||||
WRITE(*,'(a12,i6,a20,i6)') ' Skip. ', omit_t(i,1), ' <= fullsavenum <= ', omit_t(i,2)
|
|
||||||
ENDIF
|
|
||||||
ENDDO filter_omit
|
|
||||||
|
|
||||||
IF ( .not. omitsw ) THEN
|
WRITE(*,'(a12,i6,a20,i6)') &
|
||||||
|
' Skip. ', omit_t(i,1), ' <= fullsavenum <= ', omit_t(i,2)
|
||||||
|
|
||||||
|
ELSE
|
||||||
countnum=countnum+1
|
countnum=countnum+1
|
||||||
|
|
||||||
CALL READ_FILE(fread)
|
CALL READ_FILE(fread)
|
||||||
|
|
@ -1212,23 +1209,17 @@
|
||||||
SUBROUTINE SECOND_LOOP
|
SUBROUTINE SECOND_LOOP
|
||||||
INTEGER :: i,fread
|
INTEGER :: i,fread
|
||||||
|
|
||||||
LOGICAL :: omitsw
|
|
||||||
|
|
||||||
fileloop: DO fread=startnum,endnum,skipnum
|
fileloop: DO fread=startnum,endnum,skipnum
|
||||||
|
|
||||||
omitsw=.false.
|
IF ( to_omit(fread) ) THEN
|
||||||
|
|
||||||
filter_omit: DO i=1,omitnum
|
|
||||||
IF (fread.ge.omit_t(i,1).and.fread.le.omit_t(i,2)) THEN
|
|
||||||
omitsw=.true.
|
|
||||||
WRITE(*,'(a40,i7,a4,i4,a3,i4)') &
|
WRITE(*,'(a40,i7,a4,i4,a3,i4)') &
|
||||||
' Current fullsavenum = ', fread, ' || ', (fread-startnum+1), ' / ', (endnum-startnum+1)
|
' Current fullsavenum = ', fread, ' || ', (fread-startnum+1), ' / ', (endnum-startnum+1)
|
||||||
|
|
||||||
WRITE(*,'(a12,i6,a20,i6)') &
|
WRITE(*,'(a12,i6,a20,i6)') &
|
||||||
' Skip. ', omit_t(i,1), ' <= fullsavenum <= ', omit_t(i,2)
|
' Skip. ', omit_t(i,1), ' <= fullsavenum <= ', omit_t(i,2)
|
||||||
ENDIF
|
|
||||||
ENDDO filter_omit
|
|
||||||
|
|
||||||
IF ( .not. omitsw ) THEN
|
ELSE
|
||||||
|
|
||||||
CALL READ_FILE2(fread)
|
CALL READ_FILE2(fread)
|
||||||
CALL CAL_Yrs
|
CALL CAL_Yrs
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue