Update supported version of PETSc for PFLOTRAN?

54 views
Skip to first unread message

Richard Tran Mills

unread,
Sep 1, 2021, 7:41:24 PM9/1/21
to pflotr...@googlegroups.com
Colleagues,

I am wondering if we can update the "supported" version of PETSc that users are instructed to use at

  https://www.pflotran.org/documentation/user_guide/how_to/installation/linux.html#installation-instructions

which is still sitting at the v3.13 tag. Satish Balay has noticed that we are getting a lot of email messages to petsc-maint about build failures with v3.13 that are associated with issues that we have already fixed, and we think this is mostly coming from PFLOTRAN users who are following the PFLOTRAN installation instructions.

I suggest that we move to the latest release of PETSc (3.15), which PFLOTRAN seems to build against and run with just fine. If there is a particular reason that we need to stick with the 3.13 release, though, then I would at least suggest that we tell users to 'git checkout release-3.13', which will give them all of the latest release fixes (so this would point to v3.13.6 right now).

In fact, although I know that there is a desire to change the supported release of PETSc infrequently to make testing, etc., more consistent, I think as a general rule that it would be good to tell users to checkout a "release" branch rather than a specific tag of PETSc. This will mean slight changes to the exact version of PETSc being used, but it also means that bug fixes to the release will be incorporated. What do the other developers think of this?

Best regards,
Richard

Hammond, Glenn E

unread,
Sep 2, 2021, 11:22:37 AM9/2/21
to pflotr...@googlegroups.com

It makes sense to track the release-X.X tag.  I believe that this is a new feature.  I used to recommend the maint/* branch, but I see that those branches no longer exist.  Is that true?  I do not feel comfortable updating the petsc version tied to PFLOTRAN 3.0 as that kind of violates our release policy.  I could see this happening with a PFLOTRAN 3.1 release, but the next release will be 4.0 as there are currently backwards incompatible changes.

 

Glenn

 

From: 'Richard Tran Mills' via pflotran-dev <pflotr...@googlegroups.com>
Sent: Wednesday, September 1, 2021 4:41 PM
To: pflotr...@googlegroups.com
Subject: [pflotran-dev: 6076] Update supported version of PETSc for PFLOTRAN?

 

Check twice before you click! This email originated from outside PNNL.

 

--
You received this message because you are subscribed to the Google Groups "pflotran-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pflotran-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pflotran-dev/55c65f1f-c790-dca9-85f0-c089a3afb719%40anl.gov.

Richard Tran Mills

unread,
Sep 2, 2021, 2:03:14 PM9/2/21
to pflotr...@googlegroups.com
Hi Glenn,

When PETSc switched from using a 'master' branch to 'main' (in keeping with the new default branch names used by Github and Gitlab), we also changed the 'maint' branch to 'release', since 'maint' was too easy to confuse with 'main'. So it's still basically there, just called 'release'. The way we do development on these branches, by the way, is that new features go in 'main' but any fixes that are applicable to the current release go into 'release', and then 'release' gets merged into 'main'.

(Going off on a bit of a tangent here, I think that it might be a good idea to do something similar with PFLOTRAN and also have a 'release' branch that the different release tags live on and that applicable fixes start in. Or do you now have some model like this that I'm just not aware of?)

Regarding the release policy, is this codified anywhere? I'd expect to see this somewhere in the documentation (maybe in the Developers' Guide?), but I can't find it. What is the policy regarding PETSc versions and the development branch ('master') vs. the release? (To support cases where we decide to move to a new PETSc version for 'master' that doesn't match the supported version for a PFLOTRAN release, it is probably good to have a 'release' branch like I've mentioned above.)

I understand your motivation in not changing the supported version of PETSc for an existing PFLOTRAN release. I do think it might be helpful to users if we could update the installation instructions to

1) Specify that users should checkout the PETSc release branch corresponding to the PETSc MAJOR.minor release (e.g., 3.13) instead of specifying a specific tag (which refers to a MAJOR.minor.subminor version).

2) Note, when applicable, if a newer version of PETSc is known to work with PFLOTRAN even though it is not the officially supported version. I'm pretty sure that we sometimes get PFLOTRAN users who would like to use a system-wide install of PETSc that would actually work for their purposes, but struggle with installing an older version themselves because of what the PFLOTRAN installation instructions say. (Appropriate disclaimer that the newer versions of PETSc are not officially supported should appear.)

--Richard

Hammond, Glenn E

unread,
Sep 2, 2021, 2:15:25 PM9/2/21
to pflotr...@googlegroups.com

Richard Tran Mills

unread,
Sep 3, 2021, 1:40:35 PM9/3/21
to pflotr...@googlegroups.com
Thanks, Glenn. I'm not sure how I overlooked this. It's helpful to have this written down somewhere. One thing that I did not see in there is what the process is for updating the supported version of PETSc for the PFLOTRAN master branch. Can you give some clarification?

Also, what did you think of my two suggestions in my previous email message about updating the installation instructions?

Thanks,
Richard

Hammond, Glenn E

unread,
Sep 4, 2021, 12:51:02 AM9/4/21
to pflotr...@googlegroups.com

From: 'Richard Tran Mills' via pflotran-dev <pflotr...@googlegroups.com>

Sent: Friday, September 3, 2021 10:40 AM
To: pflotr...@googlegroups.com
Subject: Re: [pflotran-dev: 6080] Update supported version of PETSc for PFLOTRAN?

 

Thanks, Glenn. I'm not sure how I overlooked this. It's helpful to have this written down somewhere. One thing that I did not see in there is what the process is for updating the supported version of PETSc for the PFLOTRAN master branch. Can you give some clarification?

There is no formal protocol, but we generally use the latest PETSc release when the PFLOTRAN release occurs.  The history is stored at

http://doc-dev.pflotran.org/user_guide/how_to/installation/previous_petsc_releases.html#previous-petsc-releases



Also, what did you think of my two suggestions in my previous email message about updating the installation instructions?

https://bitbucket.org/pflotran/pflotran-documentation/pull-requests/82 for #1

Not sure what the request is for #2, but use at one’s own risk if it compiles.

Glenn

Thanks,
Richard

Richard Tran Mills

unread,
Sep 14, 2021, 12:59:34 PM9/14/21
to pflotr...@googlegroups.com
Hi Glenn,

Thanks for updating the instructions to specify use of the 'release-3.13' branch. I note that this makes obsolete the note right below step 3.1 of the instructions that I see at https://www.pflotran.org/documentation/user_guide/how_to/installation/linux.html#linux-install:

NOTE:PFLOTRAN currently uses a snapshot of PETSc ‘maint’ (release) branch. The only supported snapshot/version is specified by the changeset-id above. The supported version will change periodically as we need bug fixes or new features and changes will be announced on the mailing lists. The supported version of petsc is used on the buildbot automated testing system.

But I don't see this note in source/user_guide/how_to/installation/linux.rst of the pflotran-documentation repo. Does this web page get generated from some other source file?

Regarding my second point, below, I was just thinking we could add something like "NOTE: PFLOTRAN will likely work with more recent PETSc snapshots, but the only officially *supported* version is given by the branch name above". So, yeah, "use at your own risk".

Best regards,
Richard
Reply all
Reply to author
Forward
0 new messages