!--- slpack ---
!その他のサブルーチン
        subroutine sldivz(xamin,xamax,yamin,yamax,cform,ix,iy,xbmin,xbmax,ybmin,ybmax)
            real,      intent(in) :: xamin
            real,      intent(in) :: xamax
            real,      intent(in) :: yamin
            real,      intent(in) :: yamax
            character(len=*), intent(in) :: cform
            integer,   intent(in) :: ix
            integer,   intent(in) :: iy
            real,      intent(out), dimension(*) :: xbmin
            real,      intent(out), dimension(*) :: xbmax
            real,      intent(out), dimension(*) :: ybmin
            real,      intent(out), dimension(*) :: ybmax
        end subroutine

        subroutine slmgnz(xamin,xamax,yamin,yamax,xl,xr,yb,yt)
            real,      intent(inout) :: xamin
            real,      intent(inout) :: xamax
            real,      intent(inout) :: yamin
            real,      intent(inout) :: yamax
            real,      intent(in) :: xl
            real,      intent(in) :: xr
            real,      intent(in) :: yb
            real,      intent(in) :: yt
        end subroutine
        
        subroutine slpage(lev,ifrm,ipage)
            integer,   intent(in) :: lev
            integer,   intent(inout) :: ifrm
            integer,   intent(out) :: ipage
        end subroutine

        subroutine slpcnr()
        end subroutine

        subroutine slqrct(lev,ifrm,xamin,xamax,yamin,yamax)
            integer,   intent(in) :: lev
            integer,   intent(in) :: ifrm
            real,      intent(out) :: xamin
            real,      intent(out) :: xamax
            real,      intent(out) :: yamin
            real,      intent(out) :: yamax
        end subroutine

        subroutine slqsiz(csize,dx,dy)
            character(len=*), intent(in) :: csize
            real,      intent(out) :: dx
            real,      intent(out) :: dy
        end subroutine
        
        subroutine slratz(xamin,xamax,yamin,yamax,rx,ry)
            real,      intent(inout) :: xamin
            real,      intent(inout) :: xamax
            real,      intent(inout) :: yamin
            real,      intent(inout) :: yamax
            real,      intent(in) :: rx
            real,      intent(in) :: ry
        end subroutine

        subroutine slpttl
        end subroutine

        subroutine sltlcv(ctlin,ctlout,lout)
            character(len=*), intent(in) :: ctlin
            character(len=*), intent(out) :: ctlout
            integer,      intent(out) :: lout
        end subroutine
        
        subroutine slzttl(cside,cttl,px,py,rsize,index)
            character(len=*), intent(in) :: cside
            character(len=*), intent(in) :: cttl
            real,      intent(in) :: px
            real,      intent(in) :: py
            real,      intent(in) :: rsize
            integer,   intent(in) :: index
        end subroutine

! --- uxpack ---

    function luxchk(cside)
      character(len=*), intent(in) :: cside
      logical  luxchk
    end function
      
    subroutine uxplba(ux,ch,nc,n,upy,roffx,rsize,irota,icent,index)
      real,      intent(in), dimension(*) :: ux
      character(len=*), intent(in), dimension(*) :: ch
      integer,   intent(in) :: nc
      integer,   intent(in) :: n
      real,      intent(in) :: upy
      real,      intent(in) :: roffx
      real,      intent(in) :: rsize
      integer,   intent(in) :: irota
      integer,   intent(in) :: icent
      integer,   intent(out) :: index
    end subroutine
      
    subroutine uxplbb(ux,ch,nc,n,upy,roffx,rsize,irota,icent,index,rbtwn,lbound,lbmsg)
      real,      intent(in), dimension(*) :: ux
      character(len=*), intent(in), dimension(*) :: ch
      integer,   intent(in) :: nc
      integer,   intent(in) :: n
      real,      intent(in) :: upy
      real,      intent(in) :: roffx
      real,      intent(in) :: rsize
      integer,   intent(in) :: irota
      integer,   intent(in) :: icent
      integer,   intent(out) :: index
      real,      intent(in) :: rbtwn
      logical,   intent(in) :: lbound
      logical,   intent(in) :: lbmsg
    end subroutine
      
    subroutine uxptmz(ux,n,upy,roffx,rtick,index)
      real,      intent(in), dimension(*) :: ux
      integer,   intent(in) :: n
      real,      intent(in) :: upy
      real,      intent(in) :: roffx
      real,      intent(in) :: rtick
      integer,   intent(in) :: index
    end subroutine
      
    subroutine uxsoff()
    end subroutine
      
    subroutine uxroff()
    end subroutine

