Coverage report: 94%

Files Functions Classes

coverage.py v7.15.3, created at 2026-08-04 21:13 +0000

File function   statements missing excluded   coverage
src/gwtransport/__init__.py (no function)   2 0 0   100%
src/gwtransport/_diffusion_shared.py _breakthrough_antideriv   5 0 0   100%
src/gwtransport/_diffusion_shared.py _cout_cumulative_volume   7 0 0   100%
src/gwtransport/_diffusion_shared.py _extend_tedges_flag   8 0 1   100%
src/gwtransport/_diffusion_shared.py _extend_tedges   2 0 0   100%
src/gwtransport/_diffusion_shared.py _advective_valid_cout_bins   1 0 0   100%
src/gwtransport/_diffusion_shared.py _broadcast_to_pore_volumes   2 0 0   100%
src/gwtransport/_diffusion_shared.py _validate_inputs   38 0 0   100%
src/gwtransport/_diffusion_shared.py _coerce_and_validate   10 0 0   100%
src/gwtransport/_diffusion_shared.py _solve_reverse_banded   14 0 0   100%
src/gwtransport/_diffusion_shared.py (no function)   20 0 0   100%
src/gwtransport/_radial_asr_compose.py _fr_step_response   12 0 0   100%
src/gwtransport/_radial_asr_compose.py _fr_step_response.f_hat   1 0 0   100%
src/gwtransport/_radial_asr_compose.py (no function)   7 0 0   100%
src/gwtransport/_radial_asr_dehoog.py dehoog_inverse   55 3 0   95%
src/gwtransport/_radial_asr_dehoog.py (no function)   4 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _toeplitz_from_theta   5 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _theta_grid   2 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _tensor_components   9 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py block_coupling_matrices   21 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _face_matrices   2 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py field_grid   21 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _interval_transitions   16 2 0   88%
src/gwtransport/_radial_asr_drift_kernels.py _interval_transitions.rhs   3 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _block_solutions   32 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _block_solutions.riccati_rhs   5 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _block_solutions._branch   11 2 0   82%
src/gwtransport/_radial_asr_drift_kernels.py _block_solutions._branch.l_at   1 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _resident_laplace   14 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _resolvent_field_laplace   15 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _readout_laplace   8 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py _rest_drift_field   34 1 0   97%
src/gwtransport/_radial_asr_drift_kernels.py _rest_drift_field.field_at   8 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py block_cout_deviation   48 3 0   94%
src/gwtransport/_radial_asr_drift_kernels.py block_cout_deviation.solutions   6 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py block_cout_deviation.propagate   2 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py block_cout_deviation.propagate.f_hat   1 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py block_cout_deviation.f_hat_resident   1 0 0   100%
src/gwtransport/_radial_asr_drift_kernels.py (no function)   32 0 0   100%
src/gwtransport/_radial_asr_kernels.py _airy_amplitudes   8 0 0   100%
src/gwtransport/_radial_asr_kernels.py transfer_function   8 0 0   100%
src/gwtransport/_radial_asr_kernels.py _resolvent_airy_pieces   7 0 0   100%
src/gwtransport/_radial_asr_kernels.py assemble_airy_resolvent   11 0 0   100%
src/gwtransport/_radial_asr_kernels.py rest_resolvent   9 0 0   100%
src/gwtransport/_radial_asr_kernels.py _integrate_logderiv   23 0 0   100%
src/gwtransport/_radial_asr_kernels.py _integrate_logderiv.rhs   4 0 0   100%
src/gwtransport/_radial_asr_kernels.py _transfer_riccati   6 0 0   100%
src/gwtransport/_radial_asr_kernels.py resolvent_riccati   19 0 0   100%
src/gwtransport/_radial_asr_kernels.py (no function)   19 0 0   100%
src/gwtransport/_radial_asr_reuse.py _phase_slices   5 0 0   100%
src/gwtransport/_radial_asr_reuse.py _field_grid   11 0 0   100%
src/gwtransport/_radial_asr_reuse.py _airy_propagator_matrix   10 0 0   100%
src/gwtransport/_radial_asr_reuse.py _airy_propagator_matrix.f_hat   12 0 0   100%
src/gwtransport/_radial_asr_reuse.py _riccati_propagator_matrix   16 0 0   100%
src/gwtransport/_radial_asr_reuse.py _riccati_propagator_matrix.f_hat   10 0 0   100%
src/gwtransport/_radial_asr_reuse.py _rest_propagator_matrix   9 0 0   100%
src/gwtransport/_radial_asr_reuse.py _rest_propagator_matrix.f_hat   13 0 0   100%
src/gwtransport/_radial_asr_reuse.py _fr_source_matrix   3 0 0   100%
src/gwtransport/_radial_asr_reuse.py _cout_readout_matrix   4 0 0   100%
src/gwtransport/_radial_asr_reuse.py cout_deviation   39 0 0   100%
src/gwtransport/_radial_asr_reuse.py cout_deviation.propagate   12 0 0   100%
src/gwtransport/_radial_asr_reuse.py (no function)   15 0 0   100%
src/gwtransport/_time.py tedges_to_days   2 0 0   100%
src/gwtransport/_time.py dt_to_days   1 0 0   100%
src/gwtransport/_time.py (no function)   6 0 0   100%
src/gwtransport/_validation.py _validate_tedges_parity   4 0 0   100%
src/gwtransport/_validation.py _validate_no_nan   3 0 0   100%
src/gwtransport/_validation.py _validate_non_negative_array   4 0 0   100%
src/gwtransport/_validation.py _validate_positive_array   4 0 0   100%
src/gwtransport/_validation.py _validate_positive_scalar   3 0 0   100%
src/gwtransport/_validation.py _validate_retardation_factor   3 0 0   100%
src/gwtransport/_validation.py _validate_scalar_or_matching_length   3 0 0   100%
src/gwtransport/_validation.py (no function)   11 0 0   100%
src/gwtransport/advection.py _validate_advection_inputs   20 2 0   90%
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   15 0 0   100%
src/gwtransport/advection.py extraction_to_infiltration   12 0 0   100%
src/gwtransport/advection.py _validate_front_tracking_inputs   54 12 0   78%
src/gwtransport/advection.py _flow_weighted_front_tracking_output   31 0 0   100%
src/gwtransport/advection.py infiltration_to_extraction_nonlinear_sorption   20 2 0   90%
src/gwtransport/advection.py (no function)   21 0 0   100%
src/gwtransport/advection_utils.py _infiltration_to_extraction_weights   50 0 0   100%
src/gwtransport/advection_utils.py _resolve_spinup_mask   4 0 0   100%
src/gwtransport/advection_utils.py _densify_weights   7 0 0   100%
src/gwtransport/advection_utils.py _resolve_spinup_inputs   30 2 0   93%
src/gwtransport/advection_utils.py (no function)   10 0 0   100%
src/gwtransport/deposition.py _validate_deposition_inputs   19 0 1   100%
src/gwtransport/deposition.py compute_deposition_weights   40 0 0   100%
src/gwtransport/deposition.py deposition_to_extraction   11 0 0   100%
src/gwtransport/deposition.py extraction_to_deposition   13 0 0   100%
src/gwtransport/deposition.py extraction_to_deposition_full   10 0 0   100%
src/gwtransport/deposition.py spinup_duration   10 2 0   80%
src/gwtransport/deposition.py (no function)   15 0 0   100%
src/gwtransport/deposition_utils.py _positive_part_integral   5 0 0   100%
src/gwtransport/deposition_utils.py _clipped_linear_integral   4 0 0   100%
src/gwtransport/deposition_utils.py (no function)   4 0 0   100%
src/gwtransport/diffusion.py _cfrac_mean_volume   82 1 0   99%
src/gwtransport/diffusion.py _validate_diffusion_inputs   21 0 0   100%
src/gwtransport/diffusion.py _prepare_diffusion_arrays   4 0 0   100%
src/gwtransport/diffusion.py _infiltration_to_extraction_coeff_matrix   18 0 0   100%
src/gwtransport/diffusion.py infiltration_to_extraction   12 0 0   100%
src/gwtransport/diffusion.py extraction_to_infiltration   9 0 0   100%
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)   23 0 0   100%
src/gwtransport/diffusion_fast.py _pv_band_geometry   29 0 0   100%
src/gwtransport/diffusion_fast.py _pv_band_values   56 0 0   100%
src/gwtransport/diffusion_fast.py _closed_form_coeff_matrix   40 0 0   100%
src/gwtransport/diffusion_fast.py infiltration_to_extraction   9 0 0   100%
src/gwtransport/diffusion_fast.py extraction_to_infiltration   4 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 (no function)   15 0 0   100%
src/gwtransport/diffusion_fast_fast.py _summed_antideriv   19 0 0   100%
src/gwtransport/diffusion_fast_fast.py _eval_antideriv   8 0 0   100%
src/gwtransport/diffusion_fast_fast.py _breakthrough_band   25 0 0   100%
src/gwtransport/diffusion_fast_fast.py _build_forward_operator   13 0 0   100%
src/gwtransport/diffusion_fast_fast.py _banded_forward_matrix   17 0 0   100%
src/gwtransport/diffusion_fast_fast.py infiltration_to_extraction   10 0 0   100%
src/gwtransport/diffusion_fast_fast.py extraction_to_infiltration   9 0 0   100%
src/gwtransport/diffusion_fast_fast.py gamma_infiltration_to_extraction   2 0 0   100%
src/gwtransport/diffusion_fast_fast.py gamma_extraction_to_infiltration   2 0 0   100%
src/gwtransport/diffusion_fast_fast.py (no function)   20 0 0   100%
src/gwtransport/examples.py generate_example_data   61 2 0   97%
src/gwtransport/examples.py generate_temperature_example_data   1 0 0   100%
src/gwtransport/examples.py generate_example_deposition_timeseries   36 0 0   100%
src/gwtransport/examples.py (no function)   17 0 0   100%
src/gwtransport/fronttracking/__init__.py (no function)   0 0 0   100%
src/gwtransport/fronttracking/events.py is_outlet_crossing_pinned   4 0 0   100%
src/gwtransport/fronttracking/events.py Event.__repr__   0 0 4   100%
src/gwtransport/fronttracking/events.py _line_intersection   9 0 0   100%
src/gwtransport/fronttracking/events.py find_characteristic_intersection   1 0 0   100%
src/gwtransport/fronttracking/events.py find_shock_shock_intersection   1 0 0   100%
src/gwtransport/fronttracking/events.py find_shock_characteristic_intersection   1 0 0   100%
src/gwtransport/fronttracking/events.py find_rarefaction_boundary_intersections   20 0 0   100%
src/gwtransport/fronttracking/events.py find_outlet_crossing   30 2 0   93%
src/gwtransport/fronttracking/events.py (no function)   34 0 1   100%
src/gwtransport/fronttracking/handlers.py handle_characteristic_collision   14 2 0   86%
src/gwtransport/fronttracking/handlers.py handle_shock_collision   12 2 0   83%
src/gwtransport/fronttracking/handlers.py handle_shock_characteristic_collision   19 10 0   47%
src/gwtransport/fronttracking/handlers.py handle_shock_rarefaction_collision   28 5 0   82%
src/gwtransport/fronttracking/handlers.py handle_rarefaction_characteristic_collision   15 2 0   87%
src/gwtransport/fronttracking/handlers.py create_inlet_waves_at_theta   12 1 0   92%
src/gwtransport/fronttracking/handlers.py (no function)   9 0 0   100%
src/gwtransport/fronttracking/interactions.py Face.position   9 0 0   100%
src/gwtransport/fronttracking/interactions.py _max_characteristic_speed   4 0 0   100%
src/gwtransport/fronttracking/interactions.py _far_bound   5 0 0   100%
src/gwtransport/fronttracking/interactions.py iter_faces   18 1 0   94%
src/gwtransport/fronttracking/interactions.py _decaying_shock_faces   21 0 0   100%
src/gwtransport/fronttracking/interactions.py _double_fan_faces   20 0 0   100%
src/gwtransport/fronttracking/interactions.py _boundary_line   1 0 0   100%
src/gwtransport/fronttracking/interactions.py find_face_crossing   34 3 0   91%
src/gwtransport/fronttracking/interactions.py find_face_crossing.gap   5 1 0   80%
src/gwtransport/fronttracking/interactions.py make_wave_from_feeders   9 1 0   89%
src/gwtransport/fronttracking/interactions.py _make_decaying_shock   21 6 0   71%
src/gwtransport/fronttracking/interactions.py resolve_merge   6 0 0   100%
src/gwtransport/fronttracking/interactions.py _order_rear_front   9 1 0   89%
src/gwtransport/fronttracking/interactions.py _retire_parent   5 0 0   100%
src/gwtransport/fronttracking/interactions.py _consume_boundary   8 0 0   100%
src/gwtransport/fronttracking/interactions.py (no function)   26 0 0   100%
src/gwtransport/fronttracking/math.py NonlinearSorption.retardation   0 0 0   100%
src/gwtransport/fronttracking/math.py NonlinearSorption.total_concentration   0 0 0   100%
src/gwtransport/fronttracking/math.py NonlinearSorption.concentration_from_retardation   0 0 0   100%
src/gwtransport/fronttracking/math.py NonlinearSorption.shock_speed   7 0 0   100%
src/gwtransport/fronttracking/math.py NonlinearSorption.c_and_total_from_retardation   3 0 0   100%
src/gwtransport/fronttracking/math.py NonlinearSorption.fan_converges_at_infinity   1 1 0   0%
src/gwtransport/fronttracking/math.py NonlinearSorption.check_entropy_condition   9 1 0   89%
src/gwtransport/fronttracking/math.py FreundlichSorption.__post_init__   22 0 0   100%
src/gwtransport/fronttracking/math.py FreundlichSorption.retardation   8 0 0   100%
src/gwtransport/fronttracking/math.py FreundlichSorption.total_concentration   6 0 0   100%
src/gwtransport/fronttracking/math.py FreundlichSorption.concentration_from_retardation   9 0 0   100%
src/gwtransport/fronttracking/math.py FreundlichSorption.fan_converges_at_infinity   1 1 0   0%
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_speed   1 0 0   100%
src/gwtransport/fronttracking/math.py ConstantRetardation.check_entropy_condition   2 0 0   100%
src/gwtransport/fronttracking/math.py LangmuirSorption.__post_init__   16 0 0   100%
src/gwtransport/fronttracking/math.py LangmuirSorption.retardation   6 0 0   100%
src/gwtransport/fronttracking/math.py LangmuirSorption.total_concentration   7 0 0   100%
src/gwtransport/fronttracking/math.py LangmuirSorption.concentration_from_retardation   9 0 0   100%
src/gwtransport/fronttracking/math.py BrooksCoreyConductivity.__post_init__   18 0 0   100%
src/gwtransport/fronttracking/math.py BrooksCoreyConductivity.total_concentration   6 0 0   100%
src/gwtransport/fronttracking/math.py BrooksCoreyConductivity.retardation   6 0 0   100%
src/gwtransport/fronttracking/math.py BrooksCoreyConductivity.concentration_from_retardation   9 1 0   89%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity.__post_init__   17 0 0   100%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity._k_se   7 1 0   86%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity._dk_dse   8 1 0   88%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity._se_from_c   10 0 0   100%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity.total_concentration   6 0 0   100%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity.retardation   9 0 0   100%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity.concentration_from_retardation   9 0 0   100%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity._se_from_retardation   7 3 0   57%
src/gwtransport/fronttracking/math.py VanGenuchtenMualemConductivity.c_and_total_from_retardation   4 0 0   100%
src/gwtransport/fronttracking/math.py characteristic_speed   2 0 0   100%
src/gwtransport/fronttracking/math.py characteristic_position   3 0 0   100%
src/gwtransport/fronttracking/math.py compute_first_front_arrival_theta   9 0 0   100%
src/gwtransport/fronttracking/math.py (no function)   109 0 0   100%
src/gwtransport/fronttracking/output.py _reader_faces   9 0 0   100%
src/gwtransport/fronttracking/output.py concentration_at_point   11 0 0   100%
src/gwtransport/fronttracking/output.py compute_breakthrough_curve   5 0 0   100%
src/gwtransport/fronttracking/output.py identify_outlet_segments   99 30 0   70%
src/gwtransport/fronttracking/output.py integrate_rarefaction_exact   1 0 0   100%
src/gwtransport/fronttracking/output.py integrate_fan_exact   4 2 0   50%
src/gwtransport/fronttracking/output.py _integrate_fan_exact_universal   15 4 0   73%
src/gwtransport/fronttracking/output.py _integrate_fan_exact_universal.antiderivative   7 2 0   71%
src/gwtransport/fronttracking/output.py compute_bin_averaged_concentration_exact   31 0 0   100%
src/gwtransport/fronttracking/output.py compute_domain_mass   16 1 0   94%
src/gwtransport/fronttracking/output.py _owner_feeder   8 0 0   100%
src/gwtransport/fronttracking/output.py _near_apex_bound   3 0 0   100%
src/gwtransport/fronttracking/output.py integrate_fan_spatial_exact   22 6 0   73%
src/gwtransport/fronttracking/output.py _integrate_rarefaction_spatial_universal   9 2 0   78%
src/gwtransport/fronttracking/output.py compute_cumulative_inlet_mass   3 0 0   100%
src/gwtransport/fronttracking/output.py compute_cumulative_outlet_mass   5 0 0   100%
src/gwtransport/fronttracking/output.py compute_total_outlet_mass   5 0 0   100%
src/gwtransport/fronttracking/output.py (no function)   30 0 0   100%
src/gwtransport/fronttracking/plot.py _wave_trajectory_in_t   14 3 0   79%
src/gwtransport/fronttracking/plot.py plot_vt_diagram   77 19 0   75%
src/gwtransport/fronttracking/plot.py plot_inlet_concentration   16 1 0   94%
src/gwtransport/fronttracking/plot.py _outlet_concentration_curve   2 0 0   100%
src/gwtransport/fronttracking/plot.py plot_front_tracking_summary   35 1 0   97%
src/gwtransport/fronttracking/plot.py plot_sorption_comparison   25 0 0   100%
src/gwtransport/fronttracking/plot.py (no function)   17 0 0   100%
src/gwtransport/fronttracking/solver.py FrontTrackerState.t_at_theta   12 3 0   75%
src/gwtransport/fronttracking/solver.py FrontTrackerState.theta_at_t   1 0 0   100%
src/gwtransport/fronttracking/solver.py FrontTrackerState.theta_at_t_array   5 0 0   100%
src/gwtransport/fronttracking/solver.py FrontTracker.__init__   25 4 0   84%
src/gwtransport/fronttracking/solver.py FrontTracker._initialize_inlet_waves   10 0 0   100%
src/gwtransport/fronttracking/solver.py FrontTracker.find_next_event   97 12 0   88%
src/gwtransport/fronttracking/solver.py FrontTracker.find_next_event.push_collision   6 1 0   83%
src/gwtransport/fronttracking/solver.py FrontTracker.handle_event   23 3 0   87%
src/gwtransport/fronttracking/solver.py FrontTracker._handle_fan_exhaustion   10 3 0   70%
src/gwtransport/fronttracking/solver.py FrontTracker.run   10 1 0   90%
src/gwtransport/fronttracking/solver.py FrontTracker.verify_physics   4 0 0   100%
src/gwtransport/fronttracking/solver.py find_unresolved_interaction   16 0 0   100%
src/gwtransport/fronttracking/solver.py (no function)   29 0 0   100%
src/gwtransport/fronttracking/validation.py _independent_outlet_mass   11 1 0   91%
src/gwtransport/fronttracking/validation.py verify_physics   80 4 0   95%
src/gwtransport/fronttracking/validation.py (no function)   14 0 0   100%
src/gwtransport/fronttracking/waves.py Feeder.constant   1 0 0   100%
src/gwtransport/fronttracking/waves.py Feeder.fan   1 0 0   100%
src/gwtransport/fronttracking/waves.py Feeder.value   17 0 0   100%
src/gwtransport/fronttracking/waves.py Wave.was_active_at   3 0 0   100%
src/gwtransport/fronttracking/waves.py Wave.deactivate   2 0 0   100%
src/gwtransport/fronttracking/waves.py Wave.position_at_theta   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.__post_init__   1 0 0   100%
src/gwtransport/fronttracking/waves.py CharacteristicWave.speed   1 0 0   100%
src/gwtransport/fronttracking/waves.py CharacteristicWave.position_at_theta   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__   1 0 0   100%
src/gwtransport/fronttracking/waves.py ShockWave.position_at_theta   3 0 0   100%
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   1 0 0   100%
src/gwtransport/fronttracking/waves.py RarefactionWave.__post_init__   5 0 0   100%
src/gwtransport/fronttracking/waves.py RarefactionWave.head_speed   1 0 0   100%
src/gwtransport/fronttracking/waves.py RarefactionWave.tail_speed   1 0 0   100%
src/gwtransport/fronttracking/waves.py RarefactionWave.head_position_at_theta   3 1 0   67%
src/gwtransport/fronttracking/waves.py RarefactionWave.tail_position_at_theta   3 1 0   67%
src/gwtransport/fronttracking/waves.py RarefactionWave.position_at_theta   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   14 3 0   79%
src/gwtransport/fronttracking/waves.py DecayingShockWave.__post_init__   29 0 0   100%
src/gwtransport/fronttracking/waves.py DecayingShockWave._decay_profile   3 0 0   100%
src/gwtransport/fronttracking/waves.py DecayingShockWave.c_decay_at_theta   3 1 0   67%
src/gwtransport/fronttracking/waves.py DecayingShockWave.position_at_theta   5 1 0   80%
src/gwtransport/fronttracking/waves.py DecayingShockWave.theta_at_fan_exhaustion   13 1 0   92%
src/gwtransport/fronttracking/waves.py DecayingShockWave.theta_at_fan_exhaustion.f   1 0 0   100%
src/gwtransport/fronttracking/waves.py DecayingShockWave._c_decay_at_theta_local   15 0 0   100%
src/gwtransport/fronttracking/waves.py DecayingShockWave.outlet_crossing_theta   8 0 0   100%
src/gwtransport/fronttracking/waves.py DecayingShockWave._outlet_crossing_numerical   9 2 0   78%
src/gwtransport/fronttracking/waves.py DecayingShockWave._outlet_crossing_numerical.f   2 0 0   100%
src/gwtransport/fronttracking/waves.py DecayingShockWave.concentration_left   1 0 0   100%
src/gwtransport/fronttracking/waves.py DecayingShockWave.concentration_right   1 0 0   100%
src/gwtransport/fronttracking/waves.py DecayingShockWave.concentration_at_point   32 9 0   72%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave.__post_init__   18 4 0   78%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave.theta_origin_left   1 0 0   100%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave.theta_origin_right   1 0 0   100%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave._alpha   3 0 0   100%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave._v_closed   19 5 0   74%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave._rhs   3 0 0   100%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave._ensure_numerical   25 0 0   100%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave._v_at   4 0 0   100%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave.position_at_theta   3 1 0   67%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave.concentration_left   1 0 0   100%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave.concentration_right   1 0 0   100%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave.outlet_crossing_theta   7 1 0   86%
src/gwtransport/fronttracking/waves.py DoubleFanShockWave.concentration_at_point   15 15 0   0%
src/gwtransport/fronttracking/waves.py _invert_monotone_theta_local   8 2 0   75%
src/gwtransport/fronttracking/waves.py _build_decay_profile   23 3 0   87%
src/gwtransport/fronttracking/waves.py _build_decay_profile.integrand   7 0 0   100%
src/gwtransport/fronttracking/waves.py _c_decay_brooks_corey   6 0 0   100%
src/gwtransport/fronttracking/waves.py _compute_k_freundlich   7 0 0   100%
src/gwtransport/fronttracking/waves.py _compute_k_langmuir   1 0 0   100%
src/gwtransport/fronttracking/waves.py _c_decay_freundlich   16 0 0   100%
src/gwtransport/fronttracking/waves.py _invert_freundlich_cr_zero   6 0 0   100%
src/gwtransport/fronttracking/waves.py _invert_freundlich_cr_zero.f   1 0 0   100%
src/gwtransport/fronttracking/waves.py _c_decay_langmuir   5 0 0   100%
src/gwtransport/fronttracking/waves.py _outlet_crossing_freundlich   23 3 0   87%
src/gwtransport/fronttracking/waves.py _outlet_crossing_langmuir   7 1 0   86%
src/gwtransport/fronttracking/waves.py (no function)   175 0 0   100%
src/gwtransport/gamma.py parse_parameters   24 0 0   100%
src/gwtransport/gamma.py mean_std_loc_to_alpha_beta   13 0 0   100%
src/gwtransport/gamma.py bins   19 0 0   100%
src/gwtransport/gamma.py (no function)   7 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   9 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   2 0 0   100%
src/gwtransport/logremoval.py gamma_find_flow_for_target_mean   15 2 0   87%
src/gwtransport/logremoval.py gamma_find_flow_for_target_mean.residual   1 0 0   100%
src/gwtransport/logremoval.py (no function)   12 0 0   100%
src/gwtransport/percolation.py root_zone_to_water_table_kinematic_wave   63 0 0   100%
src/gwtransport/percolation.py (no function)   9 0 0   100%
src/gwtransport/radial_asr.py _validate   37 16 0   57%
src/gwtransport/radial_asr.py _auto_n_modes   15 0 0   100%
src/gwtransport/radial_asr.py _streamtube_ensemble   10 0 0   100%
src/gwtransport/radial_asr.py infiltration_to_extraction   10 0 0   100%
src/gwtransport/radial_asr.py extraction_to_infiltration   24 0 0   100%
src/gwtransport/radial_asr.py gamma_infiltration_to_extraction   2 0 0   100%
src/gwtransport/radial_asr.py gamma_extraction_to_infiltration   2 0 0   100%
src/gwtransport/radial_asr.py _velocity_gamma_streamtubes   10 4 0   60%
src/gwtransport/radial_asr.py (no function)   16 0 0   100%
src/gwtransport/recharge.py recharge_to_extraction   31 0 0   100%
src/gwtransport/recharge.py _arrival_times   19 0 0   100%
src/gwtransport/recharge.py _backward_entries   31 0 0   100%
src/gwtransport/recharge.py _bounded_average   77 0 0   100%
src/gwtransport/recharge.py _bounded_average.arrival_edge   4 0 0   100%
src/gwtransport/recharge.py _bounded_average.piece_integral   1 0 0   100%
src/gwtransport/recharge.py (no function)   10 0 0   100%
src/gwtransport/residence_time.py _resolve_spinup   8 0 0   100%
src/gwtransport/residence_time.py _phi_setup   9 0 0   100%
src/gwtransport/residence_time.py _eval_phi   8 0 0   100%
src/gwtransport/residence_time.py full   42 2 0   95%
src/gwtransport/residence_time.py mean   9 0 0   100%
src/gwtransport/residence_time.py gamma   149 3 0   98%
src/gwtransport/residence_time.py fraction_explained_full   32 2 0   94%
src/gwtransport/residence_time.py fraction_explained_mean   1 0 0   100%
src/gwtransport/residence_time.py fraction_explained_gamma   35 2 0   94%
src/gwtransport/residence_time.py freundlich_retardation   15 6 0   60%
src/gwtransport/residence_time.py (no function)   18 0 0   100%
src/gwtransport/utils.py step_plot_coords   3 0 0   100%
src/gwtransport/utils.py _make_strictly_monotone   19 0 0   100%
src/gwtransport/utils.py cumulative_flow_volume   2 0 0   100%
src/gwtransport/utils.py linear_interpolate   1 0 0   100%
src/gwtransport/utils.py simplify_bins   29 0 0   100%
src/gwtransport/utils.py compute_time_edges   28 0 0   100%
src/gwtransport/utils.py get_soil_temperature   24 1 0   96%
src/gwtransport/utils.py solve_underdetermined_system   37 11 0   70%
src/gwtransport/utils.py compute_reverse_target   9 0 0   100%
src/gwtransport/utils.py solve_tikhonov   23 4 0   83%
src/gwtransport/utils.py solve_inverse_transport   16 1 0   94%
src/gwtransport/utils.py solve_inverse_transport_banded   52 0 0   100%
src/gwtransport/utils.py _summed_differences_objective   2 0 0   100%
src/gwtransport/utils.py (no function)   27 0 0   100%
Total     5041 294 8   94%

No items found using the specified filter.