44
49
50
51
52#include "implicit_f.inc"
53
54
55
56#include "r2r_c.inc"
57#include "scr17_c.inc"
58
59
60
61 INTEGER IAD,IFI,NVARPA,NUMTHPART,NVARG,
62 . NPARTH,NVPARTH,TAGP,NPASU
63 INTEGER ,DIMENSION(*) :: ITHBUF,PATHID
64 INTEGER ,DIMENSION(NPARTH,*) :: IPARTH
65 INTEGER ,DIMENSION(NPASU,*) :: IPASU
66 INTEGER ,DIMENSION(18,*) :: IVARPAG
67 TYPE(SUBMODEL_DATA),DIMENSION(NSUBMOD) :: LSUBMODEL
68 CHARACTER*10 VARPA(NVARPA),VARG(NVARG)
69
70
71
72 INTEGER I,J,K,N,TH_ID,PART_ID,NVAR,ITYP,NUMOBJ,PART_ID_OBJ1
73 CHARACTER(LEN=NCHARKEY)::
74 CHARACTER(LEN=NCHARTITLE)::TITR
75 LOGICAL :: IS_AVAILABLE
76
77
78
79 INTEGER ,EXTERNAL :: R2R_EXIST,HM_THVARC
80
81 is_available = .false.
82 ityp = 1001
83
84
86
87
89
90
92 nvar =
hm_thvarc(varpa,nvarpa,ithbuf(iad),varg,nvarg,ivarpag,nvarpa,th_id,titr,lsubmodel)
93 END IF
94
96 CALL ancmsg(msgid=1109, msgtype=msgerror , anmode=aninfo_blind_1,
97 . i1=th_id,
98 . c1=titr )
99 ELSE IF (key(1:4) == 'PART') THEN
100
101
102 CALL hm_get_intv(
'idsmax',numobj,is_available,lsubmodel)
104
105 IF (numobj > 0 .AND. part_id_obj1 == 0) THEN
106
107 numobj = numthpart
108
109 DO k = 1,numobj
110 part_id = ipasu(4,k)
111 IF (nsubdom > 0) THEN
113 ENDIF
114 n = 0
115 DO j = 1,numthpart
116 IF (part_id == ipasu(4,j))THEN
117 n = j
118 tagp = tagp+1
119 pathid(tagp) = part_id
120 EXIT
121 ENDIF
122 ENDDO
123
124 IF (n == 0) THEN
125 CALL ancmsg(msgid=1610, msgtype=msgwarning, anmode=aninfo_blind_1,
126 . i1=th_id,
127 . c1=titr ,
128 . c2=key ,
129 . i2=part_id )
130 ELSE
131 iparth(nvparth,n) =
nvar
132 iparth(nvparth+1,n)= iad
133 ENDIF
134 ENDDO
135
136 ELSE
137
138
139 CALL hm_get_intv(
'idsmax',numobj,is_available,lsubmodel)
140
141 DO k = 1,numobj
143 IF (nsubdom > 0) THEN
145 ENDIF
146 n = 0
147 DO j = 1,numthpart
148 IF (part_id == ipasu(4,j))THEN
149 n = j
150 tagp = tagp+1
151 pathid(tagp) = part_id
152 EXIT
153 ENDIF
154 ENDDO
155
156 IF (n == 0) THEN
157 CALL ancmsg(msgid=1610, msgtype=msgwarning, anmode=aninfo_blind_1,
158 . i1=th_id,
159 . c1=titr ,
160 . c2=key ,
161 . i2=part_id )
162 ELSE
163 iparth(nvparth,n) =
nvar
164 iparth(nvparth+1,n)= iad
165 ENDIF
166 ENDDO
167 ENDIF
168
169 END IF
170
173
174 RETURN
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
integer function hm_thvarc(vare, nv, ivar, varg, nvg, ivarg, nv0, id, titr, lsubmodel)
integer, parameter nchartitle
integer, parameter ncharkey
integer function nvar(text)
integer function r2r_exist(typ, id)
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)