コード例 #1
0
 def test_no_results_dir(self, m_logger, run_type, itend, restart_timestep, config):
     with patch("nowcast.workers.watch_NEMO.Path.exists") as m_exists:
         m_exists.side_effect = (False, False, True, True)
         with patch("nowcast.workers.watch_NEMO.Path.open") as m_open:
             m_open().__enter__().read.return_value = f"{itend}\n"
             run_succeeded = watch_NEMO._confirm_run_success(
                 "arbutus.cloud",
                 run_type,
                 arrow.get("2017-11-16"),
                 Path("tmp_run_dir"),
                 itend,
                 restart_timestep,
                 config,
             )
     assert not run_succeeded
コード例 #2
0
 def test_no_tracer_stat_file(self, m_logger, config):
     with patch("nowcast.workers.watch_NEMO.Path.exists") as m_exists:
         m_exists.side_effect = (True, False, True, True)
         with patch("nowcast.workers.watch_NEMO.Path.open") as m_open:
             m_open().__enter__().read.return_value = "2160\n"
             m_open.side_effect = FileNotFoundError
             run_succeeded = watch_NEMO._confirm_run_success(
                 "arbutus.cloud",
                 "nowcast-green",
                 arrow.get("2017-11-16"),
                 Path("tmp_run_dir"),
                 2160,
                 2160,
                 config,
             )
     assert "tracer.stat" in m_logger.critical.call_args_list[3][0][0]
     assert not run_succeeded
コード例 #3
0
 def test_no_solver_stat_file(
     self, m_logger, run_type, itend, restart_timestep, config
 ):
     with patch("nowcast.workers.watch_NEMO.Path.exists") as m_exists:
         m_exists.side_effect = (True, False, True, True)
         with patch("nowcast.workers.watch_NEMO.Path.open") as m_open:
             m_open.side_effect = FileNotFoundError
             run_succeeded = watch_NEMO._confirm_run_success(
                 "arbutus.cloud",
                 run_type,
                 arrow.get("2017-11-16"),
                 Path("tmp_run_dir"),
                 itend,
                 restart_timestep,
                 config,
             )
     assert "solver.stat" in m_logger.critical.call_args_list[2][0][0]
     assert not run_succeeded
コード例 #4
0
 def test_no_tracers_restart_file(self, m_logger, config):
     restart_timestep = 2160
     with patch("nowcast.workers.watch_NEMO.Path.exists") as m_exists:
         m_exists.side_effect = (True, False, True, False)
         with patch("nowcast.workers.watch_NEMO.Path.open") as m_open:
             m_open().__enter__().read.return_value = "2160\n"
             run_succeeded = watch_NEMO._confirm_run_success(
                 "arbutus.cloud",
                 "nowcast-green",
                 arrow.get("2017-11-16"),
                 Path("tmp_run_dir"),
                 2160,
                 restart_timestep,
                 config,
             )
     expected = f"SalishSea_{restart_timestep:08d}_restart_trc.nc"
     assert expected in m_logger.critical.call_args[0][0]
     assert not run_succeeded
コード例 #5
0
 def test_nan_in_tracer_stat(self, m_logger, config):
     with patch("nowcast.workers.watch_NEMO.Path.exists") as m_exists:
         m_exists.side_effect = (True, False, True, True)
         with patch("nowcast.workers.watch_NEMO.Path.open") as m_open:
             m_open().__enter__().read.return_value = "2160\n"
             m_open().__enter__().__iter__.return_value = (
                 "foo bar\n",
                 "it : 43 ssh2: 0.8313118488E+05 Umax: 0.2450101238E+01\n"
                 "43  NaN\n",
             )
             run_succeeded = watch_NEMO._confirm_run_success(
                 "arbutus.cloud",
                 "nowcast-green",
                 arrow.get("2017-11-16"),
                 Path("tmp_run_dir"),
                 2160,
                 2160,
                 config,
             )
     assert not run_succeeded
コード例 #6
0
 def test_nan_in_solver_stat(
     self, m_logger, run_type, itend, restart_timestep, config
 ):
     with patch("nowcast.workers.watch_NEMO.Path.exists") as m_exists:
         m_exists.side_effect = (True, False, True, True)
         with patch("nowcast.workers.watch_NEMO.Path.open") as m_open:
             m_open().__enter__().read.return_value = f"{itend}\n"
             m_open().__enter__().__iter__.return_value = (
                 "foo bar\n",
                 "it : 43 ssh2: NaN Umax: 0.2450101238E+01\n",
             )
             run_succeeded = watch_NEMO._confirm_run_success(
                 "arbutus.cloud",
                 run_type,
                 arrow.get("2017-11-16"),
                 Path("tmp_run_dir"),
                 itend,
                 restart_timestep,
                 config,
             )
     assert not run_succeeded