Can anyone recommend a 2-dimensional Fourier transform routine, written in Fortran? The input data would be a real, evenly spaced 2-D array, without data gaps. I've seen the Numerical Recipes FFT routine, which needs the data length to be a power of 2, or needs zero padding. But, since computing power isn't a big limitation, and speed doesn't matter too much either, I'm looking for a less fussy, more easy-to-use program. Alternatively, a 1-D routine which can use complex input-data would be fine.