7 hprogram,pdepth,kstatus)
54 USE modd_data_lake, ONLY : clakeldb, cstatusldb, ngraddepth_ldb, ngradstatus_ldb
60 USE yomhook
,ONLY : lhook, dr_hook
61 USE parkind1
,ONLY : jprb
64 USE modi_get_surf_mask_n
65 USE modi_get_type_dim_n
78 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
79 REAL,
DIMENSION(:),
INTENT(OUT):: pdepth
80 INTEGER,
DIMENSION(:),
INTENT(OUT):: kstatus
88 INTEGER,
DIMENSION(:),
POINTER :: imask
92 CHARACTER(LEN=6) :: ymask
93 INTEGER,
DIMENSION(NL) :: istatus
94 REAL,
DIMENSION(NL) :: zdepth, zstatus
95 REAL(KIND=JPRB) :: zhook_handle
101 IF (lhook) CALL dr_hook(
'TREAT_GLOBAL_LAKE_DEPTH',0,zhook_handle)
117 ALLOCATE(xtng(nl,ngraddepth_ldb))
123 hprogram,
'SURF ',
'DIRECT',
'A_LDBD', clakeldb, &
124 'water depth ',zdepth,
'WAT' )
127 ALLOCATE(xtng(nl,ngradstatus_ldb))
133 hprogram,
'SURF ',
'DIRECT',
'A_LDBS', cstatusldb, &
134 'water status ',zstatus,
'WAT' )
136 istatus = nint(zstatus)
146 DO ji = 1,
SIZE(zdepth)
147 IF (u%XWATER(ji).GT.0.)
THEN
148 IF (istatus(ji).LE.2) zdepth(ji) = 10.
149 IF (istatus(ji)==3.AND.zdepth(ji)==0.) zdepth(ji) = 10.
161 IF (idim/=
SIZE(pdepth) .OR. idim/=
SIZE(kstatus))
THEN
162 WRITE(iluout,*)
'Wrong dimension of MASK: ',idim,
SIZE(pdepth),
SIZE(kstatus)
163 CALL
abor1_sfx(
'TREAT_GLOBAL_LAKE_DEPTH: WRONG DIMENSION OF MASK')
166 ALLOCATE(imask(idim))
169 ymask,idim,imask,ilu,iluout)
174 IF (lhook) CALL dr_hook(
'TREAT_GLOBAL_LAKE_DEPTH',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine treat_field(UG, U, USS, HPROGRAM, HSCHEME, HFILETYPE, HSUBROUTINE, HFILENAME, HFIELD, PPGDARRAY, HSFTYPE)
subroutine abor1_sfx(YTEXT)
subroutine get_surf_mask_n(DTCO, U, HTYPE, KDIM, KMASK, KLU, KLUOUT)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine treat_global_lake_depth(DTCO, UG, U, USS, HPROGRAM, PDEPTH, KSTATUS)