SURFEX v8.1
General documentation of Surfex
modd_off_tripn.F90
Go to the documentation of this file.
2 !
3 USE yomhook ,ONLY : lhook, dr_hook
4 USE parkind1 ,ONLY : jprb
5 !
7 !
8 TYPE(trip_model_t), ALLOCATABLE, TARGET, SAVE :: ytrip_list(:)
9 TYPE(trip_model_t), POINTER :: ytrip_cur => null()
10 !$OMP THREADPRIVATE(YTRIP_CUR)
11 !
12 CONTAINS
13 !
14 SUBROUTINE goto_model_trip(KMODEL)
15 
16 INTEGER, INTENT(IN) :: KMODEL
17 REAL(KIND=JPRB) :: ZHOOK_HANDLE
18 IF (lhook) CALL dr_hook("MODD_OFF_TRIP_n:GOTO_MODEL_TRIP",0,zhook_handle)
19 !
20 ytrip_cur => ytrip_list(kmodel)
21 !
22 IF (lhook) CALL dr_hook("MODD_OFF_TRIP_n:GOTO_MODEL_TRIP",1,zhook_handle)
23 !
24 END SUBROUTINE goto_model_trip
25 !
26 SUBROUTINE trip_alloc_list(KMODEL)
27 !
28 USE modi_trip_alloc
29 !
30 IMPLICIT NONE
31 !
32 INTEGER, INTENT(IN) :: KMODEL
33 INTEGER :: J
34 REAL(KIND=JPRB) :: ZHOOK_HANDLE
35 IF (lhook) CALL dr_hook("MODD_OFF_TRIP_n:TRIP_ALLOC_LIST",0,zhook_handle)
36 !
37 ALLOCATE(ytrip_list(kmodel))
38 !
39 DO j = 1,kmodel
40  CALL trip_alloc(ytrip_list(j))
41 ENDDO
42 !
43 IF (lhook) CALL dr_hook("MODD_OFF_TRIP_n:TRIP_ALLOC_LIST",1,zhook_handle)
44 !
45 END SUBROUTINE trip_alloc_list
46 !
47 SUBROUTINE trip_deallo_list
48 !
49 USE modi_trip_deallo
50 !
51 INTEGER :: J
52 REAL(KIND=JPRB) :: ZHOOK_HANDLE
53 IF (lhook) CALL dr_hook("MODD_OFF_TRIP_n:TRIP_DEALLO_LIST",0,zhook_handle)
54 !
55 DO j=1,SIZE(ytrip_list)
56  CALL trip_deallo(ytrip_list(j))
57 ENDDO
58 !
59 IF (ASSOCIATED(ytrip_cur)) NULLIFY(ytrip_cur)
60 IF (ALLOCATED(ytrip_list)) DEALLOCATE(ytrip_list)
61 !
62 IF (lhook) CALL dr_hook("MODD_OFF_TRIP_n:TRIP_DEALLO_LIST",1,zhook_handle)
63 !
64 END SUBROUTINE trip_deallo_list
65 !
66 END MODULE modd_off_trip_n
subroutine trip_alloc_list(KMODEL)
type(trip_model_t), pointer ytrip_cur
subroutine trip_alloc(YDTRIP)
Definition: trip_alloc.F90:2
subroutine trip_deallo_list
subroutine trip_deallo(YDTRIP)
Definition: trip_deallo.F90:2
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
type(trip_model_t), dimension(:), allocatable, target, save ytrip_list
subroutine goto_model_trip(KMODEL)