SURFEX v7.3
General documentation of Surfex
|
00001 MODULE MODE_MODELN_TEB_HANDLER 00002 ! 00003 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00004 USE PARKIND1 ,ONLY : JPRB 00005 ! 00006 IMPLICIT NONE 00007 00008 INTEGER, SAVE, PRIVATE :: ICURRENT_PATCH = 1 00009 !$OMP THREADPRIVATE(ICURRENT_PATCH) 00010 00011 CONTAINS 00012 00013 FUNCTION GET_CURRENT_PATCH_INDEX_TEB() 00014 INTEGER :: GET_CURRENT_PATCH_INDEX_TEB 00015 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00016 !! 00017 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TEB_HANDLER:GET_CURRENT_PATCH_INDEX_TEB',0,ZHOOK_HANDLE) 00018 GET_CURRENT_PATCH_INDEX_TEB = ICURRENT_PATCH 00019 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TEB_HANDLER:GET_CURRENT_PATCH_INDEX_TEB',1,ZHOOK_HANDLE) 00020 !! 00021 END FUNCTION GET_CURRENT_PATCH_INDEX_TEB 00022 00023 SUBROUTINE PUT_CURRENT_PATCH_INDEX_TEB(KPATCH) 00024 INTEGER, INTENT(IN) :: KPATCH 00025 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00026 !! 00027 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TEB_HANDLER:PUT_CURRENT_PATCH_INDEX_TEB',0,ZHOOK_HANDLE) 00028 ICURRENT_PATCH = KPATCH 00029 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TEB_HANDLER:PUT_CURRENT_PATCH_INDEX_TEB',1,ZHOOK_HANDLE) 00030 !! 00031 END SUBROUTINE PUT_CURRENT_PATCH_INDEX_TEB 00032 00033 SUBROUTINE GOTO_PATCH_TEB(KPATCH) 00034 ! 00035 USE MODI_GOTO_WRAPPER_TEB 00036 USE MODE_MODELN_SURFEX_HANDLER, ONLY : GET_CURRENT_MODEL_INDEX_SURFEX 00037 ! 00038 INTEGER, INTENT(IN) :: KPATCH 00039 INTEGER :: ICURRENT_MODEL 00040 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00041 !! 00042 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TEB_HANDLER:GOTO_PATCH_TEB',0,ZHOOK_HANDLE) 00043 00044 ICURRENT_MODEL = GET_CURRENT_MODEL_INDEX_SURFEX() 00045 ! 00046 CALL GOTO_WRAPPER_TEB (ICURRENT_MODEL, ICURRENT_MODEL, .TRUE., KPATCH) 00047 ! 00048 IF (LHOOK) CALL DR_HOOK('MODE_MODELN_TEB_HANDLER:GOTO_PATCH_TEB',1,ZHOOK_HANDLE) 00049 !! 00050 END SUBROUTINE GOTO_PATCH_TEB 00051 00052 END MODULE MODE_MODELN_TEB_HANDLER 00053