44 3 IAD ,IFI ,ITHGRP, ITHBUF ,
45 4 NV ,VARE ,NUM , VARG ,NVG ,
46 5 IVARG ,NSNE ,NV0 , ITHVAR ,FLAGABF, NVARABF,
47 6 NOM_OPT,IGS ,NPBY , LSUBMODEL)
53 USE format_mod ,
ONLY : fmw_i_a
57#include "implicit_f.inc"
70 . ITHGRP(NITHGR),ITHBUF(*),
71 . IFI,IAD,NV,NUM,NVG,NSNE ,IVARG(18,*),
72 . NV0,ITHVAR(*),FLAGABF,NVARABF,IGS
73 CHARACTER*10 VARE(NV),KEY,VARG(NVG)
74 INTEGER NOM_OPT(LNOPT1,*)
75 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
80 INTEGER J,JJ, I,ISU,ID,NNE,NOSYS,(10),NTOT,KK,IER,
81 . ok,igrs,nsu,k,l,jrec,cont,iad0,iadv,ntri,
82 . ifitmp,iadfin,
nvar,m,n,iad1,iad2,isk,iproc,
83 . idsmax,ids,ids_obj1,
85 CHARACTER,
DIMENSION(10) :: VAR
86 LOGICAL :: IS_AVAILABLE
87 CHARACTER(LEN=NCHARTITLE)::TITR
91 INTEGER,
EXTERNAL :: HM_THVARC,R2R_EXIST
93 is_available = .false.
98 CALL fretitl2(titr,ithgrp(nithgr-ltitr+1),ltitr)
108 IF (
nvar>0)
nvar = hm_thvarc(vare,nv,ithbuf(iad),varg,nvg,ivarg,nv0,id,titr,lsubmodel)
115 . anmode=aninfo_blind_1,
123 CALL hm_get_intv('idsmax
',IDSMAX,IS_AVAILABLE,LSUBMODEL)
124 CALL HM_GET_INT_ARRAY_INDEX('ids
',IDS_OBJ1,1,IS_AVAILABLE,LSUBMODEL)
126.AND.
IF(IDSMAX > 0 IDS_OBJ1 == 0) THEN
137 CALL ZEROIN(IAD,IAD+43*NNE-1,ITHBUF)
142 ! Loop over Objects IDs
144 IDS = NOM_OPT(1,INOPT1+K)
145 IF (NSUBDOM > 0) THEN
146 IF (R2R_EXIST(ITYP,IDS) == 0) CYCLE
148 IF(IDS==0)CYCLE !skip empty object
149 !check then if object_id does exist
152 IF (IDS == NOM_OPT(1,INOPT1+J)) THEN
158 CALL FRETITL2(TITR,ITHGRP(NITHGR-LTITR+1),LTITR)
159 CALL ANCMSG(MSGID=257,
160 . MSGTYPE=MSGWARNING,
161 . ANMODE=ANINFO_BLIND_1,
167 IF(NPBY(12,N) /= 0) THEN
169 IF(TAG(IRB) == 0) THEN
176 ELSEIF(TAG(N) == 0) THEN
190 IFI = IFI+3*NNE+40*NNE
192 CALL HORD(ITHBUF(IAD),NNE)
196 ITHBUF(IAD+2*NNE) = NOM_OPT(1,INOPT1+N)
198 ITHBUF(IAD2+J-1)=NOM_OPT(J+LNOPT1-LTITR,INOPT1+N)
212 DO J = IAD0,IAD0+NVAR-1
214 ITHVAR((ITHGRP(9)+(J-IAD0)-1)*10+K) = ICHAR(VARE(ITHBUF(J))(K:K))
217 NVARABF = NVARABF + NVAR
229 CALL FRETITL2(TITR,ITHGRP(NITHGR-LTITR+1),LTITR)
230 WRITE(IOUT,'(a,i10,3a,i3,a,i5,2a)
')' th group:
',ITHGRP(1),',
',TRIM(TITR),',
',NVAR,' var
',N, KEY,':
'
231 WRITE(IOUT,'(a)
')' -------------------
'
232 WRITE(IOUT,'(10a10)
')(VARE(ITHBUF(J)),J=IAD0,IAD0+NVAR-1)
233 WRITE(IOUT,'(3a)
')'',KEY,''
235 CALL FRETITL2(TITR,ITHBUF(IAD2),40)
237 WRITE(IOUT,FMT=FMW_I_A)NOM_OPT(1,INOPT1+ITHBUF(K)),TITR(1:40)
253 CALL ZEROIN(IAD,IAD+43*NNE-1,ITHBUF)
257 ! Loop over Objects IDs
259 CALL HM_GET_INT_ARRAY_INDEX('ids
',IDS,K,IS_AVAILABLE,LSUBMODEL)
260 IF (NSUBDOM > 0) THEN
261 IF (R2R_EXIST(ITYP,IDS) == 0) CYCLE
263 IF(IDS==0)CYCLE !skip empty object
264 !check then if object_id does exist
267 IF (IDS == NOM_OPT(1,INOPT1+J)) THEN
273 CALL FRETITL2(TITR,ITHGRP(NITHGR-LTITR+1),LTITR)
274 CALL ANCMSG(MSGID=257,
275 . MSGTYPE=MSGWARNING,
276 . ANMODE=ANINFO_BLIND_1,
282 IF(NPBY(12,N) /= 0) THEN
284 IF(TAG(IRB) == 0) THEN
291 ELSEIF(TAG(N) == 0) THEN
305 IFI = IFI+3*NNE+40*NNE
307 CALL HORD(ITHBUF(IAD),NNE)
311 ITHBUF(IAD+2*NNE) = NOM_OPT(1,INOPT1+N)
313 ITHBUF(IAD2+J-1)=NOM_OPT(J+LNOPT1-LTITR,INOPT1+N)
327 DO J = IAD0,IAD0+NVAR-1
329 ITHVAR((ITHGRP(9)+(J-IAD0)-1)*10+K) = ICHAR(VARE(ITHBUF(J))(K:K))
332 NVARABF = NVARABF + NVAR
344 CALL FRETITL2(TITR,ITHGRP(NITHGR-LTITR+1),LTITR)
345 WRITE(IOUT,'(a,i10,3a,i3,a,i5,2a)
')' th group:
',ITHGRP(1),',
',TRIM(TITR),',
',NVAR,' var
',N, KEY,':
'
346 WRITE(IOUT,'(a)
')' -------------------
'
347 WRITE(IOUT,'(10a10)
')(VARE(ITHBUF(J)),J=IAD0,IAD0+NVAR-1)
348 WRITE(IOUT,'(3a)
')' ',KEY,' name
'
350 CALL FRETITL2(TITR,ITHBUF(IAD2),40)
352 WRITE(IOUT,FMT=FMW_I_A)NOM_OPT(1,INOPT1+ITHBUF(K)),TITR(1:40)
356 ENDIF !IF (NVAR == 0)
subroutine hm_read_thgrki_rbody(ityp, key, inopt1, iad, ifi, ithgrp, ithbuf, nv, vare, num, varg, nvg, ivarg, nsne, nv0, ithvar, flagabf, nvarabf, nom_opt, igs, npby, 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)