40
41
42
49
50
51
52#include "implicit_f.inc"
53
54
55
56#include "r2r_c.inc"
57
58
59
60 INTEGER KDOM
61 TYPE(SUBMODEL_DATA),INTENT(IN)::LSUBMODEL(*)
62
63
64
65 INTEGER I,NUSER,N,RLEN,STAT,DEB,K,FLAG_FMT,ID,NEL
66 CHARACTER(LEN=NCHARKEY)::KEY
67 CHARACTER(LEN=NCHARTITLE)::LOCNAME,TITR
68 LOGICAL IS_AVAILABLE
69
70C
71 is_available = .false.
73 nb_part_sub = 0
74
75 IF (ipid==0) THEN
76
77
78
79
80 flag_fmt = 0
81
82 DO n=1,nsubdom
83
86 . option_titr = titr,
87 . keyword2 = key)
88
89 IF(n == kdom)THEN
90 dom_name = ''//trim(titr)
91 ENDIF
92
93 CALL hm_get_intv(
'idsmax',nel,is_available,lsubmodel)
94 nb_part_sub = nb_part_sub + nel
95 END DO
96
97 ELSE
98
99
100
101
102 n = 0
103 deb = 1
104
105
106 DO n=1,nsubdom
107
108
111 . option_titr = titr,
112 . keyword2 = key)
113
114 locname = ''//trim(titr)
115 rlen = len_trim(locname)
116 dom_name(deb:deb+rlen-1)=locname(1:rlen)
119 deb=deb+rlen
120
121 CALL hm_get_intv(
'idsmax',nel,is_available,lsubmodel)
122 nb_part_sub = nb_part_sub + nel
123
124 END DO
125
126
127
128 DO n=1,nsubdom
129 DO k=n+1,nsubdom
134 IF (key(1:rlen) == titr(1:rlen)) THEN
136 . msgtype=msgerror,
137 . anmode=aninfo,i1=
isubdom(1,n),
138 . c1=key(1:rlen))
139 ierr=ierr+1
140 ENDIF
141 ENDIF
142 ENDDO
143 ENDDO
144
145 ENDIF
146
147 RETURN
148
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_start(entity_type)
integer, parameter nchartitle
integer, parameter ncharkey
integer, dimension(:,:), allocatable isubdom
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)