A number of efficient numerical computer algorithms are incorporated into a general program called EMCUPL, which calculates the electromagnetic (EM) coupling between two straight wires on the surface of a multilayered half space. Each layer has an isotropic conductivity which may be either real or complex. A second computer program, called SCHCOPL, is described which calculates the coupling for the special case of a Schlumberger or Wenner array also on a multilayered half space. Comparison with other programs shows that EMCUPL is at least as accurate, more generally applicable, and computationally more efficient FORTRAN listings of all subprograms and example calculations are given in the Appendix.