E3SM-Project / polaris

Testing and analysis for OMEGA, MPAS-Ocean, MALI and MPAS-Seaice
BSD 3-Clause "New" or "Revised" License
6 stars 13 forks source link

Set config.filepath after loading new config options #138

Closed xylar closed 1 year ago

xylar commented 1 year ago

Before this merge, we were not setting a config's filepath attribute after loading the config options from a file. This causes the step to fail for cryptic reasons if it is rerun later as part of a test suite (because it failed the first time).

Checklist

xylar commented 1 year ago

Testing

When I run a custom suite with:

  ocean/spherical/icos/geostrophic
  ocean/spherical/icos/geostrophic/with_viz

and with the convergence tolerance set to 2.0 (so analysis fails), I see the expected failures with this branch, whereas for a similar test with #104, I was seeing:

Traceback (most recent call last):
  File "/gpfs/fs1/home/ac.xylar/e3sm_work/polaris/ocn-port-sphere-transport/polaris/run/serial.py", line 326, in _log_and_run_task
    baselines_passed = _run_task(task, available_resources)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/gpfs/fs1/home/ac.xylar/e3sm_work/polaris/ocn-port-sphere-transport/polaris/run/serial.py", line 399, in _run_task
    config_filename = os.path.join(step.base_work_dir,
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 90, in join
  File "<frozen genericpath>", line 152, in _check_arg_types
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'