diff -Naur WPS/arch/configure.defaults WPS-patched/arch/configure.defaults
--- WPS/arch/configure.defaults	2011-03-25 12:22:22.000000000 -0700
+++ WPS-patched/arch/configure.defaults	2012-03-25 13:12:41.100110611 -0700
@@ -1504,6 +1504,101 @@
                         $(WRF_DIR)/external/io_netcdf/libwrfio_nf.a \
                         $(NETCDF)/lib/libnetcdf.lib
 
+###########################################################
+#ARCH    Windows x86_64, PToolsWin,    serial, NO GRIB2
+#
+COMPRESSION_LIBS        =
+COMPRESSION_INC         =
+FDEFS                   =
+FC              =       gfortran
+SFC             =       gfortran
+FFLAGS          =       -ffree-form -O -fconvert=big-endian -frecord-marker=4
+F77FLAGS        =       -ffixed-form -O -fconvert=big-endian -frecord-marker=4
+FNGFLAGS        =       $(FFLAGS)
+LDFLAGS         =
+CC              =       gcc
+SCC             =       gcc
+CFLAGS          =
+CPP             =       /usr/bin/cpp -C -P -traditional
+CPPFLAGS        =       -D_UNDERSCORE -DBYTESWAP -DWIN32 -D_WIN32 -DIO_NETCDF -DIO_BINARY -DIO_GRIB1 -DBIT32
+RANLIB          =       ranlib
+WRF_LIB         =       $(WRF_DIR)/external/io_grib1/libio_grib1.a \
+                        $(WRF_DIR)/external/io_grib_share/libio_grib_share.a \
+                        $(WRF_DIR)/external/io_int/libwrfio_int.a \
+                        $(WRF_DIR)/external/io_netcdf/libwrfio_nf.a \
+                        $(NETCDF)/lib/libnetcdff-5.dll \
+                        $(NETCDF)/lib/libnetcdf-7.dll
+
+##########################################################
+#ARCH    Windows x86_64, PToolsWin,    serial
+#
+FC              =       gfortran
+SFC             =       gfortran
+FFLAGS          =       -ffree-form -O -fconvert=big-endian -frecord-marker=4
+F77FLAGS        =       -ffixed-form -O -fconvert=big-endian -frecord-marker=4
+FNGFLAGS        =       $(FFLAGS)
+LDFLAGS         =
+CC              =       gcc
+SCC             =       gcc
+CFLAGS          =
+CPP             =       /usr/bin/cpp -C -P -traditional
+CPPFLAGS        =       -D_UNDERSCORE -DBYTESWAP -DWIN32 -D_WIN32 -DIO_NETCDF -DIO_BINARY -DIO_GRIB1 -DBIT32
+RANLIB          =       ranlib
+WRF_LIB         =       $(WRF_DIR)/external/io_grib1/libio_grib1.a \
+                        $(WRF_DIR)/external/io_grib_share/libio_grib_share.a \
+                        $(WRF_DIR)/external/io_int/libwrfio_int.a \
+                        $(WRF_DIR)/external/io_netcdf/libwrfio_nf.a \
+                        $(NETCDF)/lib/libnetcdff-5.dll \
+                        $(NETCDF)/lib/libnetcdf-7.dll
+
+###########################################################
+#ARCH    Windows x86_64, PToolsWin,    DM PARALLEL, NO GRIB2
+#
+COMPRESSION_LIBS        =
+COMPRESSION_INC         =
+FDEFS                   =
+FC              =       mpif90
+SFC             =       gfortran
+FFLAGS          =       -ffree-form -O -fconvert=big-endian -frecord-marker=4
+F77FLAGS        =       -ffixed-form -O -fconvert=big-endian -frecord-marker=4
+FNGFLAGS        =       $(FFLAGS)
+LDFLAGS         =
+CC              =       mpicc
+SCC             =       gcc
+CFLAGS          =
+CPP             =       /usr/bin/cpp -C -P -traditional
+CPPFLAGS        =       -D_UNDERSCORE -DBYTESWAP -DWIN32 -D_WIN32 -DIO_NETCDF -DIO_BINARY -DIO_GRIB1 -DBIT32
+RANLIB          =       ranlib
+WRF_LIB         =       $(WRF_DIR)/external/io_grib1/libio_grib1.a \
+                        $(WRF_DIR)/external/io_grib_share/libio_grib_share.a \
+                        $(WRF_DIR)/external/io_int/libwrfio_int.a \
+                        $(WRF_DIR)/external/io_netcdf/libwrfio_nf.a \
+                        $(NETCDF)/lib/libnetcdff-5.dll \
+                        $(NETCDF)/lib/libnetcdf-7.dll
+
+###########################################################
+#ARCH    Windows x86_64, PToolsWin,    DM PARALLEL
+#
+FC              =       mpif90
+SFC             =       gfortran
+FFLAGS          =       -ffree-form -O -fconvert=big-endian -frecord-marker=4
+F77FLAGS        =       -ffixed-form -O -fconvert=big-endian -frecord-marker=4
+FNGFLAGS        =       $(FFLAGS)
+LDFLAGS         =
+CC              =       mpicc
+SCC             =       gcc
+CFLAGS          =
+CPP             =       /usr/bin/cpp -C -P -traditional
+CPPFLAGS        =       -D_UNDERSCORE -DBYTESWAP -DWIN32 -D_WIN32 -DIO_NETCDF -DIO_BINARY -DIO_GRIB1 -DBIT32
+RANLIB          =       ranlib
+WRF_LIB         =       $(WRF_DIR)/external/io_grib1/libio_grib1.a \
+                        $(WRF_DIR)/external/io_grib_share/libio_grib_share.a \
+                        $(WRF_DIR)/external/io_int/libwrfio_int.a \
+                        $(WRF_DIR)/external/io_netcdf/libwrfio_nf.a \
+                        $(NETCDF)/lib/libnetcdff-5.dll \
+                        $(NETCDF)/lib/libnetcdf-7.dll
+
+
 ##################################################################
 #ARCH	NULL
 
