module boxconv {
  use causint
  use double
  use chain_mod
  real, dimension (ndat+nbox), allocatable :: tmp
#%_init (nbox,ndat)
    integer, intent (in) :: nbox,ndat
    call double_init (nbox,ndat)
#%_lop (x, y)
    call chain (causint_lop, double_lop, adj, .true., x, y, tmp)
}
