45 USE modd_dst_surf, ONLY: lvarsig_dst, ndstmde, ndst_mdebeg, lrgfix_dst, jpmode_dst
46 USE modd_slt_surf, ONLY: lvarsig_slt, nsltmde, nslt_mdebeg, lrgfix_slt, jpmode_slt
48 USE modi_ch_init_names
49 USE modi_dslt_init_names
50 USE modi_dslt_init_modes
52 USE yomhook
,ONLY : lhook, dr_hook
53 USE parkind1
,ONLY : jprb
60 INTEGER,
INTENT(IN) :: kluout
61 INTEGER,
INTENT(IN) :: ksv
62 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN) :: hsv
63 TYPE(sv_t),
INTENT(INOUT) :: ysv
64 CHARACTER(LEN=6),
DIMENSION(:),
POINTER :: hch_names
65 CHARACTER(LEN=6),
DIMENSION(:),
POINTER :: haer_names
67 CHARACTER(LEN=6),
DIMENSION(:),
POINTER,
OPTIONAL :: hdstnames
68 CHARACTER(LEN=6),
DIMENSION(:),
POINTER,
OPTIONAL :: hsltnames
73 REAL(KIND=JPRB) :: zhook_handle
80 IF (lhook) CALL dr_hook(
'INIT_CHEMICAL_n',0,zhook_handle)
84 ALLOCATE(ysv%CSV(ksv))
85 CALL
ch_init_names(kluout, hsv, ysv%NBEQ, ysv%NAEREQ, ysv%CSV, &
86 ysv%NSV_CHSBEG, ysv%NSV_CHSEND, &
87 ysv%NSV_AERBEG, ysv%NSV_AEREND, &
90 IF (ysv%NBEQ > 0 )
THEN
91 ALLOCATE(hch_names(ysv%NBEQ))
92 hch_names(:) = ysv%CSV(ysv%NSV_CHSBEG:ysv%NSV_CHSEND)
94 ALLOCATE(hch_names(0))
97 IF (ysv%NAEREQ > 0 )
THEN
98 ALLOCATE(haer_names(ysv%NAEREQ))
99 haer_names(:) = ysv%CSV(ysv%NSV_AERBEG:ysv%NSV_AEREND)
101 ALLOCATE(haer_names(0))
116 IF (present(hdstnames))
THEN
117 IF (ysv%NDSTEQ >=1)
THEN
128 IF(.NOT.
ASSOCIATED(hdstnames))
ALLOCATE (hdstnames(ysv%NDSTEQ))
129 hdstnames(:) = ysv%CSV(ysv%NSV_DSTBEG:ysv%NSV_DSTEND)
146 IF (present(hsltnames))
THEN
147 IF (ysv%NSLTEQ >=1)
THEN
157 IF(.NOT.
ASSOCIATED(hsltnames))
ALLOCATE (hsltnames(ysv%NSLTEQ))
158 hsltnames(:) = ysv%CSV(ysv%NSV_SLTBEG:ysv%NSV_SLTEND)
163 ALLOCATE(ysv%CSV (0))
164 IF (present(hdstnames))
ALLOCATE(hdstnames(0))
165 IF (present(hsltnames))
ALLOCATE(hsltnames(0))
168 IF (lhook) CALL dr_hook(
'INIT_CHEMICAL_n',1,zhook_handle)
subroutine dslt_init_modes(KEQ, KSV_BEG, KSV_END, OVARSIG, ORGFIX, KMDEBEG, KMDE)
subroutine ch_init_names(KLUOUT, HSV, KBEQ, KBAER, HSVO, KSV_CHSBEG, KSV_CHSEND, KSV_AERBEG, KSV_AEREND, OVARSIGI, OVARSIGJ)
subroutine dslt_init_names(KLUOUT, HRC1, HSV, KPMODE, KEQ, KSV_BEG, KSV_END, OVARSIG, ORGFIX)
subroutine init_chemical_n(KLUOUT, KSV, HSV, YSV, HCH_NAMES, HAER_NAMES, HDSTNAMES, HSLTNAMES)