Miscellaneous pre-existing issues found while reviewing #45
- Dominant language
- Python
- Stars
- 16
- Forks
- 4
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 1
Description
Three unrelated issues that came up while reviewing #45. None of them are introduced by that PR, so noting them here instead.
1. `ww3_input_generator.py:80` disables the Generate button for the duration of `on_btn_generate_clicked`, and restores it at lines 92 and 102, i.e., on the two error paths only. The success path at line 99 doesn't restore it, and `reset()` (lines 49-52) clears `WW3_INPUT_STATUS` without re-enabling the button. So after a successful generation, returning to the Wave Grid stage leaves it blocked on a `None` status, with the only button that can set that status disabled. Adding `self.disabled = False` after line 99, or moving the restore into `reset()`, should cover it.
2. `case_creator.py:44`:
```
assert is_ccs_config_writeable or not add_grids_to_ccs_config, "Cannot write to ccs_config xml files. ..."
```
`is_ccs_config_writeable` is a function (`case_tools.py:12`), so the bare name is always truthy and this assert can never fail. It is called correctly at line 276. Should be `is_ccs_config_writeable(cime)`.
3. `case_creator.py:717` and `722`, in `_apply_mom_namelist_changes`, open two datasets that are never closed, and the vgrid one isn't even bound to a name:
```
ds_topo = xr.open_dataset(topo_file_path)
...
nk = len(xr.open_dataset(vgrid_file_path).dz)
```
Both should be `with xr.open_dataset(...) as ds:`.
Contributor guide
Assessment
This issue has not been assessed yet.