title: Fortran .exe's no longer "self-contained"?
body: <p>I use a small in-house cluster (approx. 31 machines) to help complete parallel runs of a numerical groundwater model.  After the groundwater model completes, a short post-processor manipulates some data for use by a code that is collecting output from the parallel runs.  It used to be that the post-processor, written in fortran and compiled using intel's visual fortran from inside Vis. Studio 2010, was distribute-able, meaning I could place the .exe in amongst the other files that were distributed across the cluster and run on the various machines.  Now, however, if I compile the very same fortran using visual studio 2012 with Intel Fortran XE 2013, I get an error on the cluster machines stating, "The program can't start because MSVCRR110.dll is missing from your computer.  Try reinstalling the program to fix this probelm."  </p>
  
  <p>One of the reasons I like using Fortran is that it used to be self-contained.  In other words, if I wrote small programs to do some short pithy task in another language, say R or Python, then I have to either install these programs on all the cluster machines or else "sandbox" the programs in with my distributed files.  Forget about trying to use C# or VB etc., because then the cluster machines would need to have .NET framework installed.  For the time being I can go back and use VS2010 to compile, but I don't anticipate having this option available to me much longer.  Is there another alternative for keeping fortran programs "self-contained" in VS2012?  As you can see in the code below, nothing complicated and no reason for it not be a self-contained executable:</p>
  
  <pre><code>program Calc_Seep
  
  implicit none
  
  ! Variables
  integer       reason
  real          wp,time,ft,fts,fr,fo,fst,fro,loss1,loss2,loss3
  character (len=120) line
  character*50  txt
  character*20  fmt
  
  wp = 9.38              !a needed constant value
  !read(*,*) txt
  open(5,file='balance.out') 
  read(5,'(A)') line
  
  do while (.NOT.line.EQ.'')
      read(5,'(A)',IOSTAT=Reason) line
      if (Reason &lt; 0) exit
  end do
  
  read(line,*)  time,ft,fts,fr,fo,fst,fro
  
  !acre-ft/mi/yr
  loss1 = (ft/time)*0.3048*5280*208*24/(0.3048**3)/43560.17
  !ft/day
  loss2 = (ft/time)*24/(0.3048**2)/wp
  !cfs/mi
  loss3 = (ft/time)*24/(0.3048**2)*5280/86400
  
  close(5)
  
  !now write the processed values to a file
  open(5,file="Seepage.out")
  write(5,'(A)') "acre-ft/mi/yr       ft/day       cfs/mi"
  write(5,100) loss1, loss2, loss3
  100 format(3f13.6)
  close(5)
  
  end program Calc_Seep
  </code></pre>