SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/LIB/TRIP/mode_modeln_trip_handler.F90
Go to the documentation of this file.
00001 MODULE MODE_MODELN_TRIP_HANDLER
00002 !
00003 !
00004 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00005 USE PARKIND1  ,ONLY : JPRB
00006 !
00007 IMPLICIT NONE 
00008 
00009 INTEGER, SAVE, PRIVATE :: ICURRENT_MODEL_TRIP = -1
00010 !$OMP THREADPRIVATE(ICURRENT_MODEL_TRIP)
00011 
00012 CONTAINS 
00013 
00014 FUNCTION GET_CURRENT_MODEL_INDEX_TRIP()
00015 INTEGER :: GET_CURRENT_MODEL_INDEX_TRIP
00016 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00017 !!
00018 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TRIP_HANDLER:GET_CURRENT_MODEL_INDEX_TRIP',0,ZHOOK_HANDLE)
00019 GET_CURRENT_MODEL_INDEX_TRIP = ICURRENT_MODEL_TRIP
00020 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TRIP_HANDLER:GET_CURRENT_MODEL_INDEX_TRIP',1,ZHOOK_HANDLE)
00021 !!
00022 END FUNCTION GET_CURRENT_MODEL_INDEX_TRIP
00023 !
00024 SUBROUTINE GOTO_MODEL_TRIP(KMI, LKFROM)
00025 !
00026 USE MODI_GOTO_WRAPPER_TRIP
00027 !
00028 LOGICAL, INTENT(IN) :: LKFROM
00029 INTEGER, INTENT(IN) :: KMI
00030 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00031 !
00032 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TRIP_HANDLER:GOTO_MODEL_TRIP',0,ZHOOK_HANDLE)
00033 
00034 IF (LKFROM) THEN
00035 
00036   IF (ICURRENT_MODEL_TRIP == -1) THEN
00037     ! First call to GOTO_MODEL_TRIP
00038     ICURRENT_MODEL_TRIP = 1 ! Default model index
00039     !
00040     CALL GOTO_WRAPPER_TRIP   (ICURRENT_MODEL_TRIP, KMI, LKFROM)
00041     ICURRENT_MODEL_TRIP = KMI
00042     !
00043   ELSE
00044     !
00045     CALL GOTO_WRAPPER_TRIP   (ICURRENT_MODEL_TRIP, KMI, LKFROM)  
00046     ICURRENT_MODEL_TRIP = KMI 
00047     !
00048   END IF
00049   !
00050 ELSE
00051   !
00052   CALL GOTO_WRAPPER_TRIP   (ICURRENT_MODEL_TRIP, KMI, LKFROM)
00053   ICURRENT_MODEL_TRIP = KMI  
00054   !
00055 END IF
00056 !
00057 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TRIP_HANDLER:GOTO_MODEL_TRIP',1,ZHOOK_HANDLE)
00058 !
00059 END SUBROUTINE GOTO_MODEL_TRIP
00060 
00061 END MODULE MODE_MODELN_TRIP_HANDLER
00062