1 SUBROUTINE heading(extension, time_slice, iseq_count, lmac,
3 USE vmec_main,
ONLY: rprec
4 USE vparams,
ONLY: nthreed, nmac
5 USE vmec_params,
ONLY: version_
7 USE parallel_include_module,
ONLY: grank
13 REAL(rprec) :: time_slice
14 CHARACTER(LEN=*) :: extension
15 LOGICAL :: lmac, lscreen, lwrite
19 CHARACTER(LEN=100),
PARAMETER ::
20 & banner =
' THIS IS PARVMEC (PARALLEL VMEC), VERSION '
21 CHARACTER(LEN=*),
PARAMETER :: VersionID1 =
22 &
' Lambda: Full Radial Mesh. L-Force: hybrid full/half.'
27 CHARACTER(LEN=10) :: date0, time0, zone0
28 CHARACTER(LEN=50) :: dateloc, Version
34 IF (grank .NE. 0)
THEN
38 CALL open_output_files(extension, iseq_count, lmac, lscreen,
41 IF (.NOT.lfirst .OR. .NOT.lwrite)
RETURN
44 CALL date_and_time(date0, time0, zone0)
45 READ(date0(5:6),
'(i2)') imon
46 WRITE(dateloc,1000) months(imon), date0(7:8), date0(1:4),
47 & time0(1:2), time0(3:4), time0(5:6)
52 version = trim(adjustl(version_))
53 WRITE (nthreed,1002) trim(banner), trim(version),
54 & trim(versionid1), trim(computer),
55 & trim(os), trim(os_release), trim(dateloc)
58 WRITE (*,1001) iseq_count + 1, time_slice, trim(extension)
59 WRITE (*,1003) trim(banner), trim(version),
60 & trim(versionid1), trim(computer), trim(os),
61 & trim(os_release), trim(dateloc)
65 DO nout = nthreed, nthreed + 1
67 IF (imon .eq. nthreed + 1)
THEN
70 IF (imon .eq. nmac .and. .not.lmac) cycle
71 WRITE (imon,1004) trim(extension), iseq_count, time_slice
74 1000
FORMAT(
'DATE = ',a3,
' ',a2,
',',a4,
' ',
' TIME = ',2(a2,
':'),a2)
75 1001
FORMAT(
' SEQ = ',i4,
' TIME SLICE',1p,e12.4/
76 &
' PROCESSING INPUT.',a)
77 1002
FORMAT(a,1x,a,/a,//,
' COMPUTER: ',a,2x,
' OS: ',a,2x,
78 &
' RELEASE: ',a,2x,a)
79 1003
FORMAT(1x,a,1x,a,/1x,a,//,
' COMPUTER: ',a,2x,
' OS: ',a,2x,
80 &
' RELEASE: ',a,2x,a)
81 1004
FORMAT(
' SHOT ID.: ',a,2x,
'SEQ. NO.:',i4,/,
82 &
' TIME SLICE = ',f5.0,
' ms')
84 END SUBROUTINE heading