num_eqn = {
        'acoustics_1D' : 2,
        'advection_1D' : 1,
        'advection_1D_py' : 1,
        'burgers_1D' : 1,
        'burgers_1D_py' : 1,
        'traffic_1D' : 1,
        'traffic_vc_1D' : 1,
        'euler_with_efix_1D' : 3,
        'euler_1D_py' : 3,
        'nonlinear_elasticity_fwave_1D' : 2,
        'nonlinear_elasticity_1D_py' : 2,
        'reactive_euler_with_efix_1D' : 4,
        'shallow_roe_with_efix_1D' : 2,
        'shallow_1D_py' : 2,
        'vc_advection_1D' : 1,
        'acoustics_2D' : 3,
        'advection_2D' : 1,
        'euler_mapgrid_2D' : 4,
        'euler_5wave_2D' : 5,
        'euler_4wave_2D' : 4,
        'kpp_2D' : 1,
        'psystem_2D' : 3,
        'shallow_roe_with_efix_2D' : 3,
        'shallow_sphere_2D' : 4,
        'vc_advection_2D' : 1,
        'vc_acoustics_2D' : 3,
        'vc_elasticity_2D' : 5,
        'vc_acoustics_3D' : 4
        }

num_waves = {
        'acoustics_1D' : 2,
        'advection_1D' : 1,
        'advection_1D_py' : 1,
        'burgers_1D' : 1,
        'burgers_1D_py' : 1,
        'traffic_1D' : 1,
        'traffic_vc_1D' : 1,
        'euler_with_efix_1D' : 3,
        'euler_1D_py' : 3,
        'nonlinear_elasticity_fwave_1D' : 2,
        'nonlinear_elasticity_1D_py' : 2,
        'reactive_euler_with_efix_1D' : 4,
        'shallow_roe_with_efix_1D' : 2,
        'shallow_1D_py' : 2,
        'vc_advection_1D' : 1,
        'acoustics_2D' : 2,
        'advection_2D' : 1,
        'euler_mapgrid_2D' : 4,
        'euler_5wave_2D' : 5,
        'euler_4wave_2D' : 4,
        'kpp_2D' : 1,
        'psystem_2D' : 2,
        'shallow_roe_with_efix_2D' : 3,
        'shallow_sphere_2D' : 3,
        'vc_advection_2D' : 1,
        'vc_acoustics_2D' : 2,
        'vc_elasticity_2D' : 4,
        'vc_acoustics_3D' : 2
        }
