54 USE modi_set_sso_levels
56 USE modi_get_type_dim_n
58 USE yomhook
,ONLY : lhook, dr_hook
59 USE parkind1
,ONLY : jprb
71 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
72 CHARACTER(LEN=3),
INTENT(IN) :: hinit
77 CHARACTER(LEN=12) :: yrecfm
78 CHARACTER(LEN=3) :: yread
82 INTEGER :: iversion, ibugfix
84 REAL(KIND=JPRB) :: zhook_handle
89 IF (lhook) CALL dr_hook(
'READ_SSO_CANOPY_N',0,zhook_handle)
97 hprogram,yrecfm,iversion,iresp)
101 hprogram,yrecfm,ibugfix,iresp)
103 IF (iversion<6.OR.hinit==
'PGD'.OR. hinit==
'PRE')
THEN
106 IF (iversion>7 .OR. iversion==7 .AND.ibugfix>=2)
THEN
109 hprogram,yrecfm,yread,iresp)
113 IF (yread/=
'ALL')
THEN
118 hprogram,yrecfm,gcanopy,iresp)
127 IF (.NOT. gcanopy)
THEN
134 hprogram,yrecfm,sscp%NLVL,iresp)
140 ALLOCATE(sscp%XZ(ilu,sscp%NLVL))
141 ALLOCATE(sscp%XU(ilu,sscp%NLVL))
142 ALLOCATE(sscp%XTKE(ilu,sscp%NLVL))
145 DO jlayer=1,sscp%NLVL
146 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SSO_CAN_Z',jlayer,
' '
148 hprogram,yrecfm,sscp%XZ(:,jlayer),iresp)
152 DO jlayer=1,sscp%NLVL
153 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SSO_CAN_U',jlayer,
' '
155 hprogram,yrecfm,sscp%XU(:,jlayer),iresp)
159 DO jlayer=1,sscp%NLVL
160 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SSO_CAN_E',jlayer,
' '
162 hprogram,yrecfm,sscp%XTKE(:,jlayer),iresp)
184 ALLOCATE(sscp%XDZ (ilu,sscp%NLVL))
185 ALLOCATE(sscp%XZF (ilu,sscp%NLVL))
186 ALLOCATE(sscp%XDZF(ilu,sscp%NLVL))
187 CALL
canopy_grid(ilu,sscp%NLVL,sscp%XZ,sscp%XZF,sscp%XDZ,sscp%XDZF)
188 IF (lhook) CALL dr_hook(
'READ_SSO_CANOPY_N',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine read_sso_canopy_n(DTCO, SSCP, U, HPROGRAM, HINIT)
subroutine set_sso_levels(SSCP, KDIM)
subroutine canopy_grid(KI, KLVL, PZ, PZF, PDZ, PDZF)