V3FIT
dump_output.f
1  MODULE dump_output
2  USE vmec_main
3  USE realspace
4  IMPLICIT NONE
5 
6  INTEGER, PRIVATE :: js, lu, lv
7 
8  CONTAINS
9 
10  SUBROUTINE dump_special
11 
12 ! Dumps out any "special" information the user might want for debugging, etc
13 
14  js = (ns-1)/4 + 1
15 
16  WRITE (66,100) ns, ntheta, ntheta3, nzeta
17  100 FORMAT("NS: ",i4," NU: ",i4," NU2: ",i4," NV: ",i4)
18  WRITE (66, 110) js
19  110 FORMAT("JS POINT: ", i4, /)
20 
21  WRITE (66, *)" R1 Z1 RU ZU",
22  1 " RV ZV"
23  WRITE (66, *)
24  CALL write_rzl(r1,z1,ru,zu,rv,zv,js)
25 
26  END SUBROUTINE dump_special
27 
28  SUBROUTINE write_rzl(r1,z1,ru,zu,rv,zv,jspt)
29  REAL(rprec), INTENT(in), DIMENSION(ns,nzeta,ntheta3,0:1) ::
30  1 r1, z1, ru, zu, rv, zv
31  REAL(rprec) :: factor, temp1, temp2, temp3, temp4, temp5, temp6
32  INTEGER :: jspt
33 
34  factor = sqrts(jspt)
35 
36  DO lu = 1, ntheta3
37  WRITE (66, 100) lu
38  DO lv = 1, nzeta
39  temp1 = r1(jspt,lv,lu,0) + factor*r1(jspt,lv,lu,1)
40  temp2 = z1(jspt,lv,lu,0) + factor*z1(jspt,lv,lu,1)
41  temp3 = ru(jspt,lv,lu,0) + factor*ru(jspt,lv,lu,1)
42  temp4 = zu(jspt,lv,lu,0) + factor*zu(jspt,lv,lu,1)
43  temp5 = rv(jspt,lv,lu,0) + factor*rv(jspt,lv,lu,1)
44  temp6 = zv(jspt,lv,lu,0) + factor*zv(jspt,lv,lu,1)
45  WRITE (66, 200) lv, temp1, temp2, temp3,
46  1 temp4, temp5, temp6
47  END DO
48  END DO
49 
50  100 FORMAT ("lu: ", i4)
51  200 FORMAT (i4, 1p,6e12.4)
52 
53  END SUBROUTINE write_rzl
54 
55  END MODULE dump_output