Coverage report: 84%

Files Functions Classes

coverage.py v7.13.5, created at 2026-04-27 06:32 +0000

File function   statements missing excluded   coverage
src / gwtransport / __init__.py (no function)   2 0 0   100%
src / gwtransport / advection.py infiltration_to_extraction_series   5 2 0   60%
src / gwtransport / advection.py extraction_to_infiltration_series   5 2 0   60%
src / gwtransport / advection.py gamma_infiltration_to_extraction   2 0 0   100%
src / gwtransport / advection.py gamma_extraction_to_infiltration   2 0 0   100%
src / gwtransport / advection.py infiltration_to_extraction   27 6 0   78%
src / gwtransport / advection.py extraction_to_infiltration   23 6 0   74%
src / gwtransport / advection.py _validate_front_tracking_inputs   65 26 0   60%
src / gwtransport / advection.py _flow_weighted_front_tracking_output   19 0 0   100%
src / gwtransport / advection.py infiltration_to_extraction_front_tracking   9 0 0   100%
src / gwtransport / advection.py infiltration_to_extraction_front_tracking_detailed   12 0 0   100%
src / gwtransport / advection.py (no function)   21 0 0   100%
src / gwtransport / advection_utils.py _infiltration_to_extraction_weights   36 2 0   94%
src / gwtransport / advection_utils.py (no function)   6 0 0   100%
src / gwtransport / deposition.py compute_deposition_weights   17 0 0   100%
src / gwtransport / deposition.py deposition_to_extraction   25 10 0   60%
src / gwtransport / deposition.py extraction_to_deposition   46 9 0   80%
src / gwtransport / deposition.py extraction_to_deposition_full   25 12 0   52%
src / gwtransport / deposition.py spinup_duration   12 4 0   67%
src / gwtransport / deposition.py (no function)   13 0 0   100%
src / gwtransport / deposition_utils.py _positive_part_integral   7 0 0   100%
src / gwtransport / deposition_utils.py _clipped_linear_integral   4 0 0   100%
src / gwtransport / deposition_utils.py compute_average_heights   10 0 0   100%
src / gwtransport / deposition_utils.py (no function)   5 0 0   100%
src / gwtransport / diffusion.py _erf_integral_space   25 1 0   96%
src / gwtransport / diffusion.py _erf_mean_volume   86 0 0   100%
src / gwtransport / diffusion.py _infiltration_to_extraction_coeff_matrix   34 0 0   100%
src / gwtransport / diffusion.py infiltration_to_extraction   60 14 0   77%
src / gwtransport / diffusion.py extraction_to_infiltration   54 14 0   74%
src / gwtransport / diffusion.py gamma_infiltration_to_extraction   2 0 0   100%
src / gwtransport / diffusion.py gamma_extraction_to_infiltration   2 0 0   100%
src / gwtransport / diffusion.py (no function)   17 0 0   100%
src / gwtransport / diffusion_fast.py infiltration_to_extraction   29 1 0   97%
src / gwtransport / diffusion_fast.py extraction_to_infiltration   23 0 0   100%
src / gwtransport / diffusion_fast.py gamma_infiltration_to_extraction   2 0 0   100%
src / gwtransport / diffusion_fast.py gamma_extraction_to_infiltration   2 0 0   100%
src / gwtransport / diffusion_fast.py _compute_sigma   17 0 0   100%
src / gwtransport / diffusion_fast.py _check_uniform_tedges   6 0 0   100%
src / gwtransport / diffusion_fast.py _build_gaussian_matrix   33 0 0   100%
src / gwtransport / diffusion_fast.py convolve_diffusion   10 0 0   100%
src / gwtransport / diffusion_fast.py create_example_data   7 0 0   100%
src / gwtransport / diffusion_fast.py _validate_inputs   42 18 0   57%
src / gwtransport / diffusion_fast.py _warn_dispersion   2 0 0   100%
src / gwtransport / diffusion_fast.py (no function)   22 0 0   100%
src / gwtransport / examples.py generate_example_data   59 18 0   69%
src / gwtransport / examples.py generate_temperature_example_data   4 4 0   0%
src / gwtransport / examples.py generate_ec_example_data   4 4 0   0%
src / gwtransport / examples.py generate_example_deposition_timeseries   23 3 0   87%
src / gwtransport / examples.py (no function)   16 0 0   100%
src / gwtransport / fronttracking / __init__.py (no function)   0 0 0   100%
src / gwtransport / fronttracking / events.py Event.__lt__   1 0 0   100%
src / gwtransport / fronttracking / events.py Event.__repr__   0 0 11   100%
src / gwtransport / fronttracking / events.py find_characteristic_intersection   15 1 0   93%
src / gwtransport / fronttracking / events.py find_shock_shock_intersection   15 1 0   93%
src / gwtransport / fronttracking / events.py find_shock_characteristic_intersection   15 2 0   87%
src / gwtransport / fronttracking / events.py find_rarefaction_boundary_intersections   33 1 0   97%
src / gwtransport / fronttracking / events.py find_outlet_crossing   34 6 0   82%
src / gwtransport / fronttracking / events.py (no function)   34 0 1   100%
src / gwtransport / fronttracking / handlers.py handle_characteristic_collision   36 6 0   83%
src / gwtransport / fronttracking / handlers.py handle_shock_collision   15 2 0   87%
src / gwtransport / fronttracking / handlers.py handle_shock_characteristic_collision   27 15 0   44%
src / gwtransport / fronttracking / handlers.py handle_shock_rarefaction_collision   38 7 0   82%
src / gwtransport / fronttracking / handlers.py handle_rarefaction_characteristic_collision   15 2 0   87%
src / gwtransport / fronttracking / handlers.py handle_rarefaction_rarefaction_collision   2 0 0   100%
src / gwtransport / fronttracking / handlers.py handle_outlet_crossing   1 0 0   100%
src / gwtransport / fronttracking / handlers.py recreate_characteristic_with_new_flow   5 0 0   100%
src / gwtransport / fronttracking / handlers.py recreate_shock_with_new_flow   5 0 0   100%
src / gwtransport / fronttracking / handlers.py recreate_rarefaction_with_new_flow   5 0 0   100%
src / gwtransport / fronttracking / handlers.py handle_flow_change   15 0 0   100%
src / gwtransport / fronttracking / handlers.py create_inlet_waves_at_time   22 1 0   95%
src / gwtransport / fronttracking / handlers.py (no function)   15 0 0   100%
src / gwtransport / fronttracking / math.py NonlinearSorption.retardation   0 0 1   100%
src / gwtransport / fronttracking / math.py NonlinearSorption.total_concentration   0 0 1   100%
src / gwtransport / fronttracking / math.py NonlinearSorption.concentration_from_retardation   0 0 1   100%
src / gwtransport / fronttracking / math.py NonlinearSorption.shock_velocity   9 0 0   100%
src / gwtransport / fronttracking / math.py NonlinearSorption.check_entropy_condition   6 1 0   83%
src / gwtransport / fronttracking / math.py FreundlichSorption.__post_init__   18 2 0   89%
src / gwtransport / fronttracking / math.py FreundlichSorption.retardation   7 0 0   100%
src / gwtransport / fronttracking / math.py FreundlichSorption._compute_retardation   3 0 0   100%
src / gwtransport / fronttracking / math.py FreundlichSorption.total_concentration   8 0 0   100%
src / gwtransport / fronttracking / math.py FreundlichSorption.concentration_from_retardation   14 2 0   86%
src / gwtransport / fronttracking / math.py ConstantRetardation.__post_init__   3 0 0   100%
src / gwtransport / fronttracking / math.py ConstantRetardation.retardation   1 0 0   100%
src / gwtransport / fronttracking / math.py ConstantRetardation.total_concentration   1 0 0   100%
src / gwtransport / fronttracking / math.py ConstantRetardation.concentration_from_retardation   1 0 1   100%
src / gwtransport / fronttracking / math.py ConstantRetardation.shock_velocity   1 0 0   100%
src / gwtransport / fronttracking / math.py ConstantRetardation.check_entropy_condition   1 0 0   100%
src / gwtransport / fronttracking / math.py LangmuirSorption.__post_init__   14 0 0   100%
src / gwtransport / fronttracking / math.py LangmuirSorption.retardation   5 0 0   100%
src / gwtransport / fronttracking / math.py LangmuirSorption.total_concentration   6 0 0   100%
src / gwtransport / fronttracking / math.py LangmuirSorption.concentration_from_retardation   6 0 0   100%
src / gwtransport / fronttracking / math.py characteristic_velocity   1 0 0   100%
src / gwtransport / fronttracking / math.py characteristic_position   5 0 0   100%
src / gwtransport / fronttracking / math.py compute_first_front_arrival_time   18 0 0   100%
src / gwtransport / fronttracking / math.py compute_first_fully_informed_bin_edge   12 12 0   0%
src / gwtransport / fronttracking / math.py (no function)   55 0 0   100%
src / gwtransport / fronttracking / output.py concentration_at_point   48 0 0   100%
src / gwtransport / fronttracking / output.py compute_breakthrough_curve   5 0 0   100%
src / gwtransport / fronttracking / output.py identify_outlet_segments   81 1 0   99%
src / gwtransport / fronttracking / output.py integrate_rarefaction_exact   6 4 0   33%
src / gwtransport / fronttracking / output.py _integrate_rarefaction_exact_freundlich   14 2 0   86%
src / gwtransport / fronttracking / output.py _integrate_rarefaction_exact_freundlich.antiderivative   11 4 0   64%
src / gwtransport / fronttracking / output.py _integrate_rarefaction_exact_langmuir   10 10 0   0%
src / gwtransport / fronttracking / output.py _integrate_rarefaction_exact_langmuir.antiderivative   9 9 0   0%
src / gwtransport / fronttracking / output.py compute_bin_averaged_concentration_exact   31 4 0   87%
src / gwtransport / fronttracking / output.py compute_domain_mass   41 2 0   95%
src / gwtransport / fronttracking / output.py _integrate_rarefaction_spatial_exact   21 9 0   57%
src / gwtransport / fronttracking / output.py _integrate_rarefaction_spatial_freundlich   26 4 0   85%
src / gwtransport / fronttracking / output.py _integrate_rarefaction_spatial_langmuir   6 6 0   0%
src / gwtransport / fronttracking / output.py compute_cumulative_inlet_mass   18 2 0   89%
src / gwtransport / fronttracking / output.py find_last_rarefaction_start_time   15 1 0   93%
src / gwtransport / fronttracking / output.py compute_cumulative_outlet_mass   35 7 0   80%
src / gwtransport / fronttracking / output.py integrate_rarefaction_total_mass   10 5 0   50%
src / gwtransport / fronttracking / output.py compute_total_outlet_mass   41 7 0   83%
src / gwtransport / fronttracking / output.py (no function)   31 0 0   100%
src / gwtransport / fronttracking / plot.py plot_vt_diagram   144 72 0   50%
src / gwtransport / fronttracking / plot.py plot_breakthrough_curve   32 10 0   69%
src / gwtransport / fronttracking / plot.py plot_wave_interactions   24 0 0   100%
src / gwtransport / fronttracking / plot.py plot_inlet_concentration   25 1 0   96%
src / gwtransport / fronttracking / plot.py plot_front_tracking_summary   34 1 0   97%
src / gwtransport / fronttracking / plot.py plot_sorption_comparison   65 0 0   100%
src / gwtransport / fronttracking / plot.py (no function)   13 0 0   100%
src / gwtransport / fronttracking / solver.py FrontTracker.__init__   19 4 0   79%
src / gwtransport / fronttracking / solver.py FrontTracker._initialize_inlet_waves   9 0 0   100%
src / gwtransport / fronttracking / solver.py FrontTracker._detect_flow_changes   8 0 0   100%
src / gwtransport / fronttracking / solver.py FrontTracker.find_next_event   93 15 0   84%
src / gwtransport / fronttracking / solver.py FrontTracker.handle_event   25 5 0   80%
src / gwtransport / fronttracking / solver.py FrontTracker.run   31 15 0   52%
src / gwtransport / fronttracking / solver.py FrontTracker.verify_physics   24 6 0   75%
src / gwtransport / fronttracking / solver.py (no function)   23 0 0   100%
src / gwtransport / fronttracking / validation.py verify_physics   94 13 0   86%
src / gwtransport / fronttracking / validation.py (no function)   8 0 0   100%
src / gwtransport / fronttracking / waves.py Wave.position_at_time   0 0 0   100%
src / gwtransport / fronttracking / waves.py Wave.concentration_left   0 0 0   100%
src / gwtransport / fronttracking / waves.py Wave.concentration_right   0 0 0   100%
src / gwtransport / fronttracking / waves.py Wave.concentration_at_point   0 0 0   100%
src / gwtransport / fronttracking / waves.py CharacteristicWave.velocity   1 0 0   100%
src / gwtransport / fronttracking / waves.py CharacteristicWave.position_at_time   3 0 0   100%
src / gwtransport / fronttracking / waves.py CharacteristicWave.concentration_left   1 0 0   100%
src / gwtransport / fronttracking / waves.py CharacteristicWave.concentration_right   1 0 0   100%
src / gwtransport / fronttracking / waves.py CharacteristicWave.concentration_at_point   6 1 0   83%
src / gwtransport / fronttracking / waves.py ShockWave.__post_init__   2 0 0   100%
src / gwtransport / fronttracking / waves.py ShockWave.position_at_time   6 2 0   67%
src / gwtransport / fronttracking / waves.py ShockWave.concentration_left   1 0 0   100%
src / gwtransport / fronttracking / waves.py ShockWave.concentration_right   1 0 0   100%
src / gwtransport / fronttracking / waves.py ShockWave.concentration_at_point   9 1 0   89%
src / gwtransport / fronttracking / waves.py ShockWave.satisfies_entropy   4 2 0   50%
src / gwtransport / fronttracking / waves.py RarefactionWave.__post_init__   5 0 0   100%
src / gwtransport / fronttracking / waves.py RarefactionWave.head_velocity   1 0 0   100%
src / gwtransport / fronttracking / waves.py RarefactionWave.tail_velocity   1 0 0   100%
src / gwtransport / fronttracking / waves.py RarefactionWave.head_position_at_time   3 0 0   100%
src / gwtransport / fronttracking / waves.py RarefactionWave.tail_position_at_time   3 0 0   100%
src / gwtransport / fronttracking / waves.py RarefactionWave.position_at_time   1 0 0   100%
src / gwtransport / fronttracking / waves.py RarefactionWave.contains_point   7 1 0   86%
src / gwtransport / fronttracking / waves.py RarefactionWave.concentration_left   1 0 0   100%
src / gwtransport / fronttracking / waves.py RarefactionWave.concentration_right   1 0 0   100%
src / gwtransport / fronttracking / waves.py RarefactionWave.concentration_at_point   17 3 1   82%
src / gwtransport / fronttracking / waves.py (no function)   56 0 0   100%
src / gwtransport / gamma.py parse_parameters   15 0 0   100%
src / gwtransport / gamma.py mean_std_loc_to_alpha_beta   13 0 0   100%
src / gwtransport / gamma.py alpha_beta_loc_to_mean_std   6 2 0   67%
src / gwtransport / gamma.py bins   13 0 0   100%
src / gwtransport / gamma.py bin_masses   15 6 0   60%
src / gwtransport / gamma.py (no function)   9 0 0   100%
src / gwtransport / logremoval.py residence_time_to_log_removal   1 0 0   100%
src / gwtransport / logremoval.py decay_rate_to_log10_decay_rate   1 0 0   100%
src / gwtransport / logremoval.py log10_decay_rate_to_decay_rate   1 0 0   100%
src / gwtransport / logremoval.py parallel_mean   17 0 0   100%
src / gwtransport / logremoval.py gamma_pdf   5 0 0   100%
src / gwtransport / logremoval.py gamma_cdf   5 0 0   100%
src / gwtransport / logremoval.py gamma_mean   4 0 0   100%
src / gwtransport / logremoval.py gamma_find_flow_for_target_mean   26 4 0   85%
src / gwtransport / logremoval.py gamma_find_flow_for_target_mean.residual   1 0 0   100%
src / gwtransport / logremoval.py (no function)   11 0 0   100%
src / gwtransport / residence_time.py residence_time   30 0 0   100%
src / gwtransport / residence_time.py residence_time_mean   22 0 0   100%
src / gwtransport / residence_time.py fraction_explained   17 2 0   88%
src / gwtransport / residence_time.py freundlich_retardation   14 6 0   57%
src / gwtransport / residence_time.py (no function)   8 0 0   100%
src / gwtransport / utils.py step_plot_coords   3 0 0   100%
src / gwtransport / utils.py linear_interpolate   7 0 0   100%
src / gwtransport / utils.py _interp_series   5 5 0   0%
src / gwtransport / utils.py _diff   10 2 0   80%
src / gwtransport / utils.py linear_average   110 20 0   82%
src / gwtransport / utils.py partial_isin   29 4 0   86%
src / gwtransport / utils.py time_bin_overlap   16 0 0   100%
src / gwtransport / utils.py simplify_bins   17 0 0   100%
src / gwtransport / utils.py simplify_bins._splits   4 0 0   100%
src / gwtransport / utils.py _generate_failed_coverage_badge   3 3 0   0%
src / gwtransport / utils.py combine_bin_series   33 0 0   100%
src / gwtransport / utils.py compute_time_edges   22 7 0   68%
src / gwtransport / utils.py get_soil_temperature   23 1 0   96%
src / gwtransport / utils.py solve_underdetermined_system   18 5 0   72%
src / gwtransport / utils.py _optimize_nullspace_coefficients   16 6 0   62%
src / gwtransport / utils.py _solve_squared_differences_analytical   10 2 0   80%
src / gwtransport / utils.py _solve_target_analytical   9 9 0   0%
src / gwtransport / utils.py compute_reverse_target   9 0 0   100%
src / gwtransport / utils.py solve_tikhonov   30 4 0   87%
src / gwtransport / utils.py solve_inverse_transport   19 0 0   100%
src / gwtransport / utils.py _squared_differences_objective   2 2 0   0%
src / gwtransport / utils.py _summed_differences_objective   2 0 0   100%
src / gwtransport / utils.py _get_nullspace_objective_function   8 5 0   38%
src / gwtransport / utils.py (no function)   37 0 0   100%
Total     3459 541 17   84%

No items found using the specified filter.