40 . IPASU ,NPASU ,ITHBUF ,IAD ,IFI ,
41 . VARPA ,NVARPA ,VARG ,NVARG ,NUMTHPART,
42 . IVARPAG ,PATHID ,TAGP ,IPARTH ,NPARTH ,
52#include "implicit_f.inc"
61 INTEGER IAD,IFI,NVARPA,,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
68 CHARACTER*10 VARPA(NVARPA),VARG(NVARG)
72 INTEGER I,J,K,N,TH_ID,PART_ID,NVAR,ITYP,NUMOBJ,PART_ID_OBJ1
73 CHARACTER(LEN=NCHARKEY)::KEY
74 CHARACTER(LEN=NCHARTITLE)::TITR
75 LOGICAL :: IS_AVAILABLE
79 INTEGER ,
EXTERNAL :: R2R_EXIST,HM_THVARC
81 IS_AVAILABLE = .false.
88 CALL hm_get_intv(
'Number_Of_Variables',nvar,is_available,lsubmodel)
92 nvar = hm_thvarc(varpa,nvarpa,ithbuf(iad),varg,nvarg,ivarpag,nvarpa,th_id,titr,lsubmodel)
96 CALL ancmsg(msgid=1109, msgtype=msgerror , anmode=aninfo_blind_1,
99 ELSE IF (key(1:4) ==
'PART')
THEN
102 CALL hm_get_intv(
'idsmax',numobj,is_available,lsubmodel)
105 IF (numobj > 0 .AND. part_id_obj1 == 0)
THEN
111 IF (nsubdom > 0)
THEN
112 IF (r2r_exist(ityp,part_id) == 0) cycle
116 IF (part_id == ipasu(4,j))
THEN
119 pathid(tagp) = part_id
125 CALL ancmsg(msgid=1610, msgtype=msgwarning, anmode=aninfo_blind_1,
131 iparth(nvparth,n) = nvar
132 iparth(nvparth+1,n)= iad
139 CALL hm_get_intv(
'idsmax',numobj,is_available,lsubmodel)
143 IF (nsubdom > 0)
THEN
144 IF (r2r_exist(ityp,part_id) == 0) cycle
148 IF (part_id == ipasu(4,j))
THEN
151 pathid(tagp) = part_id
157 CALL ancmsg(msgid=1610, msgtype=msgwarning, anmode=aninfo_blind_1,
163 iparth(nvparth,n) = nvar
164 iparth(nvparth+1,n)= iad
193 1 IAD ,IFI ,ITHBUF ,NVARPA ,VARPA ,
194 2 VARG ,NVARG ,IVARPAG ,PATHID ,
195 3 SUTHID ,TAGS ,SUBSET ,ITHFLAG ,LSUBMODEL)
207#include "implicit_f.inc"
211#include "com04_c.inc"
216 INTEGER IAD,IFI,NVARPA,NVARG
217 INTEGER NVPS,TAGS,ITHFLAG
218 INTEGER ,
DIMENSION(*) :: ITHBUF,PATHID,SUTHID
219 INTEGER ,
DIMENSION(18,*) :: IVARPAG
220 CHARACTER*10 VARPA(NVARPA),VARG()
221 TYPE(SUBMODEL_DATA),
DIMENSION(NSUBMOD) :: LSUBMODEL
223 TYPE (SUBSET_) ,
DIMENSION(NSUBS) :: SUBSET
227 INTEGER I,J,K,N,TH_ID,SUBS_ID,NVAR,ITYP,NUMOBJ,SUBS_ID_OBJ1
228 CHARACTER(LEN=NCHARTITLE)::TITR
229 CHARACTER(LEN=NCHARKEY)::KEY
230 LOGICAL :: IS_AVAILABLE
234 INTEGER ,
EXTERNAL :: R2R_EXIST,HM_THVARC
237 is_available = .false.
244 CALL hm_get_intv(
'Number_Of_Variables',nvar,is_available,lsubmodel)
248 nvar = hm_thvarc(varpa,nvarpa,ithbuf(iad),varg,nvarg,ivarpag,nvarpa,th_id,titr
252 CALL ancmsg(msgid=1109, msgtype=msgerror , anmode=aninfo_blind_1
255 ELSE IF (key(1:4) ==
'SUBS')
THEN
258 CALL hm_get_intv(
'idsmax',numobj,is_available,lsubmodel)
261 IF (numobj > 0 .AND. subs_id_obj1 == 0)
THEN
264 subs_id = subset(k)%ID
265 IF (nsubdom > 0)
THEN
266 IF (r2r_exist(ityp,subs_id) == 0) cycle
270 IF (subs_id == subset(j)%ID)
THEN
273 suthid(tags)= subs_id
279 CALL ancmsg(msgid=257, msgtype=msgwarning, anmode=aninfo_blind_1,
286 subset(n)%NVARTH(ithflag) = nvar
287 subset(n)%THIAD = iad
295 IF (nsubdom > 0)
THEN
296 IF (r2r_exist(ityp,subs_id) == 0) cycle
300 IF (subs_id == subset(j)%ID)
THEN
303 suthid(tags)= subs_id
309 CALL ancmsg(msgid=257, msgtype=msgwarning, anmode=aninfo_blind_1,
316 subset(n)%NVARTH(ithflag) = nvar
317 subset(n)%THIAD = iad
subroutine hm_read_thgrpa(ipasu, npasu, ithbuf, iad, ifi, varpa, nvarpa, varg, nvarg, numthpart, ivarpag, pathid, tagp, iparth, nparth, nvparth, lsubmodel)
subroutine hm_read_thgrpa_sub(iad, ifi, ithbuf, nvarpa, varpa, varg, nvarg, ivarpag, pathid, suthid, tags, subset, ithflag, lsubmodel)
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)