6 HPROGRAM, & ! Program calling unit
7 KSIZE_P, & ! Number of nature points in a patch
8 KR_P, & ! Mask from patch --> nature vectors
16 USE modd_data_cover_par
, ONLY : nvt_no, nvt_rock
19 USE modi_get_vegtype_2_patch_mask
29 TYPE(
dst_t),
INTENT(INOUT) :: DSTK
32 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
34 INTEGER,
INTENT(IN) :: KSIZE_P
35 INTEGER,
DIMENSION(:),
INTENT(IN) :: KR_P
36 REAL,
DIMENSION(:,:),
INTENT(IN) :: PVEGTYPE_PATCH
39 CHARACTER(LEN=4) :: CRGUNIT
46 INTEGER :: ISIZE_LARGEST_DST
47 REAL(KIND=JPRB) :: ZHOOK_HANDLE
54 ALLOCATE(dstk%XEMISRADIUS_DST(
ndstmde))
55 ALLOCATE(dstk%XEMISSIG_DST (
ndstmde))
56 ALLOCATE(dstk%XMSS_FRC_SRC (
ndstmde))
97 WRITE(iluout,*)
" FATAL ERROR " 98 WRITE(iluout,*)
" YOU MUST DECIDE THE EMISSIUON PARAMETERIZATION, YOU USES " 99 WRITE(iluout,*)
" CEMISPARAM_DST = ",
cemisparam_dst,
" AND IT IS NOT DEFINED " 100 WRITE(iluout,*)
" see init_dstn.f90 to see what dust parameterization is available. " 101 CALL abor1_sfx(
"INIT_DST: CEMISPARAM_DST not defined ")
112 IF (crgunit==
'MASS') &
113 dstk%XEMISRADIUS_DST(jmode) = dstk%XEMISRADIUS_DST(jmode) * exp(-3.d0 * (log(dstk%XEMISSIG_DST(jmode)))**2)
119 IF(
sum(dstk%XMSS_FRC_SRC(:)).LT.1.) dstk%XMSS_FRC_SRC(:) = dstk%XMSS_FRC_SRC(:) /
sum(dstk%XMSS_FRC_SRC(:))
130 dstk%NVT_DST(1) = nvt_no
131 dstk%NVT_DST(2) = nvt_rock
138 dstk%Z0_EROD_DST(1) = 30.d-6
139 dstk%Z0_EROD_DST(2) = 200.d-6
142 IF (.NOT.
ASSOCIATED(dstk%NSIZE_PATCH_DST))
ALLOCATE(dstk%NSIZE_PATCH_DST(
nvegno_dst))
146 dstk%NSIZE_PATCH_DST(jveg) =
count(pvegtype_patch(:,dstk%NVT_DST(jveg)) > 0.)
151 isize_largest_dst = 0
153 isize_largest_dst = max(isize_largest_dst,dstk%NSIZE_PATCH_DST(jveg))
157 ALLOCATE(dstk%NR_PATCH_DST(isize_largest_dst,
nvegno_dst))
160 dstk%NR_PATCH_DST(:,:)=0
164 jveg_in = dstk%NVT_DST(jveg)
167 dstk%NSIZE_PATCH_DST(jveg), &
172 dstk%NR_PATCH_DST(:dstk%NSIZE_PATCH_DST(jveg),jveg), &
177 dstk%NSIZE_PATCH_DST(jveg), &
181 dstk%NR_PATCH_DST(:dstk%NSIZE_PATCH_DST(jveg),jveg), &
subroutine get_vegtype_2_patch_mask(KLUOUT, KSIZE_VEG, KSIZE_PATCH, KMASK_PATCH_NATURE, PVEGTYPE_PATCH, KMASK, KVEGTYPE)
real, dimension(nemismodes_max) xemissig_ini_dst
subroutine init_dst(DSTK, U, HPROGRAM, KSIZE_P, KR_P, PVEGTYPE_PATCH)
subroutine abor1_sfx(YTEXT)
real, dimension(nemismodes_max) xmss_frc_src_ini
real, dimension(nemismodes_max) xemisradius_ini_dst
subroutine get_luout(HPROGRAM, KLUOUT)
intent(out) overrides sub arrays one Sort by the least significant key first sum(iindex(1:n))
integer, dimension(nemismodes_max), parameter jorder_dst
character(len=5) cemisparam_dst