?? mfm_timemgr.f
字號:
! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time manager integer, intent(out) :: days ! days integer, intent(out) :: seconds ! seconds integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Returns the step size.!!EOP!------------------------------------------------------------------------------- integer stub call MF_TimeMgrGetStepSizeIS(timeMgr, days, seconds, stub) if (present(rc)) rc = stub end subroutine MFM_TimeMgrGetStepSizeIS!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrGetStepSizeStd!! !INTERFACE: subroutine MFM_TimeMgrGetStepSizeStd(timeMgr, stepSize, rc)! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time manager type(MFM_Time), intent(out) :: stepSize ! step size integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Returns the step size.!!EOP!------------------------------------------------------------------------------- integer stub call MF_TimeMgrGetStepSizeStd(timeMgr, stepsize, stub) if (present(rc)) rc = stub end subroutine MFM_TimeMgrGetStepSizeStd!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrGetStartDate!! !INTERFACE: function MFM_TimeMgrGetStartDate(timeMgr, rc)! !RETURN VALUE: type(MFM_Date) :: MFM_TimeMgrGetStartDate ! start date ! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time manager integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Returns the start date.!!EOP!------------------------------------------------------------------------------- integer stub call MF_DateInitUndefined(MFM_TimeMgrGetStartDate, stub) if (stub == MFM_SUCCESS) then call MF_TimeMgrGetStartDate(timeMgr, MFM_TimeMgrGetStartDate, & stub) end if if (present(rc)) rc = stub end function MFM_TimeMgrGetStartDate!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrGetStopDate!! !INTERFACE: function MFM_TimeMgrGetStopDate(timeMgr, rc)! !RETURN VALUE: type(MFM_Date) :: MFM_TimeMgrGetStopDate ! stop date ! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time manager integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Returns the stop date.!!EOP!------------------------------------------------------------------------------- integer stub call MF_DateInitUndefined(MFM_TimeMgrGetStopDate, stub) if (stub == MFM_SUCCESS) then call MF_TimeMgrGetStopDate(timeMgr, MFM_TimeMgrGetStopDate, & stub) end if if (present(rc)) rc = stub end function MFM_TimeMgrGetStopDate!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrGetBaseDate!! !INTERFACE: function MFM_TimeMgrGetBaseDate(timeMgr, rc)! !RETURN VALUE: type(MFM_Date) :: MFM_TimeMgrGetBaseDate ! base date! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time manager integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Returns the base date.!!EOP!------------------------------------------------------------------------------- integer stub call MF_DateInitUndefined(MFM_TimeMgrGetBaseDate, stub) if (stub == MFM_SUCCESS) then call MF_TimeMgrGetBaseDate(timeMgr, MFM_TimeMgrGetBaseDate, & stub) end if if (present(rc)) rc = stub end function MFM_TimeMgrGetBaseDate!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrGetCurrDate!! !INTERFACE: function MFM_TimeMgrGetCurrDate(timeMgr, rc)! !RETURN VALUE: type(MFM_Date) :: MFM_TimeMgrGetCurrDate ! current date! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time manager integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Returns the current date.!!EOP!------------------------------------------------------------------------------- integer stub call MF_DateInitUndefined(MFM_TimeMgrGetCurrDate, stub) if (stub == MFM_SUCCESS) then call MF_TimeMgrGetCurrDate(timeMgr, MFM_TimeMgrGetCurrDate, & stub) end if if (present(rc)) rc = stub end function MFM_TimeMgrGetCurrDate!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrSetCurrDateIS!! !INTERFACE: subroutine MFM_TimeMgrSetCurrDateIS(timeMgr, dateYYMMDD, tod, rc)! !RETURN VALUE:! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time manager integer, intent(in) :: dateYYMMDD ! date integer, intent(in) :: tod ! seconds into day integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Sets the current date. Also sets the previous date based on ! the current date and the time step.!!EOP!------------------------------------------------------------------------------- integer stub call MF_TimeMgrSetCurrDateIS(timeMgr, & dateYYMMDD, & tod, & stub) if (present(rc)) rc = stub end subroutine MFM_TimeMgrSetCurrDateIS!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrGetPrevDate!! !INTERFACE: function MFM_TimeMgrGetPrevDate(timeMgr, rc)! !RETURN VALUE: type(MFM_Date) :: MFM_TimeMgrGetPrevDate ! previous date! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time manager integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Returns the previous timestep.!!EOP!------------------------------------------------------------------------------- integer stub call MF_DateInitUndefined(MFM_TimeMgrGetPrevDate, stub) if (stub == MFM_SUCCESS) then call MF_TimeMgrGetPrevDate(timeMgr, MFM_TimeMgrGetPrevDate, & stub) end if if (present(rc)) rc = stub end function MFM_TimeMgrGetPrevDate!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrRestartWriteIS!! !INTERFACE: subroutine MFM_TimeMgrRestartWriteIS(timeMgr, & type, & nstep, & stepDays, stepSec, & startYYMMDD, startSec, & stopYYMMDD, stopSec, & baseYYMMDD, baseSec, & currYYMMDD, currSec, & rc)! !PARAMETERS: type(MFM_TimeMgr), intent(in) :: timeMgr ! time Manager integer, intent(out) :: type ! Calendar type integer, intent(out) :: nstep ! step number integer, intent(out) :: stepDays ! days in step size integer, intent(out) :: stepSec ! seconds in step size integer, intent(out) :: startYYMMDD ! start day integer, intent(out) :: startSec ! start time integer, intent(out) :: stopYYMMDD ! stop day integer, intent(out) :: stopSec ! stop time integer, intent(out) :: baseYYMMDD ! base day integer, intent(out) :: baseSec ! base time integer, intent(out) :: currYYMMDD ! curr day integer, intent(out) :: currSec ! curr time integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Returns all the data necessary to reconstruct an identical! TimeMgr after a restart.! !EOP!------------------------------------------------------------------------------- integer stub call MF_TimeMgrRestartWriteIS(timeMgr, & type, & nstep, & stepDays, stepSec, & startYYMMDD, startSec, & stopYYMMDD, stopSec, & baseYYMMDD, baseSec, & currYYMMDD, currSec, & stub) if (present(rc)) rc = stub end subroutine MFM_TimeMgrRestartWriteIS!===============================================================================!BOP!! !IROUTINE: MFM_TimeMgrRestartReadIS!! !INTERFACE: function MFM_TimeMgrRestartReadIS( & type, & nstep, & stepDays, stepSec, & startYYMMDD, startSec, & stopYYMMDD, stopSec, & baseYYMMDD, baseSec, & currYYMMDD, currSec, & rc)! !RETURN VALUE: type(MFM_TimeMgr) :: MFM_TimeMgrRestartReadIS ! previous date! !PARAMETERS: integer, intent(in) :: stepDays ! days in step integer, intent(in) :: type ! calendar type integer, intent(in) :: nstep ! step number integer, intent(in) :: stepSec ! seconds in step integer, intent(in) :: startYYMMDD ! start day integer, intent(in) :: startSec ! start time integer, intent(in) :: stopYYMMDD ! stop day integer, intent(in) :: stopSec ! stop time integer, intent(in) :: baseYYMMDD ! base day integer, intent(in) :: baseSec ! base time integer, intent(in) :: currYYMMDD ! curr day integer, intent(in) :: currSec ! curr time integer, intent(out), optional :: rc ! return code! !DESCRIPTION:! Reconstructs a time manager based on the data given. This data! will typically come from a {\tt MFM\_TimeMgrRestartWrite}. ! The value of {\tt nstep} may be set to any positive integer.! !EOP!------------------------------------------------------------------------------- integer stub call MF_TimeMgrRestartReadIS( & MFM_TimeMgrRestartReadIS, & type, & nstep, & stepDays, stepSec, & startYYMMDD, startSec, & stopYYMMDD, stopSec, & baseYYMMDD, baseSec, & currYYMMDD, currSec, & stub) if (present(rc)) rc = stub end function MFM_TimeMgrRestartReadIS!===============================================================================
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -