Unfortunately, in its present form DDSCAT is not set up to treat the problem of a finite target near a semi-infinite slab.

For DDSCAT, the closest approximation to the posed problem would be to calculate the finite target placed at the surface of a rectangular block with the desired dielectric function representing the semi-infinite substrate. Use a block that is as large as you can afford, and repeat the calculation for different block sizes to see whether the results seem to be sensitive to the size of the block. This method is inelegant and unfortunately not very efficient; memory limitations will limit the size of the slab, given that the interdipole spacing d needs to be small enough to resolve the target geometry.

If your target happens to be a disk, you can use target option DSKRCTNGL. If your target happens to be a rectangular block, you can use target option RCTGLBLK2. If your target has another geometry, you can use target option FROM_FILE, and use your own software to prepare a file with the list of dipoles locations and compositions.