Skip to content

Commit 0339d59

Browse files
authored
docs(rtd): introduce migration guide page (#2287)
The MF6.6.0 PRT migration guide was shown in the API docs site rather than the RTD, because it's located in the src/ directory. Introduce a new page on the RTD site for version-specific migration guides and add a step copying the guide to the docs directory before building the RTD site. We currently do this for several files scattered throughout the repo — maybe eventually we can consolidate all or most of these in the docs folder. In the longer term, we have discussed consolidating our RTD and PDF docs. Maybe at that point migration guides can become part of the release notes PDF too. Also add the extended build docs to the developer section, and fix a lingering reference to the old organization name.
1 parent 29e0dc0 commit 0339d59

File tree

17 files changed

+83
-37
lines changed

17 files changed

+83
-37
lines changed

.build_rtd_docs/conf.py

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -44,51 +44,64 @@
4444
# -- import version from doc/version.py -------------------------------------
4545
from version import __version__
4646

47-
# -- copy run-time comparison markdown --------------------------------------
48-
print("Copy the run-time comparison table")
4947
dstdir = "_mf6run"
50-
fpth = "run-time-comparison.md"
51-
src = os.path.join("..", "distribution", fpth)
52-
dst = os.path.join(dstdir, fpth)
53-
# clean up an existing _mf6run directory
5448
if os.path.isdir(dstdir):
5549
shutil.rmtree(dstdir)
56-
# make the _mf6run directory
5750
os.makedirs(dstdir)
58-
# copy the file
51+
52+
print(f"Copy run-time comparison table to {dstdir}")
53+
fpth = "run-time-comparison.md"
54+
src = os.path.join("..", "distribution", fpth)
55+
dst = os.path.join(dstdir, fpth)
5956
shutil.copy(src, dst)
6057

61-
# -- copy developer docs
6258
dstdir = "_dev"
63-
fpth = "DEVELOPER.md"
64-
src = os.path.join("..", fpth)
65-
dst = os.path.join(dstdir, fpth.lower())
66-
# clean up an existing _mf6run directory
6759
if os.path.isdir(dstdir):
6860
shutil.rmtree(dstdir)
69-
# make the directory
7061
os.makedirs(dstdir)
71-
# copy the file
62+
63+
print(f"Copy developer docs to {dstdir}")
64+
fpth = "DEVELOPER.md"
65+
src = os.path.join("..", fpth)
66+
dst = os.path.join(dstdir, fpth)
7267
shutil.copy(src, dst)
7368

74-
# -- copy contributor docs
7569
fpth = "CONTRIBUTING.md"
7670
src = os.path.join("..", fpth)
77-
dst = os.path.join(dstdir, fpth.lower())
71+
dst = os.path.join(dstdir, fpth)
7872
shutil.copy(src, dst)
7973

80-
# -- copy style guide
8174
fpth = "styleguide.md"
8275
src = os.path.join(fpth)
8376
dst = os.path.join(dstdir, fpth)
8477
shutil.copy(src, dst)
8578

86-
# -- copy DFN spec
8779
fpth = "readme.md"
8880
src = os.path.join("..", "doc", "mf6io", "mf6ivar", fpth)
8981
dst = os.path.join(dstdir, "dfn.md")
9082
shutil.copy(src, dst)
9183

84+
fpth = "EXTENDED.md"
85+
src = os.path.join("..", fpth)
86+
dst = os.path.join(dstdir, fpth)
87+
shutil.copy(src, dst)
88+
89+
fpth = "CODE_OF_CONDUCT.md"
90+
src = os.path.join("..", fpth)
91+
dst = os.path.join(dstdir, fpth)
92+
shutil.copy(src, dst)
93+
94+
dstdir = "_migration"
95+
if os.path.isdir(dstdir):
96+
shutil.rmtree(dstdir)
97+
os.makedirs(dstdir)
98+
99+
print(f"Copy migration guides to {dstdir}")
100+
fpth = "mf6_6_0_prt_migration_guide.md"
101+
src = os.path.join("..", "src", "Solution", "ParticleTracker", fpth)
102+
dst = os.path.join(dstdir, fpth)
103+
shutil.copy(src, dst)
104+
92105
# -- build the deprecations table --------------------------------------------
93106
print("Build the deprecations markdown table")
94107
pth = os.path.join("..", "doc", "mf6io", "mf6ivar")
@@ -168,6 +181,7 @@
168181
"nbsphinx_link",
169182
"myst_parser",
170183
"sphinx_markdown_tables",
184+
"sphinxcontrib.mermaid",
171185
]
172186

