43 . ITYP ,KEY ,IGS ,LITHBUFMX,ITHBUF ,
44 . IAD ,IFI ,ITHGRP ,ITHVAR ,NVALL ,
45 . NVARE ,NVARG ,VARE ,VARG ,IVARG ,
46 . NSNE ,NVARABF ,LSUBMODEL)
55 USE format_mod ,
ONLY : fmw_i_a
59#include "implicit_f.inc"
68#include "tabsiz_c.inc"
72 INTEGER ,
INTENT(IN) :: ITYP,NVARE,NVARG,LITHBUFMX,NVALL
73 INTEGER ,
INTENT(OUT) :: NSNE
74 INTEGER ,
INTENT(INOUT) :: IFI,IAD,IGS,NVARABF
75 INTEGER ,
DIMENSION(NITHGR) ,
INTENT(INOUT) :: ITHGRP
76 INTEGER ,
DIMENSION(18,NVARG) ,
INTENT(IN) :: IVARG
77 INTEGER ,
DIMENSION(SITHVAR) ,
INTENT(OUT) :: ITHVAR
78 INTEGER ,
DIMENSION(LITHBUFMX) ,
INTENT(OUT) :: ITHBUF
79 CHARACTER*10 ,
INTENT(IN) :: VARE(NVARE),KEY,VARG(NVARG)
80 TYPE (
submodel_data) ,
DIMENSION(NSUBMOD) ,
INTENT(IN) :: lsubmodel
81 TYPE (SENSORS_) ,
INTENT(IN) :: SENSORS
85 INTEGER J,I,ID,NNE,K,IAD0,IFITMP,NVAR,N,IAD1,IAD2,IDS,IDSMAX,IDS_OBJ1
86 CHARACTER(LEN=NCHARTITLE) :: TITR
87 LOGICAL,
DIMENSION(:),
ALLOCATABLE :: FOUND
92 INTEGER HM_THVARC,R2R_EXIST
94 IS_AVAILABLE = .false.
97 CALL fretitl2(titr,ithgrp(nithgr-ltitr+1),ltitr)
103 CALL hm_get_intv(
'Number_Of_Variables',nvar,is_available,lsubmodel)
107 .
CALL ancmsg(msgid=1109, msgtype=msgerror, anmode=aninfo_blind_1,
115 nvar = hm_thvarc(vare,nvare,ithbuf(iad),varg,nvarg,ivarg,nvall,id,titr ,lsubmodel)
116 ! number of objects ids
117 CALL hm_get_intv(
'idsmax',idsmax,is_available,lsubmodel)
120 IF (idsmax > 0 .AND. ids_obj1 == 0)
THEN
131 CALL zeroin(iad,iad + 43*nne-1,ithbuf)
132 ALLOCATE (found(sensors%NSENSOR))
133 found(1:sensors%NSENSOR) = .false.
136 idsmax = sensors%NSENSOR
138 ids = sensors%SENSOR_TAB(k)%SENS_ID
141 IF (nsubdom > 0)
THEN
142 IF (r2r_exist(ityp,ids) == 0) cycle
146 DO j=1,sensors%NSENSOR
147 IF (ids == sensors%SENSOR_TAB(j)%SENS_ID)
THEN
153 CALL fretitl2(titr,ithgrp(nithgr-ltitr+1),ltitr)
154 CALL ancmsg(msgid=257, msgtype=msgwarning, anmode=aninfo_blind_1,
160 IF (.NOT. found(n))
THEN
167 CALL fretitl2(titr,ithgrp(nithgr-ltitr+1),ltitr)
168 CALL ancmsg(msgid=256, msgtype=msgwarning, anmode=aninfo_blind_1,
179 iad2 = ithgrp(5)+3*nne
186 CALL hord(ithbuf(iad),nne)
190 ithbuf(iad+2*nne) = sensors%SENSOR_TAB(n)%SENS_ID
191 titr = sensors%SENSOR_TAB(n)%TITLE
193 CALL fretitl(titr,ithbuf(iad2),40)
207 DO j=iad0,iad0+nvar-1
209 ithvar((ithgrp(9)+(j-iad0)-1)*10+k)=ichar(vare(ithbuf(j))(k:k))
212 nvarabf = nvarabf + nvar
222 CALL fretitl2(titr,ithgrp(nithgr-ltitr+1),ltitr)
223 WRITE(iout,
'(A,I10,3A,I3,A,I5,2A)')
' TH GROUP:',ithgrp(1),
',',trim(titr
','' VAR',n, key,
':'
224 WRITE(iout,
'(A)')
' -------------------'
225 WRITE(iout,
'(10A10)')(vare(ithbuf(j)),j=iad0,iad0
226 WRITE(iout,
'(3A)')
' ',key,
' NAME '
230 WRITE(iout,fmt=fmw_i_a) sensors%SENSOR_TAB(ithbuf(k))%SENS_ID,titr(1:40)
246 CALL zeroin(iad,iad + 43*nne-1,ithbuf)
247 ALLOCATE (found(sensors%NSENSOR))
248 found(1:sensors%NSENSOR) = .false.
256 IF (nsubdom > 0)
THEN
257 IF (r2r_exist(ityp,ids) == 0) cycle
261 DO j=1,sensors%NSENSOR
262 IF (ids == sensors%SENSOR_TAB(j)%SENS_ID)
THEN
268 CALL fretitl2(titr,ithgrp(nithgr-ltitr+1),ltitr)
269 CALL ancmsg(msgid=257, msgtype=msgwarning, anmode=aninfo_blind_1,
275 IF (.NOT. found(n))
THEN
282 CALL fretitl2(titr,ithgrp(nithgr-ltitr+1),ltitr)
283 CALL ancmsg(msgid=256, msgtype=msgwarning, anmode=aninfo_blind_1,
294 iad2 = ithgrp(5)+3*nne
296 ifi = ifi+3*nne+40*nne
301 CALL hord(ithbuf(iad),nne)
305 ithbuf(iad+2*nne) = sensors%SENSOR_TAB(n)%SENS_ID
306 titr = sensors%SENSOR_TAB(n)%TITLE
308 CALL fretitl(titr,ithbuf(iad2),40)
322 DO j=iad0,iad0+nvar-1
324 ithvar((ithgrp(9)+(j-iad0)-1)*10+k)=ichar(vare(ithbuf(j))(k:k))
327 nvarabf = nvarabf + nvar
337 CALL fretitl2(titr,ithgrp(nithgr-ltitr+1),ltitr)
338 WRITE(iout,
'(A,I10,3A,I3,A,I5,2A)')
' TH GROUP:',ithgrp(1),
',',trim(titr),
',',nvar,
' VAR',n, key,
':'
339 WRITE(iout,
'(A)')
' -------------------'
340 WRITE(iout,
'(10A10)')(vare(ithbuf(j)),j=iad0,iad0+nvar-1)
341 WRITE(iout,
'(3A)')
' ',key,
' NAME '
345 WRITE(iout,fmt=fmw_i_a) sensors%SENSOR_TAB(ithbuf(k))%SENS_ID,titr(1:40)
subroutine hm_read_thgrsens(sensors, ityp, key, igs, lithbufmx, ithbuf, iad, ifi, ithgrp, ithvar, nvall, nvare, nvarg, vare, varg, ivarg, nsne, nvarabf, 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)