46 USE yomhook
,ONLY : lhook, dr_hook
47 USE parkind1
,ONLY : jprb
55 TYPE(isba_t
),
INTENT(INOUT) :: i
58 REAL(KIND=JPRB) :: zhook_handle
60 INTEGER,
INTENT(IN) :: kpatch
62 IF (lhook) CALL dr_hook(
'PACK_DIAG_PATCH_GET_SIZE_N',0,zhook_handle)
72 IF (i%TSNOW%SCHEME==
'3-L' .OR. i%TSNOW%SCHEME==
'CRO')
THEN
73 pkdi%NSIZE_SIMPLE=pkdi%NSIZE_SIMPLE+25
74 pkdi%NSIZE_SNOW=pkdi%NSIZE_SNOW+2
76 pkdi%NSIZE_0=pkdi%NSIZE_0+25
77 pkdi%NSIZE_00=pkdi%NSIZE_00+2
80 IF(i%TSNOW%SCHEME/=
'EBA')
THEN
81 pkdi%NSIZE_SNOW=pkdi%NSIZE_SNOW+1
83 pkdi%NSIZE_00=pkdi%NSIZE_00+1
86 IF(i%TSNOW%SCHEME==
'EBA')
THEN
87 pkdi%NSIZE_SIMPLE=pkdi%NSIZE_SIMPLE+2
89 pkdi%NSIZE_0=pkdi%NSIZE_0+2
93 pkdi%NSIZE_SIMPLE=pkdi%NSIZE_SIMPLE+4
95 pkdi%NSIZE_0=pkdi%NSIZE_0+4
98 IF (i%CPHOTO/=
'NON')
THEN
99 pkdi%NSIZE_ABC=pkdi%NSIZE_ABC+1
101 pkdi%NSIZE_00=pkdi%NSIZE_00+1
105 pkdi%NSIZE_SIMPLE=pkdi%NSIZE_SIMPLE+5
107 pkdi%NSIZE_0=pkdi%NSIZE_0+5
110 IF (dgmi%LSURF_MISC_BUDGET)
THEN
111 pkdi%NSIZE_GROUND=pkdi%NSIZE_GROUND+2
112 pkdi%NSIZE_SIMPLE=pkdi%NSIZE_SIMPLE+2
114 pkdi%NSIZE_00=pkdi%NSIZE_00+2
115 pkdi%NSIZE_0=pkdi%NSIZE_0+2
119 pkdi%NSIZE_SIMPLE=pkdi%NSIZE_SIMPLE+1
121 pkdi%NSIZE_0=pkdi%NSIZE_0+1
125 IF (i%LMEB_PATCH(kpatch))
THEN
127 pkdi%NSIZE_SIMPLE=pkdi%NSIZE_SIMPLE+29
130 pkdi%NSIZE_0=pkdi%NSIZE_0+29
132 pkdi%NSIZE_0=pkdi%NSIZE_0+2
135 IF(dgei%LWATER_BUDGET)
THEN
136 pkdi%NSIZE_SIMPLE=pkdi%NSIZE_SIMPLE+5
138 pkdi%NSIZE_0=pkdi%NSIZE_0+5
141 IF (lhook) CALL dr_hook(
'PACK_DIAG_PATCH_GET_SIZE_N',1,zhook_handle)
subroutine pack_diag_patch_get_size_n(DGEI, DGI, DGMI, I, PKDI, KPATCH)