Coverage report: 85%

Files Functions Classes

coverage.py v7.13.4, created at 2026-03-04 18:51 +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   2 0 0   100%
src / gwtransport / advection.py extraction_to_infiltration_series   2 0 0   100%
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   25 6 0   76%
src / gwtransport / advection.py extraction_to_infiltration   25 6 0   76%
src / gwtransport / advection.py _validate_front_tracking_inputs   44 20 0   55%
src / gwtransport / advection.py infiltration_to_extraction_front_tracking   7 0 0   100%
src / gwtransport / advection.py infiltration_to_extraction_front_tracking_detailed   10 0 0   100%
src / gwtransport / advection.py (no function)   19 0 0   100%
src / gwtransport / advection_utils.py _infiltration_to_extraction_weights   28 2 0   93%
src / gwtransport / advection_utils.py _extraction_to_infiltration_weights   28 2 0   93%
src / gwtransport / advection_utils.py (no function)   7 0 0   100%
src / gwtransport / deposition.py compute_deposition_weights   13 0 0   100%
src / gwtransport / deposition.py deposition_to_extraction   22 10 0   55%
src / gwtransport / deposition.py extraction_to_deposition   22 8 0   64%
src / gwtransport / deposition.py spinup_duration   6 2 0   67%
src / gwtransport / deposition.py (no function)   10 0 0   100%
src / gwtransport / diffusion.py _erf_integral_time   27 1 0   96%
src / gwtransport / diffusion.py _erf_integral_space_time   23 0 0   100%
src / gwtransport / diffusion.py _erf_integral_space   25 0 0   100%
src / gwtransport / diffusion.py _erf_mean_space_time   101 16 0   84%
src / gwtransport / diffusion.py infiltration_to_extraction   91 14 0   85%
src / gwtransport / diffusion.py extraction_to_infiltration   94 16 0   83%
src / gwtransport / diffusion.py (no function)   14 0 0   100%
src / gwtransport / diffusion_fast.py infiltration_to_extraction   13 6 0   54%
src / gwtransport / diffusion_fast.py extraction_to_infiltration   1 0 1   100%
src / gwtransport / diffusion_fast.py compute_diffusive_spreading_length   5 0 0   100%
src / gwtransport / diffusion_fast.py compute_scaled_sigma_array   6 0 0   100%
src / gwtransport / diffusion_fast.py convolve_diffusion   36 0 0   100%
src / gwtransport / diffusion_fast.py deconvolve_diffusion   1 0 1   100%
src / gwtransport / diffusion_fast.py create_example_data   6 0 0   100%
src / gwtransport / diffusion_fast.py (no function)   23 9 0   61%
src / gwtransport / examples.py generate_example_data   30 7 0   77%
src / gwtransport / examples.py generate_example_deposition_timeseries   23 3 0   87%
src / gwtransport / examples.py (no function)   8 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 5   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   32 5 0   84%
src / gwtransport / fronttracking / events.py (no function)   35 0 1   100%
src / gwtransport / fronttracking / handlers.py handle_characteristic_collision   44 12 0   73%
src / gwtransport / fronttracking / handlers.py handle_shock_collision   15 2 0   87%
src / gwtransport / fronttracking / handlers.py handle_shock_characteristic_collision   32 20 0   38%
src / gwtransport / fronttracking / handlers.py handle_shock_rarefaction_collision   43 11 0   74%
src / gwtransport / fronttracking / handlers.py handle_rarefaction_characteristic_collision   2 0 0   100%
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   25 3 0   88%
src / gwtransport / fronttracking / handlers.py (no function)   15 0 0   100%
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 FreundlichSorption.shock_velocity   9 0 0   100%
src / gwtransport / fronttracking / math.py FreundlichSorption.check_entropy_condition   6 1 0   83%
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 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)   35 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   14 2 0   86%
src / gwtransport / fronttracking / output.py integrate_rarefaction_exact.antiderivative   11 4 0   64%
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   41 10 0   76%
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)   26 0 0   100%
src / gwtransport / fronttracking / plot.py plot_vt_diagram   140 72 0   49%
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)   12 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   12 0 0   100%
src / gwtransport / gamma.py mean_std_to_alpha_beta   9 2 0   78%
src / gwtransport / gamma.py alpha_beta_to_mean_std   3 0 0   100%
src / gwtransport / gamma.py bins   12 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   2 0 0   100%
src / gwtransport / logremoval.py gamma_cdf   2 0 0   100%
src / gwtransport / logremoval.py gamma_mean   1 0 0   100%
src / gwtransport / logremoval.py gamma_find_flow_for_target_mean   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   24 0 0   100%
src / gwtransport / residence_time.py fraction_explained   17 2 0   88%
src / gwtransport / residence_time.py freundlich_retardation   12 6 0   50%
src / gwtransport / residence_time.py (no function)   8 0 0   100%
src / gwtransport / surfacearea.py _positive_part_integral   7 0 0   100%
src / gwtransport / surfacearea.py _clipped_linear_integral   4 0 0   100%
src / gwtransport / surfacearea.py compute_average_heights   10 0 0   100%
src / gwtransport / surfacearea.py (no function)   5 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   59 6 0   90%
src / gwtransport / utils.py partial_isin   27 4 0   85%
src / gwtransport / utils.py time_bin_overlap   16 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   21 1 0   95%
src / gwtransport / utils.py solve_underdetermined_system   18 5 0   72%
src / gwtransport / utils.py _optimize_nullspace_coefficients   14 7 0   50%
src / gwtransport / utils.py _squared_differences_objective   2 0 0   100%
src / gwtransport / utils.py _summed_differences_objective   2 2 0   0%
src / gwtransport / utils.py _get_nullspace_objective_function   8 6 0   25%
src / gwtransport / utils.py (no function)   29 0 0   100%
Total     3006 464 10   85%

No items found using the specified filter.