173187
# # Tell sphinx what the pygments highlight language should be.

.build_rtd_docs/dev.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
Developer Guide
22
---------------
33

4-
This section includes developer instructions and conventions.
4+
This section contains developer documentation, including contributor conventions, instructions for common tasks, internal specifications, and more.
55

66
.. toctree::
77
:maxdepth: 1
88
:glob:
99

10-
_dev/contributing.md
11-
_dev/developer.md
10+
_dev/CODE_OF_CONDUCT.md
11+
_dev/CONTRIBUTING.md
12+
_dev/DEVELOPER.md
13+
_dev/EXTENDED.md
1214
_dev/styleguide.md
1315
_dev/dfn.md

.build_rtd_docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ Contents:
1616
_mf6run/deprecations.md
1717
mf6io
1818
dev
19-
19+
migration

.build_rtd_docs/migration.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Migration Guides
2+
----------------
3+
4+
This section includes version-specific migration guides for particular models and/or capabilities.
5+
6+
.. toctree::
7+
:maxdepth: 1
8+
:glob:
9+
10+
_migration/mf6_6_0_prt_migration_guide

.build_rtd_docs/styleguide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Fortran Style Guide
1+
# MODFLOW 6 Fortran style guide
22

33
The goal of this guide is to provide a standard for MODFLOW 6 contributors to follow, in pursuit of consistent, readable, well-organized, and unsurprising source code.
44

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ CMakeFiles/
114114
.build_rtd_docs/_mf6src
115115
.build_rtd_docs/_mf6run
116116
.build_rtd_docs/_dev
117+
.build_rtd_docs/_migration
117118
latex/
118119
html/
119120
xml/

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ message: If you use this software, please cite the software itself.
33
type: software
44
title: MODFLOW 6 Modular Hydrologic Model
55
version: 6.7.0.dev1
6-
date-released: '2025-02-10'
6+
date-released: '2025-04-21'
77
doi: 10.5066/F76Q1VQV
88
abstract: MODFLOW 6 is an object-oriented program and framework developed to provide
99
a platform for supporting multiple models and multiple types of models within the

DEVELOPER.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Developing MODFLOW 6
22

3-
This document describes how to set up a development environment to modify, build and test MODFLOW 6. Details on how to contribute your code to the repository are found in the separate document [CONTRIBUTING.md](CONTRIBUTING.md).
3+
This document describes how to set up a development environment to modify, build and test MODFLOW 6. Details on how to contribute your code to the repository are found in the separate document [CONTRIBUTING.md](./CONTRIBUTING.md).
44

5-
To build and test an extended version of the program, first read the instructions below and then continue in [EXTENDED.md](EXTENDED.md).
5+
To build and test an extended version of the program, first read the instructions below and then continue in [EXTENDED.md](./EXTENDED.md).
66

77
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
88
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

EXTENDED.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Developing in extended MODFLOW 6
1+
# Developing extended MODFLOW 6
22

33
This document describes how to set up your build environment for developing and testing the extended version of MODFLOW. It further builds on the instructions given in [DEVELOPER.md](DEVELOPER.md) so make sure to read those first.
44

@@ -118,7 +118,7 @@ Extended MODFLOW was designed to have all third party functionality (MPI, PETSc
118118

119119
---
120120

121-
## Testing the extended of MODFLOW 6
121+
## Testing the extended version of MODFLOW 6
122122

123123
Extended MODFLOW can be tested using the same test framework as the serial program, with just a few modifications. To run a test inside the `autotest` folder in parallel mode, make sure to add a marker `@pytest.mark.parallel` so that the test is only executed in the Continuous Integration when running a configuration with an extended build of MODFLOW. Similarly, adding the marker `@pytest.mark.netcdf` to a test ensures that the test will only be executed when intended by specifying NetCDF test mode.
124124

code.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"laborHours": -1,
2121
"version": "6.7.0.dev1",
2222
"date": {
23-
"metadataLastUpdated": "2025-02-10"
23+
"metadataLastUpdated": "2025-04-21"
2424
},
2525
"organization": "U.S. Geological Survey",
2626
"permissions": {

0 commit comments

Comments
 (0)