extract omit logic to a function

This commit is contained in:
ignis 2019-04-11 20:57:11 +09:00
parent 2cbd42ee2f
commit 1f17dfba0d
2 changed files with 26 additions and 19 deletions

View file

@ -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

View file

@ -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