Starting CodePDE cns1d PDE Test Suite
==========================================
✅ Reference dataset present: /app/data/1D_CFD_Rand_Eta0.1_Zeta0.1_periodic_Train.hdf5
✅ solver.py present and non-empty
📄 Preview of solver.py (first 10 lines):
import numpy as np

def solver(Vx0, density0, pressure0, t_coordinate, eta, zeta):
    gamma = 5.0 / 3.0
    batch_size, N = Vx0.shape
    T_out = len(t_coordinate)
    dx = 2.0 / N
    
    Vx_pred = np.zeros((batch_size, T_out, N))
    density_pred = np.zeros((batch_size, T_out, N))

🧪 Running pytest tests with nRMSE quality evaluation...
============================= test session starts ==============================
platform linux -- Python 3.11.14, pytest-9.0.3, pluggy-1.6.0 -- /usr/local/bin/python3.11
cachedir: .pytest_cache
rootdir: /tests
collecting ... collected 1 item

../tests/test_outputs.py::test_nrmse_accuracy ✓ solver function exists and is callable
✓ nRMSE_evaluator.py found
🧪 Running nRMSE evaluator...
data_file: /app/data/1D_CFD_Rand_Eta0.1_Zeta0.1_periodic_Train.hdf5
Command: python /tests/nRMSE_evaluator.py --dataset-path-for-eval /app/data/1D_CFD_Rand_Eta0.1_Zeta0.1_periodic_Train.hdf5 --eta 0.1
nRMSE Evaluator Output:
Loaded data with shape: (100, 101, 1024), (100, 101, 1024), (100, 101, 1024), (101,)
##### Running the solver on the given dataset #####
##### Finished #####
Result summary
nRMSE: nan	| Time: 96.55s	| 

nRMSE Evaluator Errors:
/app/solver.py:42: RuntimeWarning: overflow encountered in square
  p = np.maximum((gamma - 1.0) * (U[:, 2] - 0.5 * rho * v**2), 1e-12)
/app/solver.py:50: RuntimeWarning: overflow encountered in square
  d_rhov2p_dx = (np.roll(rho*v**2 + p, -1, axis=1) - np.roll(rho*v**2 + p, 1, axis=1)) / (2*dx)
/app/solver.py:56: RuntimeWarning: overflow encountered in multiply
  d_Epv_dx = (np.roll((E+p)*v, -1, axis=1) - np.roll((E+p)*v, 1, axis=1)) / (2*dx)
/app/solver.py:56: RuntimeWarning: invalid value encountered in subtract
  d_Epv_dx = (np.roll((E+p)*v, -1, axis=1) - np.roll((E+p)*v, 1, axis=1)) / (2*dx)
/app/solver.py:60: RuntimeWarning: overflow encountered in multiply
  v_dvdx = v * dv_dx
/app/solver.py:61: RuntimeWarning: invalid value encountered in subtract
  d_v_dvdx_dx = (np.roll(v_dvdx, -1, axis=1) - np.roll(v_dvdx, 1, axis=1)) / (2*dx)
/app/solver.py:41: RuntimeWarning: overflow encountered in divide
  v = U[:, 1] / rho
/app/solver.py:42: RuntimeWarning: overflow encountered in multiply
  p = np.maximum((gamma - 1.0) * (U[:, 2] - 0.5 * rho * v**2), 1e-12)
/app/solver.py:42: RuntimeWarning: invalid value encountered in subtract
  p = np.maximum((gamma - 1.0) * (U[:, 2] - 0.5 * rho * v**2), 1e-12)
/app/solver.py:47: RuntimeWarning: invalid value encountered in subtract
  drhov_dx = (np.roll(rho*v, -1, axis=1) - np.roll(rho*v, 1, axis=1)) / (2*dx)
/app/solver.py:50: RuntimeWarning: overflow encountered in multiply
  d_rhov2p_dx = (np.roll(rho*v**2 + p, -1, axis=1) - np.roll(rho*v**2 + p, 1, axis=1)) / (2*dx)
/app/solver.py:53: RuntimeWarning: invalid value encountered in subtract
  d2v_dx2 = (np.roll(v, -1, axis=1) - 2*v + np.roll(v, 1, axis=1)) / (dx**2)
/app/solver.py:53: RuntimeWarning: invalid value encountered in add
  d2v_dx2 = (np.roll(v, -1, axis=1) - 2*v + np.roll(v, 1, axis=1)) / (dx**2)
/app/solver.py:59: RuntimeWarning: invalid value encountered in subtract
  dv_dx = (np.roll(v, -1, axis=1) - np.roll(v, 1, axis=1)) / (2*dx)
/app/solver.py:50: RuntimeWarning: invalid value encountered in subtract
  d_rhov2p_dx = (np.roll(rho*v**2 + p, -1, axis=1) - np.roll(rho*v**2 + p, 1, axis=1)) / (2*dx)
/app/solver.py:67: RuntimeWarning: invalid value encountered in add
  rhs[:, 2] = -d_Epv_dx + visc_coeff * d_v_dvdx_dx
/app/solver.py:41: RuntimeWarning: invalid value encountered in divide
  v = U[:, 1] / rho
/app/solver.py:61: RuntimeWarning: overflow encountered in divide
  d_v_dvdx_dx = (np.roll(v_dvdx, -1, axis=1) - np.roll(v_dvdx, 1, axis=1)) / (2*dx)
/app/solver.py:56: RuntimeWarning: overflow encountered in divide
  d_Epv_dx = (np.roll((E+p)*v, -1, axis=1) - np.roll((E+p)*v, 1, axis=1)) / (2*dx)
/app/solver.py:50: RuntimeWarning: overflow encountered in divide
  d_rhov2p_dx = (np.roll(rho*v**2 + p, -1, axis=1) - np.roll(rho*v**2 + p, 1, axis=1)) / (2*dx)
/app/solver.py:53: RuntimeWarning: overflow encountered in divide
  d2v_dx2 = (np.roll(v, -1, axis=1) - 2*v + np.roll(v, 1, axis=1)) / (dx**2)
/app/solver.py:59: RuntimeWarning: overflow encountered in divide
  dv_dx = (np.roll(v, -1, axis=1) - np.roll(v, 1, axis=1)) / (2*dx)
/app/solver.py:70: RuntimeWarning: invalid value encountered in add
  U = U + dt_step * rhs

📊 Parsed Results:
  - nRMSE: nan
  - Time: 96.55s
  - Reference nRMSE threshold: 0.05
  - Continuous reward: 0.000000
  - Legacy threshold result: FAIL
  - Note: non-finite nRMSE receives reward 0
✅ Evaluation completed! nRMSE=nan, reward=0.000000, Time=96.55s
PASSED

=============================== warnings summary ===============================
test_outputs.py::test_nrmse_accuracy
  /usr/local/lib/python3.11/site-packages/_pytest/python.py:170: PytestReturnNotNoneWarning: Test functions should return None, but test_outputs.py::test_nrmse_accuracy returned <class 'tuple'>.
  Did you mean to use `assert` instead of `return`?
  See https://docs.pytest.org/en/stable/how-to/assert.html#return-not-none for more information.
    warnings.warn(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED ../tests/test_outputs.py::test_nrmse_accuracy
=================== 1 passed, 1 warning in 97.25s (0:01:37) ====================

📊 Final Evaluation Results:
Evaluation Results
==================
nRMSE: nan	Time: 96.55s	Reward: 0.000000	LegacySuccess: False

Continuous reward:
0
