7 HPROGRAM,HSURF,KLUOUT,PFIELD)
46 USE modd_data_cover_par
, ONLY : nvegtype
48 USE modd_prep_teb_greenroof
,ONLY : ctype_hug , ctype_tg , &
49 cfile_hug_surf_gr, cfile_tg_surf_gr, &
50 cfile_hug_root_gr, cfile_tg_root_gr, &
51 cfile_hug_deep_gr, cfile_tg_deep_gr
53 USE modi_get_latlonmask_n
59 USE modi_get_type_dim_n
73 TYPE(
sso_t),
INTENT(INOUT) :: USS
75 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
76 CHARACTER(LEN=7),
INTENT(IN) :: HSURF
77 INTEGER,
INTENT(IN) :: KLUOUT
78 REAL,
POINTER,
DIMENSION(:,:,:) :: PFIELD
86 INTEGER,
DIMENSION(0:NPROC-1) :: INB
87 INTEGER :: INFOMPI, JJ
89 REAL,
ALLOCATABLE,
DIMENSION(:,:) :: ZFIELD
90 REAL(KIND=JPRB) :: ZHOOK_HANDLE
94 IF (
lhook)
CALL dr_hook(
'PREP_TEB_GREENROOF_ASCLLV',0,zhook_handle)
96 IF (.NOT.
ALLOCATED(
nnum))
THEN 97 ALLOCATE(
nnum(u%NDIM_FULL))
100 ALLOCATE(
nindex(u%NDIM_FULL))
113 CALL mpi_bcast(ug%NGRID_FULL_PAR,kind(ug%NGRID_FULL_PAR)/4,mpi_integer,
npio,
ncomm,infompi)
115 IF (
nrank/=
npio)
ALLOCATE(ug%XGRID_FULL_PAR(ug%NGRID_FULL_PAR))
117 CALL mpi_bcast(ug%XGRID_FULL_PAR,&
118 SIZE(ug%XGRID_FULL_PAR)*kind(ug%XGRID_FULL_PAR)/4,mpi_real,
npio,
ncomm,infompi)
135 ALLOCATE(zfield(il,3))
151 hprogram,
'HUG_SURF: relative humidity',
'TWN',cfile_hug_surf_gr, &
152 ctype_hug,
xundef,zfield(:,1))
154 hprogram,
'HUG_ROOT: relative humidity',
'TWN',cfile_hug_root_gr, &
155 ctype_hug,
xundef,zfield(:,2))
157 hprogram,
'HUG_DEEP: relative humidity',
'TWN',cfile_hug_deep_gr, &
158 ctype_hug,
xundef,zfield(:,3))
160 ALLOCATE(pfield(il,3,nvegtype))
162 pfield(:,1,jv) = zfield(:,1)
163 pfield(:,2,jv) = zfield(:,2)
164 pfield(:,3,jv) = zfield(:,3)
172 hprogram,
'TG_SURF: temperature',
'TWN',cfile_tg_surf_gr, &
173 ctype_tg,
xundef,zfield(:,1))
175 hprogram,
'TG_ROOT: temperature',
'TWN',cfile_tg_root_gr, &
176 ctype_tg,
xundef,zfield(:,2))
178 hprogram,
'TG_DEEP: temperature',
'TWN',cfile_tg_deep_gr, &
179 ctype_tg,
xundef,zfield(:,3))
181 ALLOCATE(pfield(il,3,nvegtype))
183 pfield(:,1,jv) = zfield(:,1)
184 pfield(:,2,jv) = zfield(:,2)
185 pfield(:,3,jv) = zfield(:,3)
198 DEALLOCATE(
nindex,ug%XGRID_FULL_PAR)
202 IF (
lhook)
CALL dr_hook(
'PREP_TEB_GREENROOF_ASCLLV',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine get_latlonmask_n(UG, OLATLONMASK, HGRID, PGRID_PAR, KGRID_PAR
logical, dimension(720, 360) llatlonmask
character(len=6) cinterp_type
subroutine prep_teb_greenroof_ascllv(DTCO, UG, U, USS, HPROGRAM, HSURF, KLUOUT, PFIELD)
integer, dimension(:), allocatable nnum
real, dimension(:), pointer xgrid_par
integer, dimension(:), allocatable nindex