53 USE modi_set_sso_levels
55 USE modi_get_type_dim_n
70 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
71 CHARACTER(LEN=3),
INTENT(IN) :: HINIT
76 CHARACTER(LEN=12) :: YRECFM
77 CHARACTER(LEN=3) :: YREAD
81 INTEGER :: IVERSION, IBUGFIX
83 REAL(KIND=JPRB) :: ZHOOK_HANDLE
88 IF (
lhook)
CALL dr_hook(
'READ_SSO_CANOPY_N',0,zhook_handle)
94 CALL read_surf(hprogram,yrecfm,iversion,iresp)
97 CALL read_surf(hprogram,yrecfm,ibugfix,iresp)
99 IF (iversion<6.OR.hinit==
'PGD'.OR. hinit==
'PRE')
THEN 102 IF (iversion>7 .OR. iversion==7 .AND.ibugfix>=2)
THEN 104 CALL read_surf(hprogram,yrecfm,yread,iresp)
108 IF (yread/=
'ALL')
THEN 112 CALL read_surf(hprogram,yrecfm,gcanopy,iresp)
121 IF (.NOT. gcanopy)
THEN 126 CALL read_surf(hprogram,yrecfm,sb%NLVL,iresp)
132 ALLOCATE(sb%XZ(ilu,sb%NLVL))
133 ALLOCATE(sb%XU(ilu,sb%NLVL))
134 ALLOCATE(sb%XTKE(ilu,sb%NLVL))
138 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SSO_CAN_Z',jlayer,
' ' 139 CALL read_surf(hprogram,yrecfm,sb%XZ(:,jlayer),iresp)
144 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SSO_CAN_U',jlayer,
' ' 145 CALL read_surf(hprogram,yrecfm,sb%XU(:,jlayer),iresp)
150 WRITE(yrecfm,
'(A9,I2.2,A1)')
'SSO_CAN_E',jlayer,
' ' 151 CALL read_surf(hprogram,yrecfm,sb%XTKE(:,jlayer),iresp)
173 ALLOCATE(sb%XDZ (ilu,sb%NLVL))
174 ALLOCATE(sb%XZF (ilu,sb%NLVL))
175 ALLOCATE(sb%XDZF(ilu,sb%NLVL))
178 IF (
lhook)
CALL dr_hook(
'READ_SSO_CANOPY_N',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine canopy_grid(KI, SB)
subroutine read_sso_canopy_n(DTCO, SB, U, HPROGRAM, HINIT)
subroutine set_sso_levels(SB, KDIM)