There can be several different ways to compile the fortran code. I used this method and it has so far worked for me. STEPS: 0. Download cygwin (www.cygwin.com); while installing, enable these two packages: gmp, mpfr (not selected in default cygwin install) 1. Compile the .f90 files with the flag -x f95-cpp-input (gfortran -c -x f95-cpp-input *.f90) 2. First compile the ddpression.f90 and ddcommon.f90 files to generate the .mod files 3. In subsequent steps, you sometimes have to remove the flag -x f95-cpp-input to compile (http://gcc.gnu.org/ml/fortran/2005-06/msg00207.html) 4. If not all files compile, do it individually for each file with and without the '-x f95-cpp-input' flag 5. Once everything is compiled, remove DDfield.o, DDpol.o, and CALLTARGET.o from this folder (otherwise an error related to '_main' will show up 6. Now compile with gfortran *.o -o DDSCAT.exe (an executable file will be created) 7. Copy this .exe file and the .tab and .par files from /doc folder to a different folder where you want to run your simulations 8. Once on clicking on .exe file, if your program gives an error regarding cygwin1.dll, copy cygwin1.dll to C:\Windows\System32) 9. Now you should be ready to simulate as you wish.