!--- uypack ---

    function luychk(cside)
      character(len=*), intent(in) :: cside
      logical  luychk
    end function
      
    subroutine uyplba(uy,ch,nc,n,upx,roffy,rsize,irota,icent,index)
      real,      intent(in), dimension(*) :: uy
      character(len=*), intent(in), dimension(*) :: ch
      integer,   intent(in) :: nc
      integer,   intent(in) :: n
      real,      intent(in) :: upx
      real,      intent(in) :: roffy
      real,      intent(in) :: rsize
      integer,   intent(in) :: irota
      integer,   intent(in) :: icent
      integer,   intent(out) :: index
    end subroutine
      
    subroutine uyplbb(uy,ch,nc,n,upx,roffy,rsize,irota,icent,index,rbtwn,lbound,lbmsg)
      real,      intent(in), dimension(*) :: uy
      character(len=*), intent(in), dimension(*) :: ch
      integer,   intent(in) :: nc
      integer,   intent(in) :: n
      real,      intent(in) :: upx
      real,      intent(in) :: roffy
      real,      intent(in) :: rsize
      integer,   intent(in) :: irota
      integer,   intent(in) :: icent
      integer,   intent(out) :: index
      real,      intent(in) :: rbtwn
      logical,   intent(in) :: lbound
      logical,   intent(in) :: lbmsg
    end subroutine
      
    subroutine uyptmz(uy,n,upx,roffy,rtick,index)
      real,      intent(in), dimension(*) :: uy
      integer,   intent(in) :: n
      real,      intent(in) :: upx
      real,      intent(in) :: roffy
      real,      intent(in) :: rtick
      integer,   intent(in) :: index
    end subroutine
      
    subroutine uysoff()
    end subroutine
      
    subroutine uyroff()
    end subroutine

!--- ucpack ---

    function nucchr(cs,nd)
      character(len=8), intent(out) :: cs
      integer  nucchr
    end function
    
      
    function nucday  (cs,nd)
      character(len=8), intent(out) :: cs
      integer  nucday
    end function

!--- udpack ---

    subroutine udsclz(lset)
      logical,   intent(in) :: lset
    end subroutine
      
    subroutine udqclz(lset)
      logical,   intent(out) :: lset
    end subroutine
      
    subroutine udline(z,mx,kx,ky,kk,cx,lopen,ibr)
      real,      intent(in), dimension(mx,*) :: z
      integer,   intent(in) :: mx
      integer,   intent(in) :: kx
      integer,   intent(in) :: ky
      integer,   intent(in) :: kk
      integer,   intent(in) :: cx
      logical,   intent(in) :: lopen
      integer,   intent(out), dimension(*) :: ibr
    end subroutine
      
    subroutine uduxuy(z,mx,ix,iy,k,cx,ux,uy)
      real,      intent(in), dimension(mx,*) :: z
      integer,   intent(in) :: mx
      integer,   intent(in) :: ix
      integer,   intent(in) :: iy
      integer,   intent(in) :: k
      integer,   intent(in) :: cx
      real,      intent(out) :: ux
      real,      intent(out) :: uy
    end subroutine
      
    subroutine udgrdn(mode,ix,iy,k,jx,jy,jk)
      integer,   intent(in) :: mode
      integer,   intent(in) :: ix
      integer,   intent(in) :: iy
      integer,   intent(in) :: k
      integer,   intent(out), dimension(*) :: jx
      integer,   intent(out), dimension(*) :: jy
      integer,   intent(out), dimension(*) :: jk
    end subroutine
      
    function rudval(zz,cz)
      real,      intent(in) :: zz
      real,      intent(in) :: cz
      real rudval
    end function
      
    subroutine udbset(i,j,k,l,ibr)
      integer,   intent(in) :: i
      integer,   intent(in) :: j
      integer,   intent(in) :: k
      integer,   intent(in) :: l
      integer,   intent(out), dimension(*) :: ibr
    end subroutine
      
    subroutine udbclr(i,j,k,l,ibr)
      integer,   intent(in) :: i
      integer,   intent(in) :: j
      integer,   intent(in) :: k
      integer,   intent(in) :: l
      integer,   intent(out), dimension(*) :: ibr
    end subroutine
      
    function ludchk(i,j,k,l,ibr)
      integer,   intent(in) :: i
      integer,   intent(in) :: j
      integer,   intent(in) :: k
      integer,   intent(in) :: l
      integer,   intent(out), dimension(*) :: ibr
      logical ludchk
    end function
      
    subroutine udlabl(val,cval)
      real,      intent(in) :: val
      character(len=*), intent(out) :: cval
    end subroutine

