38
39
40
44 USE my_alloc_mod
46
47
48
49#include "implicit_f.inc"
50
51
52
53
54
55
56 INTEGER NV,NVG,IVAR(*),IVARG(18,*),NV0,VARVENT(*),NBVENT_MAX,KK,IDSMAX
57 CHARACTER*10 VARE(NV),VARG(NVG)
58
59
60
61 CHARACTER VAR*10
62 INTEGER JREC,TRU,N,L,M,I,J,K,OK
63 INTEGER ID,NMONV,IMONV,NLABEL
64 CHARACTER(LEN=NCHARTITLE) :: TITR
65 INTEGER NVAR
66 TYPE(SUBMODEL_DATA) LSUBMODEL(NSUBMOD)
67 LOGICAL IS_AVAILABLE
68 INTEGER,DIMENSION(:),ALLOCATABLE :: TAG
69
70
71
72
73 ALLOCATE(tag(0:nv))
75 tru=1
76
77 DO i=1,nv
78 tag(i)=0
79 ENDDO
80
81 CALL hm_get_intv(
'Number_Of_Variables',nlabel,is_available,lsubmodel)
82
83 DO kk=1,nlabel
85 var(len_trim(var)+1:10)=' '
86 IF (var(1:3) == 'DEF') THEN
87 tag(101:
min(150,100+nbvent_max*5))=1
88 varvent(1:nbvent_max*5) = 1
89 ELSEIF(var(1:5) == ' ')THEN
90 cycle
91 ELSE
92 ok=0
93 i=0
94 DO WHILE(ok==0.AND.i<nvg)
95
96 i=i+1
97 IF(var==varg(i))THEN
98 DO j=1,18
99 IF(ivarg(j,i) /= 0) THEN
100 tag(ivarg(j,i))=1
101 varvent(ivarg(j,i)-100) = 1
102 ENDIF
103 ENDDO
104 ok=1
105 ENDIF
106 ENDDO
107 i=0
108 DO WHILE(ok==0.AND.i<nv)
109
110 i=i+1
111 IF(var==vare(i))THEN
112 IF(i > 100) THEN
113 varvent(i-100)=1
114 tag(i)=1
115 ELSE
116 tag(i)=0
117 ENDIF
118 ok=1
119 ENDIF
120 ENDDO
121 ENDIF
122 ENDDO
123
124 CALL hm_get_intv(
'idsmax',nmonv,is_available,lsubmodel)
125 DO imonv=1,nmonv
127 IF(n/=0)THEN
128 DO i=1,nv
129 IF(tag(i)/=0)THEN
132 ENDIF
133 ENDDO
134 RETURN
135 ENDIF
136 ENDDO
137
138 DEALLOCATE(tag)
139
140 RETURN
subroutine hm_get_int_array_index(name, ival, index, is_available, lsubmodel)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_get_string_index(name, sval, index, size, is_available)
integer, parameter nchartitle
integer function nvar(text)