41
42
43
44
45
46
47
48
49
50
51
52
53
54
60 USE my_alloc_mod
62
63
64
65#include "implicit_f.inc"
66
67
68
69 INTEGER, INTENT(INOUT) :: IAD
70 INTEGER, INTENT(IN) :: ,NUMSKW,LISKN,LSKEW,NRTRANS,
71 . SSKEW,SISKWN,NSPCOND,NUMSPH
72 INTEGER, INTENT(IN) :: ID,SUB_ID,ISKN(LISKN,SISKWN/LISKN)
73 my_real,
INTENT(IN) :: skew(lskew,sskew/lskew),rtrans(ntransf,nrtrans)
74 CHARACTER(LEN=NCHARTITLE), INTENT(IN) :: TITLE
75
76 TYPE (SET_), INTENT(INOUT) :: CLAUSE
77 TYPE (UNIT_TYPE_),INTENT(IN) :: UNITAB
78 TYPE (SUBMODEL_DATA),INTENT(IN) :: LSUBMODEL()
79
80
81
82 INTEGER I,J,DGR1,DGR,ISKEW
83
85 LOGICAL :: lFOUND
86 LOGICAL :: IS_AVAILABLE
87
88 dgr1=0
89
90 CALL hm_get_intv(
'Skew_ID' ,iskew,is_available,lsubmodel)
92
93 clause%ELLIPSE_ID_MADYMO=iskew
94
95
96
97
98 lfound=.false.
100 IF (iskew==iskn(4,j+1)) THEN
101 iskew=j+1
102 lfound=.true.
103 EXIT
104 ENDIF
105 END DO
106
107 IF(.NOT.lfound)THEN
109 . msgtype=msgerror,
110 . anmode=aninfo,
111 . c1='SURFACE',
113 . c2='SURFACE',
114 . c3=title,
115 . i2=iskew)
116 ELSE
117
118
119
120
121 ENDIF
122
126 IF(sub_id /= 0)
CALL subrotpoint(xg,yg,zg,rtrans,sub_id,lsubmodel)
127
128
129
130
131
132
133
134
135
136
140 dgr = 0
141 IF ( s_a==0. .OR. s_b==0. .OR. s_c==0.) THEN
143 . msgtype=msgerror,
144 . anmode=aninfo,
146 . c1=title)
147 ENDIF
148
149 IF (dgr==0.AND.dgr1==0) THEN
150 dgr1=2
151 ELSEIF (dgr1==0) THEN
152 dgr1=dgr
153 ENDIF
154
155
156
157
158
159
160
161
162
163
164
165
166
167 clause%NB_ELLIPSE=1
168 CALL my_alloc(clause%ELLIPSE_SKEW,9)
169
170 clause%ELLIPSE_IAD_BUFR= iad
171
172 clause%ELLIPSE_N=dgr1
173 clause%ELLIPSE_XC=xg
174 clause%ELLIPSE_YC=yg
175 clause%ELLIPSE_ZC=zg
176 clause%ELLIPSE_A=s_a
177 clause%ELLIPSE_B=s_b
178 clause%ELLIPSE_C=s_c
179 clause%ELLIPSE_SKEW(1:9)=skew(1:9,iskew)
180
181 iad=iad+36
182
183 RETURN
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, 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)
subroutine subrotpoint(x, y, z, rtrans, sub_id, lsubmodel)