Dan,
This works without calls to winop@ before the i=winio@ function call:
USE mswin
INTEGER,PARAMETER:: Nx=11, Nt=12
DOUBLE PRECISION Xmp(Nx,Nt),Ymp(Nx,Nt)
integer Np(Nt)
integer, external :: SnapshotMultiplotPL
DO j = 1,Nt
Np(j) = Nx
do i = 1,Nx
Xmp(i,j)=0.1d0 * (i-(Nx+1)/2)
Ymp(i,j)=Xmp(i,j)**2 + 0.2/Nt * j
enddo
endDO
i=winio@('%ww%fn[Tahoma]%bf&')
i=winio@('%ts&', 2.0d0)
i=winio@('%pv%pl[x_axis='Radius ( um )',y_axis='Temperature ( eV )','//&
'file=MultiplotPL1.set,frame,framed,axes_pen=2,frame_pen=2,etched,'//&
'width=2,x_array,independent,n_graphs=12]%ff&',&
1000,700, Np,&
Xmp(1,1), Ymp(1,1), Xmp(1,2), Ymp(1,2), Xmp(1,3), Ymp(1,3),&
Xmp(1,4), Ymp(1,4), Xmp(1,5), Ymp(1,5), Xmp(1,6), Ymp(1,6),&
Xmp(1,7), Ymp(1,7), Xmp(1,8), Ymp(1,8), Xmp(1,9), Ymp(1,9),&
Xmp(1,10),Ymp(1,10),Xmp(1,11),Ymp(1,11),Xmp(1,12),Ymp(1,12))
i=winio@('%ts&', 1.0d0)
i=winio@('%cn%^tt[Snapshot]%es', SnapshotMultiplotPL)
MultiplotPL = 2
end ! function
This also works, where calls to winop@ 'preload' all the %pl configuration data:
USE mswin
INTEGER,PARAMETER:: Nx=11, Nt=12
DOUBLE PRECISION Xmp(Nx,Nt),Ymp(Nx,Nt)
integer Np(Nt)
integer, external :: SnapshotMultiplotPL
DO j = 1,Nt
Np(j) = Nx
do i = 1,Nx
Xmp(i,j)=0.1d0 * (i-(Nx+1)/2)
Ymp(i,j)=Xmp(i,j)**2 + 0.2/Nt * j
enddo
endDO
i=winio@('%ww%fn[Tahoma]%bf&')
i=winio@('%ts&', 2.0d0)
call winop@('%pl[n_graphs=12]')
call winop@('%pl[x_axis='Radius ( um )']')
call winop@('%pl[y_axis='Temperature ( eV )']')
call winop@('%pl[file=MultiplotPL1.set]')
call winop@('%pl[frame,framed,axes_pen=2,frame_pen=2,etched,width=2,x_array,independent]')
i=winio@('%pv%pl%ff&',1000,700, Np,&
Xmp(1,1), Ymp(1,1), Xmp(1,2), Ymp(1,2), Xmp(1,3), Ymp(1,3),&
Xmp(1,4), Ymp(1,4), Xmp(1,5), Ymp(1,5), Xmp(1,6), Ymp(1,6),&
Xmp(1,7), Ymp(1,7), Xmp(1,8), Ymp(1,8), Xmp(1,9), Ymp(1,9),&
Xmp(1,10),Ymp(1,10),Xmp(1,11),Ymp(1,11),Xmp(1,12),Ymp(1,12))
i=winio@('%ts&', 1.0d0)
i=winio@('%cn%^tt[Snapshot]%es', SnapshotMultiplotPL)
MultiplotPL = 2
end ! function
See items 379, 394 of cwplus.enh