|
- module KillLineMain
- implicit none
- public
- contains
-
- subroutine KillLine_Setup()
- use CSimulationVariables
- implicit none
- call OnSimulationInitialization%Add(KillLine_Init)
- call OnSimulationStop%Add(KillLine_Init)
- call OnKillLineStep%Add(KillLine_Step)
- call OnKillLineOutput%Add(KillLine_Output)
- call OnKillLineMain%Add(KillLineMainBody)
- end subroutine
-
- subroutine KillLine_Init
- implicit none
- end subroutine KillLine_Init
-
- subroutine KillLine_Step
- CALL KILL_LINE
- end subroutine KillLine_Step
-
- subroutine KillLine_Output
- implicit none
- end subroutine KillLine_Output
-
- subroutine KillLineMainBody
- USE ifport
- USE ifmt
- USE CSimulationVariables
- ! USE BOP
- implicit none
-
- INTEGER :: KillLineDuration
- integer,dimension(8) :: KillLineStartTime , KillLineEndTime
-
- ! CALL BOP_StartUp()
- loop1: DO
-
- CALL DATE_AND_TIME(values=KillLineStartTime)
-
- CALL KILL_LINE
-
- CALL DATE_AND_TIME(values=KillLineEndTime)
-
- KillLineDuration = 3600000 * (KillLineEndTime(5) - KillLineStartTime(5)) + 60000 * (KillLineEndTime(6) - KillLineStartTime(6)) + 1000 * (KillLineEndTime(7) - KillLineStartTime(7)) + (KillLineEndTime(8) - KillLineStartTime(8))
-
- if (KillLineDuration < 100) then
- call sleepqq(100 - KillLineDuration)
- ELSE
- WRITE (*,*) 'KillLine BOP run duration exceeded 100 ms and =', KillLineDuration
- end if
-
-
- IF (IsStopped==.true.) THEN
- EXIT loop1
- ENDIF
-
-
- ENDDO loop1
-
-
- ! CALL DEALLOCATE_ARRAYS()
-
- end subroutine KillLineMainBody
-
- end module KillLineMain
|