7 HPROGRAM,HSURF,KLUOUT,PFIELD)
44 USE modd_data_cover_par
, ONLY : nvegtype
46 USE modd_prep_teb_garden
,ONLY : ctype_hug , ctype_tg , &
47 cfile_hug_surf_gd, cfile_tg_surf_gd, &
48 cfile_hug_root_gd, cfile_tg_root_gd, &
49 cfile_hug_deep_gd, cfile_tg_deep_gd
51 USE modi_get_latlonmask_n
57 USE modi_get_type_dim_n
71 TYPE(
sso_t),
INTENT(INOUT) :: USS
73 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
74 CHARACTER(LEN=7),
INTENT(IN) :: HSURF
75 INTEGER,
INTENT(IN) :: KLUOUT
76 REAL,
POINTER,
DIMENSION(:,:,:) :: PFIELD
84 INTEGER,
DIMENSION(0:NPROC-1) :: INB
85 INTEGER :: INFOMPI, JJ
87 REAL,
ALLOCATABLE,
DIMENSION(:,:) :: ZFIELD
88 REAL(KIND=JPRB) :: ZHOOK_HANDLE
92 IF (
lhook)
CALL dr_hook(
'PREP_TEB_GARDEN_ASCLLV',0,zhook_handle)
94 IF (.NOT.
ALLOCATED(
nnum))
THEN 95 ALLOCATE(
nnum(u%NDIM_FULL))
98 ALLOCATE(
nindex(u%NDIM_FULL))
111 CALL mpi_bcast(ug%NGRID_FULL_PAR,kind(ug%NGRID_FULL_PAR)/4,mpi_integer,
npio,
ncomm,infompi)
113 IF (
nrank/=
npio)
ALLOCATE(ug%XGRID_FULL_PAR(ug%NGRID_FULL_PAR))
115 CALL mpi_bcast(ug%XGRID_FULL_PAR,&
116 SIZE(ug%XGRID_FULL_PAR)*kind(ug%XGRID_FULL_PAR)/4,mpi_real,
npio,
ncomm,infompi)
133 ALLOCATE(zfield(il,3))
149 hprogram,
'HUG_SURF: relative humidity',
'NAT',cfile_hug_surf_gd, &
150 ctype_hug,
xundef,zfield(:,1))
152 hprogram,
'HUG_ROOT: relative humidity',
'NAT',cfile_hug_root_gd, &
153 ctype_hug,
xundef,zfield(:,2))
155 hprogram,
'HUG_DEEP: relative humidity',
'NAT',cfile_hug_deep_gd, &
156 ctype_hug,
xundef,zfield(:,3))
158 ALLOCATE(pfield(il,3,nvegtype))
160 pfield(:,1,jv) = zfield(:,1)
161 pfield(:,2,jv) = zfield(:,2)
162 pfield(:,3,jv) = zfield(:,3)
170 hprogram,
'TG_SURF: temperature',
'NAT',cfile_tg_surf_gd, &
171 ctype_tg,
xundef,zfield(:,1))
173 hprogram,
'TG_ROOT: temperature',
'NAT',cfile_tg_root_gd, &
174 ctype_tg,
xundef,zfield(:,2))
176 hprogram,
'TG_DEEP: temperature',
'NAT',cfile_tg_deep_gd, &
177 ctype_tg,
xundef,zfield(:,3))
179 ALLOCATE(pfield(il,3,nvegtype))
181 pfield(:,1,jv) = zfield(:,1)
182 pfield(:,2,jv) = zfield(:,2)
183 pfield(:,3,jv) = zfield(:,3)
196 DEALLOCATE(
nindex,ug%XGRID_FULL_PAR)
200 IF (
lhook)
CALL dr_hook(
'PREP_TEB_GARDEN_ASCLLV',1,zhook_handle)
subroutine get_type_dim_n(DTCO, U, HTYPE, KDIM)
subroutine get_latlonmask_n(UG, OLATLONMASK, HGRID, PGRID_PAR, KGRID_PAR
subroutine prep_teb_garden_ascllv(DTCO, UG, U, USS, HPROGRAM, HSURF, KLUOUT, PFIELD)
logical, dimension(720, 360) llatlonmask
character(len=6) cinterp_type
integer, dimension(:), allocatable nnum
real, dimension(:), pointer xgrid_par
integer, dimension(:), allocatable nindex