4141 remove f90 references from both docstrings and docs#4283
4141 remove f90 references from both docstrings and docs#4283chris-ashe wants to merge 5 commits into
Conversation
|
@timothy-nunn Tagging you here is there is lots of Fortran talked about in the vmcon stuff and not sure if it should be touched |
There was a problem hiding this comment.
Pull request overview
This pull request updates the codebase documentation and inline docstrings/comments to remove or replace legacy references to Fortran (.f90) with Python (.py), aligning wording with the current Python-centric implementation.
Changes:
- Replace
.f90references in documentation pages with.pyequivalents (solver, physics, stellarator, costs, development docs). - Remove/adjust Fortran-specific phrasing in docstrings and comments across models, core solver/input, and tests.
- Minor cleanup of legacy explanatory comments tied to the former Fortran implementation.
Reviewed changes
Copilot reviewed 35 out of 35 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| tracking/tracking_data.py | Removes Fortran-specific guidance from tracking-related docstrings/comments. |
| tests/unit/models/test_pfcoil.py | Updates test docstrings/comments to remove “Fortran module variables” phrasing. |
| tests/unit/models/test_divertor.py | Updates module-level test docstring from .f90 to .py. |
| tests/unit/models/test_availability.py | Removes Fortran-specific comments around test isolation. |
| tests/unit/models/physics/test_plasma_geom.py | Updates module-level test docstring from .f90 to .py. |
| tests/unit/models/physics/test_physics.py | Updates module-level test docstring from .f90 to .py. |
| tests/unit/models/physics/test_impurity_radiation.py | Fixes docstring referencing .f90.py to .py. |
| tests/integration/test_vmcon.py | Updates fixture docstring to remove Fortran phrasing. |
| process/models/tfcoil/superconducting.py | Removes legacy Fortran behavior notes from comments. |
| process/models/tfcoil/base.py | Updates docstrings/comments to remove Fortran references. |
| process/models/stellarator/coils/coils.py | Removes comment referencing .f90 provenance for constants. |
| process/models/power.py | Removes “only used in costs.f90” note from comment. |
| process/models/physics/physics.py | Removes Fortran-loop commentary and updates output-related docstring text. |
| process/models/pfcoil.py | Updates model init docstrings and removes Fortran-specific TODO/commentary. |
| process/models/blankets/hcpb.py | Removes “only used by old routines in … .f90” comment. |
| process/models/blankets/dcll.py | Updates .f90 reference in docstring line to .py. |
| process/main.py | Rewrites top-level module docstring away from Fortran runtime description; updates various method docstrings. |
| process/data_structure/tfcoil_variables.py | Updates variable docstring references from initial.f90 to initial.py. |
| process/data_structure/numerics.py | Removes Fortran-specific comments about iteration variables and dictionary generation. |
| process/core/solver/solver_handler.py | Removes Fortran-specific initialization/output comments and adjusts docstring wording. |
| process/core/solver/iteration_variables.py | Removes Fortran-specific doc/comment text in iteration variable metadata and loading logic. |
| process/core/scan.py | Updates class docstring to remove “Fortran scan module” phrasing. |
| process/core/process_output.py | Removes a “remove when Fortran is gone” TODO comment. |
| process/core/output.py | Removes Fortran-specific parameter description in docstring. |
| process/core/io/vary_run/tools.py | Removes Fortran numbering conversion comment. |
| process/core/io/in_dat/base.py | Removes large block comments describing legacy Fortran init/indexing issues. |
| process/core/io/data_structure_dicts.py | Updates docstrings to reference input.py rather than input.f90. |
| process/core/input.py | Updates docstrings and error messages to remove “Fortran module” wording. |
| process/core/caller.py | Removes Fortran-vs-Python distinction in caller docstring. |
| documentation/source/solver/solver-guide.md | Updates solver guide reference from evaluators.f90 to evaluators.py. |
| documentation/source/physics-models/fusion_reactions/plasma_reactions.md | Updates constants.f90 references to constants.py. |
| documentation/source/fusion-devices/stellarator.md | Updates stellarator source reference from stellarator.f90 to stellarator.py. |
| documentation/source/development/standards.md | Updates standards references/examples from Fortran to Python. |
| documentation/source/development/add-vars.md | Updates variable/iteration-variable add instructions from .f90 to .py and replaces examples. |
| documentation/source/cost-models/cost-models.md | Updates costs model source reference from costs.f90 to costs.py. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| """Subroutine to output the plasma physics information | ||
| self.outfile : input integer : Fortran output unit identifier | ||
| self.outfile : file to write to | ||
| This routine writes the plasma physics information | ||
| to a file, in a tidy format. | ||
| """ |
| models : process.main.Models | ||
| physics and engineering model objects | ||
| _outfile : int | ||
| Fortran output unit identifier | ||
|
|
||
| """ |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
… mapping descriptions
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4283 +/- ##
=======================================
Coverage 48.81% 48.81%
=======================================
Files 151 151
Lines 29097 29097
=======================================
Hits 14203 14203
Misses 14894 14894 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| 3. Specify a sensible default value in the `init_XX_variables()` function within the corresponding model `.py` main file | ||
| 2. Add a description of the input variable below the declaration, using the formatting described in the standards section specifying the units. | ||
|
|
||
| 3. Assign a sensible initial value as the default type. |
There was a problem hiding this comment.
| 3. Assign a sensible initial value as the default type. | |
| 3. Assign a sensible default initial value, and a type. |
| ... | ||
| Bc2_0K: ScanVariable("Bc2(0K)", "GL_NbTi Bc2(0K)", 54), | ||
| dr_shld_inboard : ScanVariable("dr_shld_inboard", "Inboard neutronic shield", 55), | ||
| @classmethod |
There was a problem hiding this comment.
I'm not sure if the _missing_ method needs to be in this docs page?
| """ | ||
| current_value = getattr(config.module, name, ...) | ||
|
|
||
| # use ... sentinel because None is probably a valid return from Fortran |
There was a problem hiding this comment.
Could this be reworded instead of being deleted? As some variables have initial values set as None , and keeping a comment here would explain why we are using ... ?
| load_iteration_variables(self.data) | ||
| load_scaled_bounds() | ||
|
|
||
| # Initialise iteration variables and bounds in Python: relies on Fortran |
There was a problem hiding this comment.
Could this be reworded instead of being deleted? As some variables have initial values set as None , and keeping a comment here would explain why we are using ... ?
| if isinstance(value, np.ndarray): | ||
| value = value.item() | ||
| if isinstance(value, bytes): | ||
| # TODO: remove when Fortran is gone |
There was a problem hiding this comment.
Does the line below need removing, or has this TODO already been done?
| n_tf_stress_layers: int = 0 | ||
| """Number of layers considered for the inboard TF stress calculations | ||
| set in initial.f90 from i_tf_bucking and n_tf_graded_layers | ||
| set in initial.py from i_tf_bucking and n_tf_graded_layers |
There was a problem hiding this comment.
I'm not sure this file exists?


Description
Checklist
I confirm that I have completed the following checks: