10 SUBROUTINE surf_patch_2d(KNPATCH,PVEGTYPE,PPATCH,PVEGTYPE_PATCH)
12 INTEGER ,
INTENT(IN) :: KNPATCH
13 REAL,
DIMENSION(:,:),
INTENT(IN) :: PVEGTYPE
14 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PPATCH
15 REAL,
DIMENSION(:,:,:),
OPTIONAL,
INTENT(OUT) :: PVEGTYPE_PATCH
19 SUBROUTINE surf_patch_1d(KPATCH,KNPATCH,PVEGTYPE,PPATCH,PVEGTYPE_PATCH)
21 INTEGER ,
INTENT(IN) :: KPATCH
22 INTEGER ,
INTENT(IN) :: KNPATCH
23 REAL,
DIMENSION(:,:),
INTENT(IN) :: PVEGTYPE
24 REAL,
DIMENSION(:),
INTENT(OUT) :: PPATCH
25 REAL,
DIMENSION(:,:),
OPTIONAL,
INTENT(OUT) :: PVEGTYPE_PATCH
35 SUBROUTINE surf_patch_2d(KNPATCH,PVEGTYPE,PPATCH,PVEGTYPE_PATCH)
79 USE modd_data_cover_par
, ONLY : nvegtype
82 USE modi_vegtype_to_patch
92 INTEGER ,
INTENT(IN) :: KNPATCH
93 REAL,
DIMENSION(:,:),
INTENT(IN) :: PVEGTYPE
94 REAL,
DIMENSION(:,:),
INTENT(OUT) :: PPATCH
95 REAL,
DIMENSION(:,:,:),
OPTIONAL,
INTENT(OUT) :: PVEGTYPE_PATCH
102 INTEGER ::JVEG, JPATCH
103 REAL(KIND=JPRB) :: ZHOOK_HANDLE
106 IF (
lhook)
CALL dr_hook(
'MODI_SURF_PATCH:SURF_PATCH_2D',0,zhook_handle)
108 IF (
PRESENT(pvegtype_patch)) pvegtype_patch(:,:,:)=0.
111 WHERE (pvegtype(:,jveg) /=
xundef)
112 ppatch(:,jpatch) = ppatch(:,jpatch) + pvegtype(:,jveg)
114 IF (
PRESENT(pvegtype_patch))
THEN 115 WHERE (pvegtype(:,jveg) /=
xundef)
116 pvegtype_patch(:,jveg,jpatch)= pvegtype(:,jveg)
120 IF (
PRESENT(pvegtype_patch))
THEN 123 WHERE (pvegtype(:,jveg) /=
xundef .AND. ppatch(:,jpatch)/= 0.)
124 pvegtype_patch(:,jveg,jpatch) = pvegtype_patch(:,jveg,jpatch) / ppatch(:,jpatch)
129 IF (
lhook)
CALL dr_hook(
'MODI_SURF_PATCH:SURF_PATCH_2D',1,zhook_handle)
138 SUBROUTINE surf_patch_1d(KPATCH,KNPATCH,PVEGTYPE,PPATCH,PVEGTYPE_PATCH)
182 USE modd_data_cover_par
, ONLY : nvegtype
185 USE modi_vegtype_to_patch
195 INTEGER,
INTENT(IN) :: KPATCH
196 INTEGER,
INTENT(IN) :: KNPATCH
197 REAL,
DIMENSION(:,:),
INTENT(IN) :: PVEGTYPE
198 REAL,
DIMENSION(:),
INTENT(OUT) :: PPATCH
199 REAL,
DIMENSION(:,:),
OPTIONAL,
INTENT(OUT) :: PVEGTYPE_PATCH
205 INTEGER ::JVEG, JPATCH
206 REAL(KIND=JPRB) :: ZHOOK_HANDLE
209 IF (
lhook)
CALL dr_hook(
'MODI_SURF_PATCH:SURF_PATCH_1D',0,zhook_handle)
211 IF (
PRESENT(pvegtype_patch)) pvegtype_patch(:,:)=0.
214 IF (jpatch/=kpatch) cycle
215 WHERE (pvegtype(:,jveg) /=
xundef)
216 ppatch(:) = ppatch(:) + pvegtype(:,jveg)
218 IF (
PRESENT(pvegtype_patch))
THEN 219 WHERE (pvegtype(:,jveg) /=
xundef)
220 pvegtype_patch(:,jveg) = pvegtype(:,jveg)
224 IF (
PRESENT(pvegtype_patch))
THEN 226 WHERE (pvegtype(:,jveg) /=
xundef .AND. ppatch(:)/= 0.)
227 pvegtype_patch(:,jveg) = pvegtype_patch(:,jveg) / ppatch(:)
231 IF (
lhook)
CALL dr_hook(
'MODI_SURF_PATCH:SURF_PATCH_1D',1,zhook_handle)
subroutine surf_patch_1d(KPATCH, KNPATCH, PVEGTYPE, PPATCH, PVEGTYPE_PATCH)
integer function vegtype_to_patch(IVEGTYPE, INPATCH)
subroutine surf_patch_2d(KNPATCH, PVEGTYPE, PPATCH, PVEGTYPE_PATCH)