7 HPROGRAM,PDEPTH,KSTATUS)
63 USE modi_get_surf_mask_n
64 USE modi_get_type_dim_n
75 TYPE(
sso_t),
INTENT(INOUT) :: USS
77 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
78 REAL,
DIMENSION(:),
INTENT(OUT):: PDEPTH
79 INTEGER,
DIMENSION(:),
INTENT(OUT):: KSTATUS
87 INTEGER,
DIMENSION(:),
POINTER :: IMASK
91 CHARACTER(LEN=6) :: YMASK
92 INTEGER,
DIMENSION(NL) :: ISTATUS
93 REAL,
DIMENSION(NL,1) :: ZDEPTH, ZSTATUS
94 REAL(KIND=JPRB) :: ZHOOK_HANDLE
100 IF (
lhook)
CALL dr_hook(
'TREAT_GLOBAL_LAKE_DEPTH',0,zhook_handle)
122 hprogram,
'SURF ',
'DIRECT',
'A_LDBD',
clakeldb, &
123 'water depth ',zdepth )
135 hprogram,
'SURF ',
'DIRECT',
'A_LDBS',
cstatusldb, &
136 'water status ',zstatus )
138 istatus = nint(zstatus(:,1))
148 DO ji = 1,
SIZE(zdepth,1)
149 IF (u%XWATER(ji).GT.0.)
THEN 150 IF (istatus(ji).LE.2) zdepth(ji,1) = 10.
151 IF (istatus(ji)==3.AND.zdepth(ji,1)==0.) zdepth(ji,1) = 10.
163 IF (idim/=
SIZE(pdepth) .OR. idim/=
SIZE(kstatus))
THEN 164 WRITE(iluout,*)
'Wrong dimension of MASK: ',idim,
SIZE(pdepth),
SIZE(kstatus
165 CALL abor1_sfx(
'TREAT_GLOBAL_LAKE_DEPTH: WRONG DIMENSION OF MASK')
168 ALLOCATE(imask(idim))
171 ymask,idim,imask,ilu,iluout)
176 IF (
lhook)
CALL dr_hook(
'TREAT_GLOBAL_LAKE_DEPTH',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
integer, dimension(:,:), allocatable nsize_all
integer, parameter ngraddepth_ldb
real, dimension(:,:,:), allocatable xall
subroutine abor1_sfx(YTEXT)
subroutine get_surf_mask_n(DTCO, U, HTYPE, KDIM, KMASK, KLU, KLUOUT)
real, dimension(:,:), allocatable xsumval
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine treat_global_lake_depth(DTCO, UG, U, USS, HPROGRAM, PDEPTH, KSTATUS)
character(len=80), parameter clakeldb
integer, dimension(:,:), allocatable nsize
integer, parameter ngradstatus_ldb
character(len=80), parameter cstatusldb
subroutine treat_field(UG, U, USS, HPROGRAM, HSCHEME, HFILETYPE, HSUBROUTINE, HFILENAME, HFIELD, PPGDARRAY)