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
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@
|
|||
|
||||
SUBROUTINE main
|
||||
INTEGER :: fread,i
|
||||
LOGICAL :: omitsw
|
||||
|
||||
CALL READ_INTRO
|
||||
|
||||
|
|
@ -50,17 +49,15 @@
|
|||
|
||||
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(*,'(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
|
||||
WRITE(*,'(a47,i7,a4,i5,a3,i5)') &
|
||||
' Current fullsavenum = ', fread, ' || ', (fread-startnum+1), ' / ', (endnum-startnum+1)
|
||||
|
||||
IF ( .not. omitsw ) THEN
|
||||
WRITE(*,'(a12,i6,a20,i6)') &
|
||||
' Skip. ', omit_t(i,1), ' <= fullsavenum <= ', omit_t(i,2)
|
||||
|
||||
ELSE
|
||||
countnum=countnum+1
|
||||
|
||||
CALL READ_FILE(fread)
|
||||
|
|
@ -1212,23 +1209,17 @@
|
|||
SUBROUTINE SECOND_LOOP
|
||||
INTEGER :: i,fread
|
||||
|
||||
LOGICAL :: omitsw
|
||||
|
||||
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)') &
|
||||
' 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
|
||||
ELSE
|
||||
|
||||
CALL READ_FILE2(fread)
|
||||
CALL CAL_Yrs
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue