43
44
45
52
53
54
55#include "implicit_f.inc"
56
57
58
59 INTEGER L,NTABLE,NTABLE0,NFUNCT,NPC(*)
61 TYPE(TTABLE) TABLE(*)
62 INTEGER (LNOPT1,*)
63 TYPE(SUBMODEL_DATA), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
64 TYPE (UNIT_TYPE_), INTENT(IN) :: UNITAB
65
66
67
68#include "scr17_c.inc"
69#include "units_c.inc"
70
71
72
73 INTEGER I, K, N, , NX(4), NY, NPTS, STAT, LL
74 CHARACTER(LEN=NCHARTITLE) :: TITR
75 CHARACTER MESS*40
76 DATA mess/' FUNCTION & TABLE DEFINITION '/
77 LOGICAL :: IS_ENCRYPTED, IS_AVAILABLE
78
79 is_encrypted = .false.
80 is_available = .false.
81
83 DO i=1,ntable0
85 . option_titr = titr,
86 . option_id = ll)
88
89 nx(1) = 0
90 nx(2) = 0
91 nx(3) = 0
92 nx(4) = 0
93 CALL hm_get_intv(
'ORDER', ndim, is_available, lsubmodel)
94 IF(ndim/=1.AND.ndim/=2.AND.ndim/=3.AND.ndim/=4)THEN
96 . msgtype=msgerror,
97 . anmode=aninfo_blind_1,
98 . i1=ll,
99 . c1=titr)
100 END IF
101 IF(ndim > 0)
CALL hm_get_intv(
'N1', nx(1), is_available, lsubmodel)
102 IF(ndim==1)THEN
103 l=l+1
104 npts=nx(1)
105 npc(nfunct+l+1)=ll
106 npc(l+1)=npc(l)
107
108 DO n = 1, npts
110 END DO
111
112 DO n = 1, npts
114 END DO
115 npc(l+1)=npc(l)+2*npts
116
117 table(l)%NOTABLE=ll
118 table(l)%NDIM =1
119
120 ALLOCATE(table(l)%X(1),stat=stat)
121 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
122 . msgtype=msgerror,
123 . c1='TABLE')
124 ALLOCATE(table(l)%X(1)%VALUES(npts),stat=stat)
125 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
126 . msgtype=msgerror,
127 . c1='TABLE')
128
129 ALLOCATE(table(l)%Y,stat=stat)
130 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
131 . msgtype=msgerror,
132 . c1='TABLE')
133 ALLOCATE(table(l)%Y%VALUES(npts),stat=stat)
134 IF (stat /= 0)
CALL ancmsg(msgid=268,anmode=aninfo,
135 . msgtype=msgerror,
136 . c1='TABLE')
137
138 DO n=1,npts
139 table(l)%X(1)%VALUES(n
140 table(l)%Y%VALUES(n) =pld(npc(l)+2*n-1)
141 END DO
142
143 IF (is_encrypted)THEN
144 WRITE(iout,'(5X,A,//)')'CONFIDENTIAL DATA'
145 ELSE
146 WRITE(iout,2100) table(l)%NOTABLE, table(l)%NDIM
147 DO k=1,table(l)%NDIM
148 nx(k)=SIZE( table(l)%X(k)%VALUES )
149 WRITE(iout,2200) k
150 WRITE(iout,2250) (table(l)%X(k)%VALUES(n),n=1,nx(k))
151 END DO
152 ny=SIZE(table(l)%Y%VALUES)
153 WRITE(iout,2300)
154 WRITE(iout,2350) (table(l)%Y%VALUES(n),n=1,ny)
156 endif
157 ENDDO
158 RETURN
159
1602100 FORMAT(/' TABLE ID . . . . . . . . . . . . . . =',i10/
161 . ' NUMBER OF PARAMETERS . . . . . . . . =',i10/)
1622200 FORMAT(/' VALUES FOR PARAMETER NUMBER. . . . . .',i4,':'/)
1632250 FORMAT((3x,5(1x,g20.13))/)
1642300 FORMAT(/' ORDINATE VALUES . . . . . . . . . . . :'/)
1652350 FORMAT((3x,5(1x,g20.13))/)
if(complex_arithmetic) id
subroutine hm_get_float_array_index(name, rval, index, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_is_encrypted(is_encrypted)
subroutine hm_option_start(entity_type)
integer, parameter nchartitle
integer, parameter ncharfield
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)