<div dir="ltr">Thank you for your answer.<div><br></div><div>It is not true that F2003 support is that limited: Gfortran, Intel Fortran, Cray Fortran, IBM Fortran and PGI Fortran all support nearly full F2003. Some other ones support the C portability of F2003 although not supporting the rest.</div>


<div><br></div><div>* I can contribute on creating this interface. I have experience with F2003 to C++ and it works fine while C is a lot easier. My idea is to create the F03 interface to petsc as a separate tool. So, anyone trying to use petsc with a F03 compiler can compile this interface again to avoid the compiler inconsistency of Modules. <br>


</div><div><br></div><div>We can work on a python (or similar) script to generate the interfaces. For example, a project called gtk-fortran uses this method. Can any of you guys help a little for planning the interface design?</div>


<div><br></div><div><br></div><div>Cheers</div><div>Hossein</div><div><br></div><div><br></div><div><br></div><div> </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div> </div><div class="gmail_extra">


<br><br><div class="gmail_quote">On Sun, Oct 27, 2013 at 4:42 PM, Satish Balay <span dir="ltr"><<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>On Sun, 27 Oct 2013, Matthew Knepley wrote:<br>
<br>
> On Sun, Oct 27, 2013 at 6:16 AM, Hossein Talebi <<a href="mailto:talebi.hossein@gmail.com" target="_blank">talebi.hossein@gmail.com</a>>wrote:<br>
><br>
> >  Hello All,<br>
> ><br>
> > I am trying to use petsc with Fortran. The initial mechanism to use petsc<br>
> > with FORTRAN77 that works fine. However, I found the Fortran 90 interfaces<br>
> > difficult to work with. The very first issue is one has to recompile petsc<br>
> > with the Fortran compiler in case different to the one which was used to<br>
> > create the Fortran Mod files.<br>
<br>
</div>Yes - one cannot mix fortran code compiled with 2 different compilers<br>
- or 2 different version of the same compiler wrt modules.<br>
<br>
But we generally recommend not mixing compilers   for C aswell as       this<br>
can cause problems.<br>
<br>
Also you don't need to use modules to get f90 interfaces. You can include<br>
the f90 interface include files    directly in your code.<br>
<br>
#incude "finclude/petsc.h90"<br>
<div><br>
> > Also, we would still need to use C type<br>
> > #include statements along with Fortran 'use' statement which is not so<br>
> > optimal.<br>
<br>
</div>Even if you were to use f90 modules #include is unavoidable as we still<br>
have other stuff in include files.<br>
<br>
check include/finclude/petscsysdef.h  include/finclude/petscsys.h<br>
<div><br>
> > Since Fortran 2003 offers great interface to C, did anyone try to write a<br>
> > F03 interface to petsc? Using F03 features, we can have very low data<br>
> > access to petsc database as well.<br>
> ><br>
><br>
> F2003 support is fairly thin in the compiler world, and we have not had<br>
> much call for it. We do gratefully accept contributions.<br>
<br>
</div>Currently we have the f90 interfaces [in include/finclude/ftn-auto/]<br>
automatically generated by bfort tool from the C interface. So to<br>
support F03 it would be ideal if there is such a tool. [or update<br>
bfort to do it]<br>
<span><font color="#888888"><br>
Satish<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div><div dir="ltr"></div>
</div></div>