<div dir="ltr">On Thu, Sep 5, 2013 at 3:18 PM, Satish Balay <span dir="ltr"><<a href="mailto:balay@mcs.anl.gov" target="_blank">balay@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 5 Sep 2013, Mark F. Adams wrote:<br>
<br>
><br>
> On Sep 5, 2013, at 12:39 PM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>
><br>
> > On Thu, Sep 5, 2013 at 11:35 AM, Mark F. Adams <<a href="mailto:mfadams@lbl.gov">mfadams@lbl.gov</a>> wrote:<br>
> ><br>
> > On Sep 5, 2013, at 6:16 AM, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> wrote:<br>
> ><br>
> >> On Thu, Sep 5, 2013 at 1:19 AM, Mark F. Adams <<a href="mailto:mfadams@lbl.gov">mfadams@lbl.gov</a>> wrote:<br>
> >> In <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscInitialize.html" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscInitialize.html</a> I see:<br>

> >><br>
> >> file       - [optional] PETSc database file, also checks ~username/.petscrc and .petscrc use NULL to not check for code specific file. Use -skip_petscrc in the code specific file to skip the .petscrc files<br>

> >><br>
> >> I don't understand what "Use -skip_petscrc in the code specific file" means.  In looking at the code it seems like this line should read something like:<br>
> >><br>
> >> … If you do not want to use a resource file, use NULL and add -skip_petscrc to the command line.<br>
> >><br>
> >> Here is what it is trying to say. There are three files we can check:<br>
> >><br>
> >>  1) ~username/.petscrc<br>
> >>  2) cwd/.petscrc<br>
> >>  3) "code specific file", whose name is passed into PetscIntitialize()<br>
> >><br>
> >> If you pass in NULL to PetscInitialize(), it will not check option 3). If you pass in a real name to PetscIntiialize(), and<br>
> >> in the "code specific file" you put -skpi_petscrc, then it will not check options 1) and 2).<br>
> ><br>
> > OK, I'm being dense but I think to be explicit you need to add "If you pass in NULL and use -skip_petscrc on the command line then no files will be checked."<br>
> ><br>
> > I wanted to not have files get checked and added -skip_petscrc to the command line but this was not sufficient.  I needed to change the code to use NULL (or I told my user to do so).  Sorry but I could not figure this out from the docs or even your better explanation w/o looking at the code.  It is natural to want to just add a command line option w/o recompiling, and this would be possible (not that I'm volunteering to do it) and would fit the PETSc philosophy of using command lines args and not user code to control.  Perhaps this is a dummy proof doc:<br>

> ><br>
> > There are three files we can check:<br>
> ><br>
> >  1) ~username/.petscrc<br>
> >  2) cwd/.petscrc and cwd/petscrc<br>
> >  3) This code specific file.<br>
> ><br>
> > If you pass in NULL, it will not check option 3) and if you additionally use -skip_petsc on the command line then no files will checked. If you pass in a real file name, and you put -skpi_petscrc in this file, then it will not check options 1) and 2).<br>

> ><br>
> > Why don't we change it so that not even the "code specific file" is checked with passing -skip_petscrc? I think this makes more sense<br>
> > and it would solve Mark's problem, and likely other future problems.<br>
><br>
> This would be easy to do.  Satish's suggestion of a new parameter -skip_useroptfile would work too but and more stuff … I would vote for Matt's solution.<br>
<br>
One issue is: command line arguments are not always available [some<br>
fortran compilers - whose internals we don't know about or get changed<br>
in subsequent releases].<br>
<br>
We also have PETSC_OPTIONS env variable. Perhaps we might have to call<br>
load this up twice [similar to PetscOptionsInsertArgs_Private() - the<br>
first time to capture -skip_petscrc] - and the second time for<br>
precedence rule..</blockquote><div><br></div><div>I am not sure what you are trying to accomplish. If there are no command line args, fine, do it the</div><div>old way. I am just saying that if they are available, this is better semantics.</div>
<div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
Satish</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>