54 3 IAD ,IFI ,ITHGRP,ITHBUF ,
55 4 NV ,VARE ,NUM ,VARG ,NVG ,
56 5 IVARG ,NSNE,NV0,ITHVAR,FLAGABF,NVARABF,
57 6 NOM_OPT,IGS,T_MONVOL,NVARMVENT,LSUBMODEL)
67 USE format_mod ,
ONLY : fmw_i_a
68 USE user_id_mod ,
ONLY : id_limit
72#include "implicit_f.inc"
88 . IFI,IAD,NV,NUM,NVG,NSNE ,IVARG(18,*),
89 . NV0,ITHVAR(*),FLAGABF,NVARABF,ID_VENT(10)
90 CHARACTER*10 VARE(NV),KEY,VARG(NVG)
91 INTEGER NOM_OPT(LNOPT1,*),NVARMVENT
92 TYPE(MONVOL_STRUCT_),
DIMENSION(NVOLU),
INTENT(IN) :: T_MONVOL
93 TYPE(SUBMODEL_DATA) :: LSUBMODEL(NSUBMOD)
97 INTEGER J,JJ, I,ISU,ID,NNE,NOSYS,NTOT,KK,IER,
98 . ok,igs,igrs,nsu,k,l,cont,iad0,iadv,ntri,
99 . ifitmp,iadfin,
nvar,m,n,iad1,iad2,isk,iproc,varvent(nvarmvent),
100 . nbmonvol,nbvent,nvar_tmp,ityp_monv,
101 . nvent(nvolu),nbvent_max,n_bak,idsmax,
102 . k1,k2,kibjet,kibhol
103 CHARACTER(LEN=NCHARTITLE) :: TITR,TITR1
104 CHARACTER MESS*40,TMP_CHAR*40
105 CHARACTER*20 VENT_NAME(10,NVOLU)
110 INTEGER USR2SYS,ULIST2S,LISTCNT,NINTRN,THVARC
111 INTEGER,
EXTERNAL :: HM_THVARC
112 INTEGER R2R_LISTCNT,R2R_EXIST
113 DATA MESS/
'TH GROUP DEFINITION '/
118 vent_name(1:10,1:nvolu) =
''
121 varvent(1:nvarmvent) = 0
125 CALL fretitl2(titr1,ithgrp(nithgr-ltitr+1),ltitr)
130 CALL hm_get_intv(
'idsmax',nbmonvol,is_available,lsubmodel)
131 CALL hm_get_intv('number_of_variables
',NVAR,IS_AVAILABLE,LSUBMODEL)
132 IF(NVAR>0)NVAR=HM_THVARC(VARE,NV,ITHBUF(IAD),VARG,NVG,IVARG,NV0,ID,TITR1,LSUBMODEL)
137 KIBHOL=KIBJET+LIBAGJET
139 ITYP_MONV=T_MONVOL(N)%TYPE
140 NVENT(N)=T_MONVOL(N)%NVENT
141 IF (NVENT(N) /= 0) THEN
142 CALL NAME_FVBAG(T_MONVOL(N)%IBAGHOL,VENT_NAME(1,N),NVENT(N))
146 CALL HM_GET_INTV('idsmax
',IDSMAX,IS_AVAILABLE,LSUBMODEL)
148 ! Loop over Objects IDs
150 CALL HM_GET_INT_ARRAY_INDEX('ids
',N,K,IS_AVAILABLE,LSUBMODEL)
151 CALL HM_GET_INT_ARRAY_INDEX('skew_array
',ISK,K,IS_AVAILABLE,LSUBMODEL)
152 CALL HM_GET_STRING_INDEX('name_array
',TITR,K,40,IS_AVAILABLE)
155 IF(R2R_EXIST(ITYP,N)==0) CYCLE
161 IF(N_BAK==NOM_OPT(1,INOPT1+J))THEN
167 CALL FRETITL2(TITR1,ITHGRP(NITHGR-LTITR+1),LTITR)
168 CALL ANCMSG(MSGID=257,
169 . MSGTYPE=MSGWARNING,
170 . ANMODE=ANINFO_BLIND_1,
176 NBVENT_MAX = MAX(NBVENT_MAX,NVENT(N))
180 CALL HM_THVARVENT(VARE,NV,ITHBUF(IAD),VARG,NVG,IVARG,NV0,ID,TITR1,VARVENT,NBVENT_MAX,LSUBMODEL)
185 IF (VARVENT( 5*(I-1) + J ) == 1) THEN
193.OR.
IF (NBVENT == 0 NBVENT_MAX == 0) THEN
198 NNE = NBVENT * NBMONVOL
204 IF (VARVENT((I-1)*5+J) == 1) THEN
205 NVAR_TMP = NVAR_TMP + 1
208 NVAR = MAX(NVAR,NVAR_TMP)
211 IF(NVAR == 0) CALL ANCMSG(MSGID=1109,
213 . ANMODE=ANINFO_BLIND_1,
226 CALL ZEROIN(IAD,IAD+43*NNE-1,ITHBUF)
230 CALL HM_GET_INT_ARRAY_INDEX('ids
',N,KK,IS_AVAILABLE,LSUBMODEL)
231 CALL HM_GET_INT_ARRAY_INDEX('skew_array
',ISK,KK,IS_AVAILABLE,LSUBMODEL)
232 CALL HM_GET_STRING_INDEX('name_array
',TITR,KK,40,IS_AVAILABLE)
236 IF(R2R_EXIST(ITYP,N)==0) CYCLE
243 IF(N_BAK==NOM_OPT(1,INOPT1+J))THEN
249 CALL FRETITL2(TITR1,ITHGRP(NITHGR-LTITR+1),LTITR)
250 CALL ANCMSG(MSGID=257,
251 . MSGTYPE=MSGWARNING,
252 . ANMODE=ANINFO_BLIND_1,
266 CALL HORD(ITHBUF(IAD),NNE)
272 ITHBUF(IAD+2*NNE)=ID_LIMIT%TH
273 ID_LIMIT%TH = ID_LIMIT%TH + 1
276 ITHBUF(IAD2+J-1)=NOM_OPT(J+LNOPT1-LTITR,INOPT1+N)
278 CALL FRETITL2(TITR1,ITHBUF(IAD2),40)
280 IF (I <= NVENT(K)) THEN
281 WRITE(TMP_CHAR,FMT='(i2,a)
') ID_VENT(I),VENT_NAME(I,K)
283 WRITE(TMP_CHAR,FMT='(i2,a)
') ID_VENT(I),''
285 TITR1(21:40) = TMP_CHAR(1:20)
286 CALL FRETITL(TITR1,ITHBUF(IAD2),40)
301 DO J=IAD0,IAD0+NVAR-1
303 ITHVAR((ITHGRP(9)+(J-IAD0)-1)*10+K)=
304 . ICHAR(VARE(ITHBUF(J))(K:K))
307 NVARABF = NVARABF + NVAR
319 CALL FRETITL2(TITR1,ITHGRP(NITHGR-LTITR+1),LTITR)
320 WRITE(IOUT,'(a,i10,3a,i3,a,i5,2a)
')' th group:
',ITHGRP(1),
321 . ',
',TITR1,',
',NVAR,' var
',N, KEY,':
'
322 WRITE(IOUT,'(a)
')' -------------------
'
323 WRITE(IOUT,'(10a10)
')(VARE(ITHBUF(J)),J=IAD0,IAD0+NVAR-1)
324 WRITE(IOUT,'(3a)
')' ',KEY,' name
'
326 CALL FRETITL2(TITR1,ITHBUF(IAD2),40)
328 WRITE(IOUT,FMT=FMW_I_A)NOM_OPT(1,INOPT1+ITHBUF(K)),TITR1(1:40)
subroutine hm_thgrki_vent(ityp, key, inopt1, iad, ifi, ithgrp, ithbuf, nv, vare, num, varg, nvg, ivarg, nsne, nv0, ithvar, flagabf, nvarabf, nom_opt, igs, t_monvol, nvarmvent, lsubmodel)