This is an overloaded function with a variety of argument lists:
	interface plcont
	subroutine plcontour_0(z,kx,lx,ky,ly,clevel)
	integer                          :: kx,lx,ky,ly
	real(kind=plflt), dimension(:,:) :: z
	real(kind=plflt), dimension(:)   :: clevel
	end subroutine plcontour_0
	subroutine plcontour_1(z,kx,lx,ky,ly,clevel,xg,yg)
	integer                          :: kx,lx,ky,ly
	real(kind=plflt), dimension(:,:) :: z
	real(kind=plflt), dimension(:)   :: clevel
	real(kind=plflt), dimension(:)   :: xg
	real(kind=plflt), dimension(:)   :: yg
	end subroutine plcontour_1
	subroutine plcontour_2(z,kx,lx,ky,ly,clevel,xg,yg)
	integer                          :: kx,lx,ky,ly
	real(kind=plflt), dimension(:,:) :: z
	real(kind=plflt), dimension(:)   :: clevel
	real(kind=plflt), dimension(:,:) :: xg
	real(kind=plflt), dimension(:,:) :: yg
	end subroutine plcontour_2
	subroutine plcontour_tr(z,kx,lx,ky,ly,clevel,tr)
	integer                          :: kx,lx,ky,ly
	real(kind=plflt), dimension(:,:) :: z
	real(kind=plflt), dimension(:)   :: clevel
	real(kind=plflt), dimension(6)   :: tr
	end subroutine plcontour_tr
	subroutine plcontour_0_all(z,clevel)
	real(kind=plflt), dimension(:,:) :: z
	real(kind=plflt), dimension(:)   :: clevel
	end subroutine plcontour_0_all
	subroutine plcontour_1_all(z,clevel,xg,yg)
	real(kind=plflt), dimension(:,:) :: z
	real(kind=plflt), dimension(:)   :: clevel
	real(kind=plflt), dimension(:)   :: xg
	real(kind=plflt), dimension(:)   :: yg
	end subroutine plcontour_1_all
	subroutine plcontour_2_all(z,clevel,xg,yg)
	real(kind=plflt), dimension(:,:) :: z
	real(kind=plflt), dimension(:)   :: clevel
	real(kind=plflt), dimension(:,:) :: xg
	real(kind=plflt), dimension(:,:) :: yg
	end subroutine plcontour_2_all
	subroutine plcontour_tr_all(z,clevel,tr)
	real(kind=plflt), dimension(:,:) :: z
	real(kind=plflt), dimension(:)   :: clevel
	real(kind=plflt), dimension(6)   :: tr
	end subroutine plcontour_tr_all
	end interface
      
      When called from Fortran, this overloaded routine has the same
      effect as when invoked from C.  See
      examples/fortran/x??f.f90 for various ways to call
      plcont from Fortran.
    
The meaning of the various arguments is as follows:
z
	    (real(kind=plflt), dimension(:,:), input)
	  Matrix containing the values to be plotted.
kx, lx
	    (integer, input)
	  
	      Range for the first index in the matrix z to consider.
	      If not given, then the whole first index is considered.
	    
clevel
	    (real(kind=plflt), dimension(:), input)
	  Levels at which the contours are computed and drawn.
kx, lx
	    (integer, input)
	  
	      Range for the first index in the matrix z to consider.
	      If not given, then the whole first index is considered.
	    
ky, ly
	    (integer, input)
	  
	      Range for the second index in the matrix z to consider.
	      If not given, then the whole second index is considered.
	    
xg
	    (real(kind=plft), dimension(:) or
	    real(kind=plft), dimension(:,:), input)
	  The x-coordinates for the grid lines (if one-dimensional) or the x-coordinates of the grid vertices (if two-dimensional). The values in the matrix are plotted at these coordinates. If not given, implicit coordinates are used (equal to the indices in the matrix).
yg
	    (real(kind=plft), dimension(:) or
	    real(kind=plft), dimension(:,:), input)
	  The y-coordinates for the grid lines (if one-dimensional) or the x-coordinates of the grid vertices (if two-dimensional). The values in the matrix are plotted at these coordinates.
tr
	    (real(kind=plft), dimension(6), input)
	  The coefficients of an affine transformation:
x = tr(1) * ix + tr(2) * iy + tr(3) y = tr(4) * ix + tr(5) * iy + tr(6)
The indices of the matrix element are used to compute the "actual" coordinates according to the above formulae.