8 INTEGER :: istat, jrad, iread, numargs, jsurf
10 CHARACTER(LEN=50) :: arg1, arg2
11 CHARACTER(LEN=120) :: extension
39 CALL getcarg(1, arg1, numargs)
40 IF (numargs .gt. 1)
CALL getcarg(2, arg2, numargs)
42 IF (numargs .lt. 1)
THEN
43 print *,
'Invalid command line in calling xbooz_xform'
44 print *,
'Type xbooz_xform -h to get more information'
46 ELSE IF (arg1 .eq.
'-h' .or. arg1 .eq.
'/h')
THEN
47 print *,
' ENTER INPUT FILE NAME ON COMMAND LINE'
48 print *,
' For example: xbooz_xform in_booz.ext'
50 print *,
' WHERE in_booz.ext is the input file'
52 print *,
' Optional command line argument'
53 print *,
' xbooz_xform <infile> (T or F)'
55 print *,
' where F suppresses output to the screen'
57 ELSE IF (numargs .gt. 1)
THEN
58 IF (arg2(1:1).eq.
'f' .or. arg2(1:1).eq.
'F') lscreen = .false.
62 CALL safe_open (iread, istat, trim(arg1),
'old',
'formatted')
63 IF (istat .ne. 0) stop
'Error opening input file in booz_xform'
65 READ (iread, *, iostat = istat) mboz, nboz
66 READ (iread, *, iostat = istat) extension
67 IF (istat .ne. 0) stop
'Error reading input file in booz_xform'
72 CALL read_wout_booz(extension, iread, istat)
73 IF (istat .ne. 0)
THEN
74 print *,
' ierr_vmec !=0 in booz_xform read_wout_booz'
85 IF (lsurf_boz(jrad))
CALL boozer_coords(jrad)
89 OPEN(unit = 16, file =
'sum_gmncb.txt')
92 IF (lsurf_boz(jrad))
THEN
94 WRITE(16,*) jrad, sum(gmncb(:,jsurf))
103 chi(jrad) = chip(jrad)*(jrad-1)/(ns-1)
110 CALL write_boozmn(extension)
122 IF (lscreen) print 120, t2-t1
123 120
FORMAT(/,
' TIME IN BOOZER TRANSFORM CODE:',1pe12.2,
' SEC')
125 END PROGRAM boozer_xform