diff -Naur WPS/configure WPS-patched/configure
--- WPS/configure	2010-01-13 10:15:22.000000000 -0800
+++ WPS-patched/configure	2012-03-25 13:11:51.954539274 -0700
@@ -126,27 +126,32 @@
   echo "Will configure for use without NetCDF"
 fi
 
-  # if the uname command exists, give it a shot and see if
-  # we can narrow the choices; otherwise, spam 'em
-  os="ARCH"
+if [ -n "$WRF_OS" ] ; then
+  os="$WRF_OS"
   mach="ARCH"
-  type uname > /dev/null
-if [ $? -eq 0 ] ; then
-    os=`uname`
-    if [ "$os" = "AIX" -o "$os" = "IRIX" -o "$os" = "IRIX64" -o "$os" = "SunOS" -o "$os" = "HP-UX"  -o "$os" = "Darwin" ] ; then
-      mach="ARCH"
-    else
-      xxx=`expr "$os" : '\(.........\).*'`
-      if [ "$xxx"  = "CYGWIN_NT" ] ; then
-        os=$xxx
-      fi
-      if [ "$os" = "OSF1" -o "$os" = "Linux" -o "$os" = "UNICOS/mp" -o "$os" = "UNIX_System_V" -o "$os" = "CYGWIN_NT" ] ; then
-        mach=`uname -m`
-      else
-        os="ARCH"
+else
+    # if the uname command exists, give it a shot and see if
+    # we can narrow the choices; otherwise, spam 'em
+    os="ARCH"
+    mach="ARCH"
+    type uname > /dev/null
+  if [ $? -eq 0 ] ; then
+      os=`uname`
+      if [ "$os" = "AIX" -o "$os" = "IRIX" -o "$os" = "IRIX64" -o "$os" = "SunOS" -o "$os" = "HP-UX"  -o "$os" = "Darwin" ] ; then
         mach="ARCH"
+      else
+        xxx=`expr "$os" : '\(.........\).*'`
+        if [ "$xxx"  = "CYGWIN_NT" ] ; then
+          os=$xxx
+        fi
+        if [ "$os" = "OSF1" -o "$os" = "Linux" -o "$os" = "UNICOS/mp" -o "$os" = "UNIX_System_V" -o "$os" = "CYGWIN_NT" ] ; then
+          mach=`uname -m`
+        else
+          os="ARCH"
+          mach="ARCH"
+        fi
       fi
-    fi
+  fi
 fi
 
 # Found perl, so proceed with configuration
