34
35
36
40 USE defaults_mod
42
43
44
45#include "implicit_f.inc"
46
47
48
49#include "com01_c.inc"
50#include "com04_c.inc"
51#include "param_c.inc"
52#include "scr03_c.inc"
53#include "scr05_c.inc"
54#include "scr06_c.inc"
55#include "scr12_c.inc"
56#include "scr14_c.inc"
57#include "scr16_c.inc"
58#include "scr17_c.inc"
59#include "tabsiz_c.inc"
60#include "random_c.inc"
61#include "sphcom.inc"
62#include "sms_c.inc"
63#include "eigcom.inc"
64
65
66
67 INTEGER, INTENT(IN) :: NOM_OPT(LNOPT1,SNOM_OPT1), INOM_OPT(SINOM_OPT),
68 . IRAND(*),QP_IPERTURB(NPERTURB,6),EIGIPM(NEIPM,*)
69 my_real,
INTENT(IN) :: dampr(nrdamp,*),alea(*),xseed(*),eigrpm(nerpm,*)
70 my_real,
INTENT(IN) :: qp_rperturb(nperturb,4)
71 INTEGER, INTENT(IN) :: DAMP_RANGE_PART(NPART)
72 TYPE (UNIT_TYPE_) ::UNITAB
73 TYPE(DEFAULTS_) , INTENT(IN) :: DEFAULTS
74
75
76
77 INTEGER I,II,J,IPERT,MY_ID, MY_DAMP, MY_CONSTRAINT,TEMP_INT,
78 . MY_RAND, MY_UNIT, MY_DEFAULTINTER,LENRNOISE,
79 . IDS(NPERTURB),IDX(NPERTURB),IDSEIG(NEIG),IDXEIG(NEIG),MY_EIG
80 CHARACTER(LEN=NCHARTITLE) :: TITR
81 INTEGER IHBE_DS,ISST_DS,IPLA_DS,IFRAME_DS,ITET4_D,ITET10_D,ICPRE_D,IMAS_DS,
82 . IHBE_D,IPLA_D,ISTR_D,ITHK_D,ISHEA_D,ISST_D,
83 . ISH3N_D, ISTRA_D,NPTS_D,IDRIL_D,IOFFSET,DEF_INTER(100)
84 CHARACTER (LEN=255) :: VARNAME
85 DOUBLE PRECISION TEMP_DOUBLE
86 LOGICAL :: OK_QA
87
88
89
90 ihbe_ds= defaults%SOLID%ISOLID
91 isst_ds= defaults%SOLID%ISMSTR
92 icpre_d= defaults%SOLID%ICPRE
93 itet4_d= defaults%SOLID%ITETRA4
94 itet10_d= defaults%SOLID%ITETRA10
95 imas_ds= defaults%SOLID%IMAS
96 iframe_ds= defaults%SOLID%IFRAME
97 istra_d = 1
98 ihbe_d = defaults%SHELL%ishell
99 ish3n_d= defaults%SHELL%ish3n
100 isst_d = defaults%SHELL%ismstr
101 ipla_d = defaults%SHELL%iplas
102 ithk_d = defaults%SHELL%ithick
103 idril_d= defaults%SHELL%idrill
104 ishea_d = 0
105 npts_d = 0
106
107
108
109
111 DO my_damp=1,ndamp
112
114 my_id = nint(dampr(1,my_damp))
115 IF(len_trim(titr)/=0)THEN
116 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
117 ELSE
118 CALL qaprint(
'A_DAMP_FAKE_NAME', my_id,0.0_8)
119 END IF
120
121 DO i=1,nrdamp
122 IF(dampr(i,my_damp)/=zero)THEN
123
124
125 WRITE(varname,'(A,I0)') 'DAMPR_',i
126 temp_double = dampr(i,my_damp)
127 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
128 END IF
129 END DO
130
131 END DO
132 END IF
133
134
135
136 IF (
myqakey(
'/DAMP/INTER'))
THEN
137 DO my_damp=1,ndamp
138
140 my_id = nint(dampr(1,my_damp))
141 IF(len_trim(titr)/=0)THEN
142 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
143 ELSE
144 CALL qaprint(
'A_DAMP_INTER_FAKE_NAME', my_id,0.0_8)
145 END IF
146
147 DO i=1,nrdamp
148 IF(dampr(i,my_damp)/=zero)THEN
149
150
151 WRITE(varname,'(A,I0)') 'DAMPR_',i
152 temp_double = dampr(i,my_damp)
153 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
154 END IF
155 END DO
156
157 IF(idamp_rdof/=zero)THEN
158 WRITE(varname,'(A)') 'IDAMP_RDOF_'
159 temp_double = idamp_rdof
160 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
161 ENDIF
162
163 END DO
164 END IF
165
166
167
168 IF (
myqakey(
'/DAMP/FREQ_RANGE'))
THEN
169 DO my_damp=1,ndamp
170
171 IF (nint(dampr(31,my_damp))==1) THEN
173 my_id = nint(dampr(1,my_damp))
174 IF(len_trim(titr)/=0)THEN
175 CALL qaprint(titr(1:len_trim(titr)),my_id,0.0_8)
176 ELSE
177 CALL qaprint(
'A_DAMP_INTER_FAKE_NAME', my_id,0.0_8
178 END IF
179
180 DO i=1,nrdamp
181 IF(dampr(i,my_damp)/=zero)THEN
182
183
184 WRITE(varname,'(A,I0)') 'DAMPR_',i
185 temp_double = dampr(i,my_damp)
186 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
187 END IF
188 END DO
189
190 DO i=1,npart
191 IF (damp_range_part(i) == my_damp) THEN
192 WRITE(varname,'(A)') 'PART_'
193 temp_int = i
194 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
195 ENDIF
196 ENDDO
197
198 ENDIF
199
200 END DO
201 END IF
202
203
204
206
208
209 WRITE(varname,'(A)') 'NANALY'
210 temp_int = nanaly
211 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
212
213 WRITE(varname,'(A)') 'IPARI0'
214 temp_int = ipari0
215 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
216
217 END IF
218
219
220
221 IF (
myqakey(
'/DEF_SOLID'))
THEN
222
223 CALL qaprint(
'DEF_SOLID', 0,0.0_8)
224
225 WRITE(varname,'(A)') 'Isolid'
226 temp_int = ihbe_ds
227 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
228
229 WRITE(varname,'(A)') 'ismstr'
230 TEMP_INT = ISST_DS
231 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
232
233 WRITE(VARNAME,'(a)') 'icpre'
234 TEMP_INT = ICPRE_D
235 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
236
237 WRITE(VARNAME,'(a)') 'istrain'
238 TEMP_INT = ISTRA_D
239 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
240
241 WRITE(VARNAME,'(a)') 'itetra4'
242 TEMP_INT = ITET4_D
243 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
244
245 WRITE(VARNAME,'(a)') 'itetra10'
246 TEMP_INT = ITET10_D
247 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
248
249 WRITE(VARNAME,'(a)') 'imas'
250 TEMP_INT = IMAS_DS
251 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
252
253 WRITE(VARNAME,'(a)') 'iframe'
254 TEMP_INT = IFRAME_DS
255 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
256 END IF
257
258
259
260 IF (MYQAKEY('/def_shell')) THEN
261
262 CALL QAPRINT('def_shell', 0,0.0_8)
263
264 WRITE(VARNAME,'(a)') 'ishell'
265 TEMP_INT = IHBE_D
266 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
267
268 WRITE(VARNAME,'(a)') 'ismstr'
269 TEMP_INT = ISST_D
270 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
271
272 WRITE(VARNAME,'(a)') 'ithick'
273 TEMP_INT = ITHK_D
274 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
275
276 WRITE(VARNAME,'(a)') 'iplas'
277 TEMP_INT = IPLA_D
278 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
279
280 WRITE(VARNAME,'(a)') 'istrain'
281 TEMP_INT = ISTRA_D
282 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
283
284 WRITE(VARNAME,'(a)') 'ish3n'
285 TEMP_INT = ISH3N_D
286 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
287
288 WRITE(VARNAME,'(a)') 'idrill'
289 TEMP_INT = IDRIL_D
290 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
291 END IF
292
293
294
295 IF (MYQAKEY('/random')) THEN
296
297 CALL QAPRINT('random',0,0.0_8)
298
299 DO MY_RAND=1,NRAND
300
301 WRITE(VARNAME,'(a,i0)') 'irand_',MY_RAND
302 TEMP_INT = IRAND(MY_RAND)
303 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
304
305 IF(ALEA(MY_RAND)/=ZERO)THEN
306
307 WRITE(VARNAME,'(a,i0)') 'alea_',MY_RAND
308 TEMP_DOUBLE = ALEA(MY_RAND)
309 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
310 END IF
311
312 IF(XSEED(MY_RAND)/=ZERO)THEN
313
314 WRITE(VARNAME,'(a,i0)') 'xseed_',MY_RAND
315 TEMP_DOUBLE = XSEED(MY_RAND)
316 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
317 END IF
318
319 END DO ! MY_RAND=1,NRAND
320
321 END IF
322
323
324
325 IF (MYQAKEY('/IMPLICIT')) THEN
326
327 CALL QAPRINT('IMPLICIT',0,0.0_8)
328
329 WRITE(VARNAME,'(a,i0)') 'iimplicit'
330 TEMP_INT = IIMPLICIT
331 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
332
333 WRITE(VARNAME,'(a,i0)') 'ipla_d'
334 TEMP_INT = IPLA_D
335 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
336
337 WRITE(VARNAME,'(a,i0)') 'ihbe_ds'
338 TEMP_INT = IHBE_DS
339 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
340
341 WRITE(VARNAME,'(a,i0)') 'ihbe_d'
342 TEMP_INT = IHBE_D
343 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
344
345 WRITE(VARNAME,'(a,i0)') 'idril_d'
346 TEMP_INT = IDRIL_D
347 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
348
349 END IF
350
351
352
353 IF (MYQAKEY('/spmd')) THEN
354
355 CALL QAPRINT('spmd',0,0.0_8)
356
357 WRITE(VARNAME,'(a,i0)') 'dectyp'
358 TEMP_INT = DECTYP
359 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
360
361 WRITE(VARNAME,'(a,i0)') 'nspmd'
362 TEMP_INT = NSPMD
363 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
364
365 WRITE(VARNAME,'(a,i0)') 'decani'
366 TEMP_INT = DECANI
367 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
368
369 WRITE(VARNAME,'(a,i0)') 'decmot'
370 TEMP_INT = DECMOT
371 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
372
373 WRITE(VARNAME,'(a,i0)') 'decneq'
374 TEMP_INT = DECNEQ
375 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
376
377 WRITE(VARNAME,'(a,i0)') 'nthread'
378 TEMP_INT = NTHREAD
379 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
380
381 END IF
382
383
384
385 IF (MYQAKEY('/sphglo')) THEN
386
387 CALL QAPRINT('sphglo',0,0.0_8)
388
389 IF(SPASORT/=ZERO)THEN
390
391 WRITE(VARNAME,'(a,i0)') 'spasort'
392 TEMP_DOUBLE = SPASORT
393 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
394 END IF
395
396 WRITE(VARNAME,'(a,i0)') 'lvoisph'
397 TEMP_INT = LVOISPH
398 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
399
400 WRITE(VARNAME,'(a,i0)') 'kvoisph'
401 TEMP_INT = KVOISPH
402 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
403
404 WRITE(VARNAME,'(a,i0)') 'itsol2sph'
405 TEMP_INT = ITSOL2SPH
406 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
407
408 END IF
409
410
411
412 IF (MYQAKEY('/caa')) THEN
413
414 CALL QAPRINT('caa',0,0.0_8)
415
416 WRITE(VARNAME,'(a,i0)') 'icaa'
417 TEMP_INT = ALE%GLOBAL%ICAA
418 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
419
420 END IF
421
422
423
424 IF (MYQAKEY('/ioflag')) THEN
425
426 CALL QAPRINT('ioflag',0,0.0_8)
427
428 WRITE(VARNAME,'(a,i0)') 'ipri'
429 TEMP_INT = IPRI
430 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
431
432 WRITE(VARNAME,'(a,i0)') 'ioutput'
433 TEMP_INT = IOUTPUT
434 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
435
436 WRITE(VARNAME,'(a,i0)') 'outyy_fmt'
437 TEMP_INT = OUTYY_FMT
438 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
439
440 WRITE(VARNAME,'(a,i0)') 'irootyy'
441 TEMP_INT = IROOTYY
442 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
443
444 WRITE(VARNAME,'(a,i0)') 'idrot'
445 TEMP_INT = IDROT
446 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
447
448 WRITE(VARNAME,'(a,i0)') 'irform'
449 TEMP_INT = IRFORM
450 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
451
452 END IF
453
454
455
456 IF (MYQAKEY('/ams')) THEN
457
458 CALL QAPRINT('ams',0,0.0_8)
459
460 WRITE(VARNAME,'(a,i0)') 'isms'
461 TEMP_INT = ISMS
462 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
463
464 WRITE(VARNAME,'(a,i0)') 'idtgrs'
465 TEMP_INT = IDTGRS
466 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
467
468 WRITE(VARNAME,'(a,i0)') 'isms_selec'
469 TEMP_INT = ISMS_SELEC
470 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
471
472 WRITE(VARNAME,'(a,i0)') 'irest_mselt'
473 TEMP_INT = IREST_MSELT
474 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
475
476 IF(DT_SMS_SWITCH/=ZERO)THEN
477
478 WRITE(VARNAME,'(a,i0)') 'dt_sms_switch'
479 TEMP_DOUBLE = DT_SMS_SWITCH
480 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
481 END IF
482
483 END IF
484
485
486
487 IF (MYQAKEY('/unit')) THEN
488
489 DO MY_UNIT=1,UNITAB%NUNITS
490
491 TITR(1:nchartitle)=''
492 MY_ID = UNITAB%UNIT_ID(MY_UNIT)
493 IF(LEN_TRIM(TITR)/=0)THEN
494 CALL QAPRINT(TITR(1:LEN_TRIM(TITR)),MY_ID,0.0_8)
495 ELSE
496 CALL QAPRINT('a_unit_fake_name', MY_ID,0.0_8)
497 END IF
498
499 IF(UNITAB%FAC_M(MY_UNIT)/=ZERO)THEN
500
501 WRITE(VARNAME,'(a,i0)') 'fac_m_',MY_UNIT
502 TEMP_DOUBLE = UNITAB%FAC_M(MY_UNIT)
503 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
504 END IF
505
506 IF(UNITAB%FAC_L(MY_UNIT)/=ZERO)THEN
507
508 WRITE(VARNAME,'(a,i0)') 'fac_l_',MY_UNIT
509 TEMP_DOUBLE = UNITAB%FAC_L(MY_UNIT)
510 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
511 END IF
512
513 IF(UNITAB%FAC_T(MY_UNIT)/=ZERO)THEN
514
515 WRITE(VARNAME,'(a,i0)') 'fac_t_',MY_UNIT
516 TEMP_DOUBLE = UNITAB%FAC_T(MY_UNIT)
517 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),0,TEMP_DOUBLE)
518 END IF
519
520 END DO ! MY_UNIT=1,UNITAB%NUNITS
521
522 END IF
523
524
525
526 IF (MYQAKEY('/default/inter')) THEN
527
528 DEF_INTER(1:100) = DEFAULTS%interface%DEF_INTER(1:100)
529 CALL QAPRINT('/default/inter', 0,0.0_8)
530
531 DO MY_DEFAULTINTER=1,100
532
533 IF(DEF_INTER(MY_DEFAULTINTER) /= 0) THEN
534 WRITE(VARNAME,'(a,i0)') 'def_inter_',MY_DEFAULTINTER
535 TEMP_INT = DEF_INTER(MY_DEFAULTINTER)
536 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
537 ENDIF
538
539 ENDDO ! MY_DEFAULTINTER=1,100
540
541 END IF
542
543
544
545 IF (MYQAKEY('/intthick')) THEN
546
547 IF (IINTTHICK > 0) THEN
548 CALL QAPRINT('/intthick',0,0.0_8)
549 WRITE(VARNAME,'(a)') 'intthick_'
550 TEMP_INT = IINTTHICK
551 CALL QAPRINT(VARNAME(1:LEN_TRIM(VARNAME)),TEMP_INT,0.0_8)
552 ENDIF
553
554 END IF
555
556
557
558 OK_QA = MYQAKEY('/
ale/grid
')
559 IF (OK_QA) THEN
560 TEMP_DOUBLE = ALE%GRID%ALPHA
561 WRITE(VARNAME,'(a)') 'alpha_'
562 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
563 temp_double =
ale%GRID%GAMMA
564 WRITE(varname,'(A)') 'GAMMA_'
565 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
566 temp_double =
ale%GRID%VGX
567 WRITE(varname,'(A)') 'VGX_'
568 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
569 temp_double =
ale%GRID%VGY
570 WRITE(varname,'(A)') 'VGY_'
571 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
572 temp_double =
ale%GRID%VGZ
573 WRITE(varname,'(A)') 'VGZ_'
574 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
575 ENDIF
576
577
578
580
581 IF (ishfram > 0) THEN
582 CALL qaprint(
'/ISHFRA',0,0.0_8)
583 WRITE(varname,'(A)') 'ISHFRAM_'
584 temp_int = ishfram
585 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
586 ENDIF
587
588 END IF
589
590
591
593 IF (ok_qa) THEN
594 temp_double =
ale%UPWIND%UPWMG
595 WRITE(varname,'(A)') 'UPCOEF1_'
596 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
597 temp_double =
ale%UPWIND%UPWOG
598 WRITE(varname,'(A)') 'UPCOEF2_'
599 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
600 temp_double =
ale%UPWIND%UPWSM
601 WRITE(varname,'(A)') 'UPCOEF3_'
602 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
603 ENDIF
604
605
606
607
609
610 IF (nperturb > 0) THEN
611
612
613 DO i = 1,nperturb
614 ids(i) = qp_iperturb(i,1)
615 idx(i) = i
616 ENDDO
618
619
620 DO ii = 1, nperturb
621
622 my_id = idx(ii)
623 CALL qaprint(
'/PERTURB_FAKE_NAME',ii,0.0_8)
624
625 DO i = 1,6
626 WRITE(varname,'(A,I0)') 'QP_IPERTURB_',i
627 temp_int = qp_iperturb(my_id,i)
628 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
629 ENDDO
630
631 DO i = 1,4
632 WRITE(varname,'(A,I0)') 'QP_RPERTURB_',i
633 temp_double = qp_rperturb(my_id,i)
634 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
635 ENDDO
636
637 ENDDO
638
639 ENDIF
640
641 END IF
642
643
644
646
647 CALL qaprint(
'STAMPING',0,0.0_8)
648
649 WRITE(varname,'(A,I0)') 'ISTAMPING'
650 temp_int = istamping
651 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
652 ENDIF
653
654
655
657
658
659 DO i = 1, neig
660 idseig(i) = eigipm(1,i)
661 idxeig(i) = i
662 ENDDO
664
665 DO ii=1,neig
666
667 my_eig = idxeig(ii)
668 WRITE(varname,'(A,I0)') 'EIGID_',my_eig
669 temp_int = eigipm(1,my_eig)
670 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
671
672 DO i=1,neipm
673 IF(eigipm(i,my_eig) /=0)THEN
674
675 WRITE(varname,'(A,I0)') 'EIGIPM_',i
676 CALL qaprint(varname(1:len_trim(varname)),eigipm(i,my_eig),0.0_8)
677 END IF
678 END DO
679
680 DO i=1,nerpm
681 IF(eigrpm(i,my_eig) /=zero)THEN
682 WRITE(varname,'(A,I0)') 'EIGRPM_',i
683 temp_double = eigrpm(i,my_eig)
684 CALL qaprint(varname(1:len_trim(varname)),0,temp_double)
685 END IF
686 END DO
687
688 END DO
689
690 END IF
691
692
693
694 IF (
myqakey(
'/ANIM/VERS'))
THEN
695
696 WRITE(varname,'(A)') 'ANIM_VERS'
697 temp_int = anim_vers
698 CALL qaprint(varname(1:len_trim(varname)),temp_int,0.0_8)
699
700 END IF
701
702 RETURN
integer, parameter nchartitle
logical function myqakey(value)
@purpose Check if a given value is part of the values set by env variable Useful to make a condition ...
subroutine qaprint(name, idin, value)
@purpose print one entry to QA extract file example of call for real print CALL QAPRINT('MY_LABEL',...
recursive subroutine quicksort_i2(a, idx, first, last)