!--- uepack ---

    subroutine uestlz(lset)
      logical,   intent(in) :: lset
    end subroutine
      
    subroutine ueqtlz(lset)
      logical,   intent(out) :: lset
    end subroutine
      
    subroutine uearea(xp,yp,zp,vlvm,ax,ay,np,ni,ng)
      real,      intent(in), dimension(4) :: xp
      real,      intent(in), dimension(4) :: yp
      real,      intent(in), dimension(4) :: zp
      real,      intent(in), dimension(2) :: vlvm
      real,      intent(out), dimension(*) :: ax
      real,      intent(out), dimension(*) :: ay
      integer,   intent(out), dimension(2) :: np
      integer,   intent(out), dimension(2) :: ni
      integer,   intent(out) :: ng
    end subroutine
      
    subroutine ueaint
    end subroutine

!--- ugpack ---

    subroutine ugunit
    end subroutine
      
    subroutine ugdut
    end subroutine

!--- fftlib ---

!---------------------------------------------------------
!下位ルーチン
    subroutine cfftb1(n,c,ch,wa,ifac)
      integer,   intent(in) :: n
      complex,   intent(inout), dimension(*) :: c
      complex,   intent(inout), dimension(*) :: ch
      real,      intent(in), dimension(*) :: wa
      integer,   intent(in), dimension(*) :: ifac
    end subroutine
      
    subroutine cfftf1(n,c,ch,wa,ifac)
      integer,   intent(in) :: n
      complex,   intent(inout), dimension(*) :: c
      complex,   intent(inout), dimension(*) :: ch
      real,      intent(in), dimension(*) :: wa
      integer,   intent(in), dimension(*) :: ifac
    end subroutine
      
    subroutine cffti1(n,wa,ifac)
      integer,   intent(in) :: n
      real,      intent(out), dimension(*) :: wa
      integer,   intent(out), dimension(*) :: ifac
    end subroutine
      
    subroutine cosqb1(n,x,w,xh)
      integer,   intent(in) :: n
      real,      intent(inout), dimension(*) :: x
      real,      intent(in), dimension(*) :: w
      real,      intent(in), dimension(*) :: xh
    end subroutine
      
    subroutine cosqf1(n,x,w,xh)
      integer,   intent(in) :: n
      real,      intent(inout), dimension(*) :: x
      real,      intent(in), dimension(*) :: w
      real,      intent(inout), dimension(*) :: xh
    end subroutine
      
    subroutine ezfft1(n,wa,ifac)
      integer,   intent(in) :: n
      real,      intent(out), dimension(*) :: wa
      integer,   intent(out), dimension(*) :: ifac
    end subroutine
      
    subroutine passb(nac,ido,ip,l1,idl1,cc,c1,c2,ch,ch2,wa)
      integer,   intent(in) :: nac
      integer,   intent(in) :: ido
      integer,   intent(in) :: ip
      integer,   intent(in) :: l1
      integer,   intent(in) :: idl1
      complex,   intent(in), dimension(ido,ip,l1) :: cc
      complex,   intent(inout), dimension(ido,l1,ip) :: c1
      complex,   intent(inout), dimension(idl1,ip) :: c2
      complex,   intent(inout), dimension(ido,l1,ip) :: ch
      complex,   intent(inout), dimension(idl1,ip) :: ch2
      real,      intent(in), dimension(*) :: wa
    end subroutine
      
    subroutine passb2(ido,l1,cc,ch,wa1)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,2,l1) :: cc
      complex,   intent(out), dimension(ido,l1,2) :: ch
      real,      intent(in), dimension(*) :: wa1
    end subroutine
      
    subroutine passb3(ido,l1,cc,ch,wa1,wa2)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,3,l1) :: cc
      complex,   intent(out), dimension(ido,l1,3) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
    end subroutine
      
    subroutine passb4(ido,l1,cc,ch,wa1,wa2,wa3)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,4,l1) :: cc
      complex,   intent(out), dimension(ido,l1,4) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
      real,      intent(in), dimension(*) :: wa3
    end subroutine
      
    subroutine passb5(ido,l1,cc,ch,wa1,wa2,wa3,wa4)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,5,l1) :: cc
      complex,   intent(out), dimension(ido,l1,5) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
      real,      intent(in), dimension(*) :: wa3
      real,      intent(in), dimension(*) :: wa4
    end subroutine
      
    subroutine passf(nac,ido,ip,l1,idl1,cc,c1,c2,ch,ch2,wa)
      integer,   intent(in) :: nac
      integer,   intent(in) :: ido
      integer,   intent(in) :: ip
      integer,   intent(in) :: l1
      integer,   intent(in) :: idl1
      complex,   intent(in), dimension(ido,ip,l1) :: cc
      complex,   intent(inout), dimension(ido,l1,ip) :: c1
      complex,   intent(inout), dimension(idl1,ip) :: c2
      complex,   intent(inout), dimension(ido,l1,ip) :: ch
      complex,   intent(inout), dimension(idl1,ip) :: ch2
      real,      intent(in), dimension(*) :: wa
    end subroutine
      
    subroutine passf2(ido,l1,cc,ch,wa1)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,2,l1) :: cc
      complex,   intent(out), dimension(ido,l1,2) :: ch
      real,      intent(in), dimension(*) :: wa1
    end subroutine
      
    subroutine passf3(ido,l1,cc,ch,wa1,wa2)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,3,l1) :: cc
      complex,   intent(out), dimension(ido,l1,3) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
    end subroutine
      
    subroutine passf4(ido,l1,cc,ch,wa1,wa2,wa3)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,4,l1) :: cc
      complex,   intent(out), dimension(ido,l1,4) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
      real,      intent(in), dimension(*) :: wa3
    end subroutine
      
    subroutine passf5(ido,l1,cc,ch,wa1,wa2,wa3,wa4)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,5,l1) :: cc
      complex,   intent(out), dimension(ido,l1,5) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
      real,      intent(in), dimension(*) :: wa3
      real,      intent(in), dimension(*) :: wa4
    end subroutine
      
    subroutine radb2 (ido,l1,cc,ch,wa1)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,2,l1) :: cc
      complex,   intent(out), dimension(ido,l1,2) :: ch
      real,      intent(in), dimension(*) :: wa1
    end subroutine
      
    subroutine radb3(ido,l1,cc,ch,wa1,wa2)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,3,l1) :: cc
      complex,   intent(out), dimension(ido,l1,3) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
    end subroutine
      
    subroutine radb4(ido,l1,cc,ch,wa1,wa2,wa3)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,4,l1) :: cc
      complex,   intent(out), dimension(ido,l1,4) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
      real,      intent(in), dimension(*) :: wa3
    end subroutine
      
    subroutine radb5(ido,l1,cc,ch,wa1,wa2,wa3,wa4)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,5,l1) :: cc
      complex,   intent(out), dimension(ido,l1,5) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
      real,      intent(in), dimension(*) :: wa3
      real,      intent(in), dimension(*) :: wa4
    end subroutine
      
    subroutine radbg (ido,ip,l1,idl1,cc,c1,c2,ch,ch2,wa)
      integer,   intent(in) :: ido
      integer,   intent(in) :: ip
      integer,   intent(in) :: l1
      integer,   intent(in) :: idl1
      complex,   intent(in), dimension(ido,ip,l1) :: cc
      complex,   intent(inout), dimension(ido,l1,ip) :: c1
      complex,   intent(inout), dimension(idl1,ip) :: c2
      complex,   intent(inout), dimension(ido,l1,ip) :: ch
      complex,   intent(inout), dimension(idl1,ip) :: ch2
      real,      intent(in), dimension(*) :: wa
    end subroutine
      
    subroutine radf2 (ido,l1,cc,ch,wa1)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,2,l1) :: cc
      complex,   intent(out), dimension(ido,l1,2) :: ch
      real,      intent(in), dimension(*) :: wa1
    end subroutine
      
    subroutine radf3(ido,l1,cc,ch,wa1,wa2)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,3,l1) :: cc
      complex,   intent(out), dimension(ido,l1,3) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
    end subroutine
      
    subroutine radf4(ido,l1,cc,ch,wa1,wa2,wa3)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,4,l1) :: cc
      complex,   intent(out), dimension(ido,l1,4) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
      real,      intent(in), dimension(*) :: wa3
    end subroutine
      
    subroutine radf5(ido,l1,cc,ch,wa1,wa2,wa3,wa4)
      integer,   intent(in) :: ido
      integer,   intent(in) :: l1
      complex,   intent(in), dimension(ido,5,l1) :: cc
      complex,   intent(out), dimension(ido,l1,5) :: ch
      real,      intent(in), dimension(*) :: wa1
      real,      intent(in), dimension(*) :: wa2
      real,      intent(in), dimension(*) :: wa3
      real,      intent(in), dimension(*) :: wa4
    end subroutine
      
    subroutine radfg(ido,ip,l1,idl1,cc,c1,c2,ch,ch2,wa)
      integer,   intent(in) :: ido
      integer,   intent(in) :: ip
      integer,   intent(in) :: l1
      integer,   intent(in) :: idl1
      complex,   intent(in), dimension(ido,ip,l1) :: cc
      complex,   intent(inout), dimension(ido,l1,ip) :: c1
      complex,   intent(inout), dimension(idl1,ip) :: c2
      complex,   intent(inout), dimension(ido,l1,ip) :: ch
      complex,   intent(inout), dimension(idl1,ip) :: ch2
      real,      intent(in), dimension(*) :: wa
    end subroutine
      
    subroutine rfftb1(n,c,ch,wa,ifac)
      integer,   intent(in) :: n
      complex,   intent(inout), dimension(*) :: c
      complex,   intent(inout), dimension(*) :: ch
      real,      intent(in), dimension(*) :: wa
      integer,   intent(in), dimension(*) :: ifac
    end subroutine
      
    subroutine rfftf1(n,c,ch,wa,ifac)
      integer,   intent(in) :: n
      complex,   intent(inout), dimension(*) :: c
      complex,   intent(inout), dimension(*) :: ch
      real,      intent(in), dimension(*) :: wa
      integer,   intent(in), dimension(*) :: ifac
    end subroutine
      
    subroutine rffti1(n,wa,ifac)
      integer,   intent(in) :: n
      real,      intent(out), dimension(*) :: wa
      integer,   intent(out), dimension(*) :: ifac
    end subroutine
      
    subroutine sint1(n,war,was,xh,x,ifac)
      integer,   intent(in) :: n
      real,      intent(inout), dimension(*) :: war
      real,      intent(in), dimension(*) :: was
      real,      intent(out), dimension(*) :: xh
      real,      intent(inout), dimension(*) :: x
      integer,   intent(in), dimension(*) :: ifac
    end subroutine

