7 HTYPE,KDIM,KMASK,KLU,KLUOUT)
42 USE modi_convert_cover_frac
61 CHARACTER(LEN=*),
INTENT(IN) :: HTYPE
62 INTEGER,
INTENT(IN) :: KDIM
63 INTEGER,
DIMENSION(KDIM),
INTENT(OUT) :: KMASK
64 INTEGER,
INTENT(INOUT) :: KLU
65 INTEGER,
INTENT(IN) :: KLUOUT
71 REAL(KIND=JPRB) :: ZHOOK_HANDLE
77 IF (
lhook)
CALL dr_hook(
'GET_SURF_MASK_N',0,zhook_handle)
78 IF (.NOT.
ASSOCIATED(u%XCOVER).AND..NOT.
ASSOCIATED(u%XSEA))
THEN 80 IF (
lhook)
CALL dr_hook(
'GET_SURF_MASK_N',1,zhook_handle)
89 IF (
ASSOCIATED(u%XCOVER))
THEN 90 ilu =
SIZE(u%XCOVER,1)
91 ELSEIF (
ASSOCIATED(u%XSEA))
THEN 95 IF (klu==
nundef .OR. klu==0) klu = ilu
98 WRITE(kluout,*)
'Error in initialization of masks for reading or writing' 99 WRITE(kluout,*)
'size expected for reading/writing from atmosphere files : ' 100 WRITE(kluout,*)
'size of surface array in module MODD_SURF_ATM : ' 101 CALL abor1_sfx(
'GET_SURF_MASK: ERROR IN INITIALIZATION OF MASK FOR READING OR WRITING' 106 IF (
lhook)
CALL dr_hook(
'GET_SURF_MASK_N',1,zhook_handle)
110 SUBROUTINE get_mask(KLU,YTYPE,IMASK)
114 INTEGER,
INTENT(IN) :: KLU
115 CHARACTER(LEN=*),
INTENT(IN) :: YTYPE
116 INTEGER,
DIMENSION(:),
INTENT(OUT) :: IMASK
118 REAL,
DIMENSION(KLU) :: ZSEA
119 REAL,
DIMENSION(KLU) :: ZNATURE
120 REAL,
DIMENSION(KLU) :: ZTOWN
121 REAL,
DIMENSION(KLU) :: ZWATER
122 REAL,
DIMENSION(KLU) :: ZLAND
123 REAL,
DIMENSION(KLU) :: ZSURF
125 REAL(KIND=JPRB) :: ZHOOK_HANDLE
127 IF (
lhook)
CALL dr_hook(
'GET_SURF_MASK_N:GET_MASK',0,zhook_handle)
129 IF (ytype.NE.
'FULL' .AND. ytype.NE.
'EXTZON')
THEN 131 IF (.NOT.
ASSOCIATED(u%XSEA))
THEN 133 u%XCOVER,u%LCOVER,zsea,znature,ztown,zwater)
140 zland = znature + ztown
155 ilu2 =
count(zsurf(:) > 0.)
166 IF (
lhook)
CALL dr_hook(
'GET_SURF_MASK_N:GET_MASK',1,zhook_handle)
subroutine abor1_sfx(YTEXT)
subroutine get_surf_mask_n(DTCO, U, HTYPE, KDIM, KMASK, KLU, KLUOUT)
subroutine get_mask(KLU, YTYPE, IMASK)
integer, parameter nundef
subroutine get_1d_mask(KSIZE, KFRAC, PFRAC, KMASK)
subroutine convert_cover_frac(DTCO, PCOVER, OCOVER, PSEA, PNATURE, PTOWN, PWATER)