title: Explicit interface required for subroutines
body: <p>I am trying to compile a package written mainly in F90 that looks like this:</p>
  
  <pre><code>subroutine soil_default_fill(cgrid,ifm,ipy)
  
  implicit none
  !----- Arguments -----------------------------------------------------------------------!
  type(edtype) , target       :: cgrid
  integer      , intent(in)   :: ifm
  integer      , intent(in)   :: ipy
  !----- Local variables -----------------------------------------------------------------!
  
  STUFF
  
  return
  end subroutine soil_default_fill
  !==========================================================================================!
  
  
  subroutine set_site_defprops()
  
     implicit none 
     !----- Local variables -----------------------------------------------------------------!
     type(edtype)     , pointer :: cgrid
     integer                    :: ifm
     integer                    :: ipy
  
  STUFF
           call soil_default_fill(cgrid,ifm,ipy)
  
           STUFF
  
  
     return
  end subroutine set_site_defprops
  !==========================================================================================!
  </code></pre>
  
  <p>When I try to compile I get the following error:</p>
  
  <pre><code>mpif90 -c -DUSE_INTERF=1 -DUSENC=0 -DMAC_OS_X -DUSE_HDF5=1 -DUSE_COLLECTIVE_MPIO=0 -DUSE_MPIWTIME=0 -O3 -ffree-line-length-none -fno-whole-file  -I/Users/manfredo/Desktop/ED2/ED/src/include -I/usr/hdf5/include   -DRAMS_MPI ed_init.F90
  
  ed_init.F90:131.31:
  
           call soil_default_fill(cgrid,ifm,ipy)
                                 1
  Error: Explicit interface required for 'soil_default_fill' at (1): target argument
  make[1]: *** [ed_init.o] Error 1
  make: *** [all] Error 2
  </code></pre>
  
  <p>I already tried to include the subroutine in an interface or in a module but it didn't worked (as I said I am new to Fortran so it is likely that I made some mistakes).</p>
  
  <p>Thanks for help</p>