15 subroutine writevars(vname,n1,n2,n3,n4,n5,n6,nv,iv,iva,rv,rva,zv,zva,sv,sva)
18 character(*),
intent(in) :: vname
19 integer,
optional,
intent(in) :: n1,n2,n3,n4,n5,n6
20 integer,
optional,
intent(in) :: nv,iv,iva(*)
21 real(8),
optional,
intent(in) :: rv,rva(*)
22 complex(8),
optional,
intent(in) :: zv,zva(*)
23 character(*),
optional,
intent(in) :: sv,sva(*)
26 if (
present(iva).or.
present(rva).or.
present(zva).or.
present(sva))
then 27 if (.not.
present(nv))
then 29 write(*,
'("Error(writevars): missing argument nv")')
35 write(*,
'("Error(writevars): nv < 0 : ",I8)') nv
41 open(95,file=
'VARIABLES.OUT',form=
'FORMATTED',action=
'WRITE',position=
'APPEND')
43 write(95,
'(A)',advance=
'NO') trim(vname)
44 if (
present(n1))
write(95,
'(I8)',advance=
'NO') n1
45 if (
present(n2))
write(95,
'(I8)',advance=
'NO') n2
46 if (
present(n3))
write(95,
'(I8)',advance=
'NO') n3
47 if (
present(n4))
write(95,
'(I8)',advance=
'NO') n4
48 if (
present(n5))
write(95,
'(I8)',advance=
'NO') n5
49 if (
present(n6))
write(95,
'(I8)',advance=
'NO') n6
54 else if (
present(rv))
then 56 write(95,
'(G24.14)') rv
57 else if (
present(zv))
then 59 write(95,
'(2G24.14)') dble(zv),aimag(zv)
60 else if (
present(sv))
then 62 write(95,
'(A)') trim(sv)
63 else if (
present(iva))
then 64 write(95,
'(2I8)') 1,nv
66 write(95,
'(I8)') iva(i)
68 else if (
present(rva))
then 69 write(95,
'(2I8)') 2,nv
71 write(95,
'(G24.14)') rva(i)
73 else if (
present(zva))
then 74 write(95,
'(2I8)') 3,nv
76 write(95,
'(2G24.14)') dble(zva(i)),aimag(zva(i))
78 else if (
present(sva))
then 79 write(95,
'(2I8)') 4,nv
81 write(95,
'(A)') trim(sva(i))
subroutine writevars(vname, n1, n2, n3, n4, n5, n6, nv, iv, iva, rv, rva, zv, zva, sv, sva)