gitextract_3_jyodj_/ ├── .coveragerc ├── .dockerignore ├── .gitattributes ├── .gitignore ├── CHANGELOG.md ├── CHARTER.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── MAINTAINERS.md ├── MANIFEST.in ├── README.md ├── bump_version.sh ├── data/ │ ├── attribution.txt │ ├── features.csv │ ├── hourly_data_2.parquet │ ├── month_loadshape.csv │ ├── seasonal_day_of_week_loadshape.csv │ └── seasonal_hourly_day_of_week_loadshape.csv ├── docker-compose.yml ├── docs/ │ └── gridmeter/ │ ├── gridmeter.__version__.rst │ ├── gridmeter.bin_selection.rst │ ├── gridmeter.bins.rst │ ├── gridmeter.diagnostics.rst │ ├── gridmeter.distance_calc_selection.rst │ ├── gridmeter.equivalence.rst │ ├── gridmeter.model.rst │ ├── gridmeter.param_selection.rst │ ├── gridmeter.rst │ └── gridmeter.synthetic_data.rst ├── opendsm/ │ ├── __init__.py │ ├── common/ │ │ ├── __init__.py │ │ ├── base_settings.py │ │ ├── clustering/ │ │ │ ├── __init__.py │ │ │ ├── algorithms/ │ │ │ │ ├── __init__.py │ │ │ │ ├── birch.py │ │ │ │ ├── bisect_k_means.py │ │ │ │ ├── dbscan.py │ │ │ │ ├── hdbscan.py │ │ │ │ ├── sklearn_bisect_k_means.py │ │ │ │ └── spectral.py │ │ │ ├── cluster.py │ │ │ ├── metrics/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cluster_metrics.py │ │ │ │ └── density_based_clustering_validation.py │ │ │ ├── scoring.py │ │ │ ├── settings.py │ │ │ ├── transform.py │ │ │ └── voting.py │ │ ├── const.py │ │ ├── hourly_interpolation.py │ │ ├── metrics.py │ │ ├── pydantic_utils.py │ │ ├── stats/ │ │ │ ├── __init__.py │ │ │ ├── adaptive_loss.py │ │ │ ├── adaptive_loss_Z.py │ │ │ ├── basic.py │ │ │ ├── distribution_transform/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bisymlog.py │ │ │ │ ├── mu_sigma.py │ │ │ │ ├── raymaekers_robust_yeo_johnson.py │ │ │ │ ├── scipy_yeo_johnson.py │ │ │ │ └── standardize.py │ │ │ ├── outliers.py │ │ │ └── outliers_transformed.py │ │ ├── test_data.py │ │ └── utils.py │ ├── comparison_groups/ │ │ ├── __init__.py │ │ ├── archived_gridmeter_changelog.md │ │ ├── cg_clustering/ │ │ │ ├── __init__.py │ │ │ ├── bounds.py │ │ │ ├── create_comparison_groups.py │ │ │ ├── settings.py │ │ │ └── treatment_fit.py │ │ ├── common/ │ │ │ ├── __init__.py │ │ │ ├── base_comparison_group.py │ │ │ ├── const.py │ │ │ ├── data.py │ │ │ ├── data_settings.py │ │ │ └── tutorial_data.py │ │ ├── individual_meter_matching/ │ │ │ ├── __init__.py │ │ │ ├── create_comparison_groups.py │ │ │ ├── distance_calc_selection.py │ │ │ ├── highs_settings.py │ │ │ └── settings.py │ │ ├── random_sampling/ │ │ │ ├── __init__.py │ │ │ ├── create_comparison_groups.py │ │ │ └── settings.py │ │ ├── savings/ │ │ │ ├── __init__.py │ │ │ ├── archived_dev.py │ │ │ ├── cg_correction_testing.py │ │ │ ├── model_correction.py │ │ │ ├── scratch.ipynb │ │ │ └── settings.py │ │ └── stratified_sampling/ │ │ ├── __init__.py │ │ ├── bin_selection.py │ │ ├── bins.py │ │ ├── const.py │ │ ├── create_comparison_groups.py │ │ ├── diagnostics.py │ │ ├── equivalence.py │ │ ├── model.py │ │ ├── param_selection.py │ │ └── settings.py │ ├── drmeter/ │ │ ├── __init__.py │ │ └── models/ │ │ ├── __init__.py │ │ └── caltrack/ │ │ ├── __init__.py │ │ ├── data.py │ │ └── model.py │ └── eemeter/ │ ├── __init__.py │ ├── common/ │ │ ├── __init__.py │ │ ├── data_processor_utilities.py │ │ ├── data_settings.py │ │ ├── exceptions.py │ │ ├── features.py │ │ ├── sufficiency_criteria.py │ │ ├── transform.py │ │ └── warnings.py │ ├── models/ │ │ ├── __init__.py │ │ ├── billing/ │ │ │ ├── __init__.py │ │ │ ├── data.py │ │ │ ├── model.py │ │ │ ├── plot.py │ │ │ ├── settings.py │ │ │ └── weighted_model.py │ │ ├── daily/ │ │ │ ├── __init__.py │ │ │ ├── base_models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── c_hdd_tidd.py │ │ │ │ ├── full_model.py │ │ │ │ ├── hdd_tidd_cdd.py │ │ │ │ └── tidd.py │ │ │ ├── data.py │ │ │ ├── fit_base_models.py │ │ │ ├── model.py │ │ │ ├── objective_function.py │ │ │ ├── optimize.py │ │ │ ├── optimize_results.py │ │ │ ├── parameters.py │ │ │ ├── plot.py │ │ │ └── utilities/ │ │ │ ├── __init__.py │ │ │ ├── base_model.py │ │ │ ├── const.py │ │ │ ├── ellipsoid_test.py │ │ │ ├── opt_settings.py │ │ │ ├── selection_criteria.py │ │ │ └── settings.py │ │ ├── hourly/ │ │ │ ├── __init__.py │ │ │ ├── data.py │ │ │ ├── model.py │ │ │ └── settings.py │ │ └── hourly_caltrack/ │ │ ├── __init__.py │ │ ├── data.py │ │ ├── derivatives.py │ │ ├── design_matrices.py │ │ ├── metrics.py │ │ ├── model.py │ │ ├── segmentation.py │ │ ├── usage_per_day.py │ │ └── wrapper.py │ ├── samples/ │ │ ├── __init__.py │ │ ├── load.py │ │ └── metadata.json │ └── utilities/ │ ├── __init__.py │ └── io.py ├── pyproject.toml ├── pytest.ini ├── setup.cfg ├── tests/ │ ├── common/ │ │ ├── clustering/ │ │ │ ├── test_bisect_k_means.py │ │ │ ├── test_cluster.py │ │ │ ├── test_cluster_transform.py │ │ │ ├── test_spectral.py │ │ │ └── test_voting.py │ │ ├── metrics.py │ │ ├── test_basic_stats.py │ │ └── test_utils.py │ ├── comparison_groups/ │ │ ├── conftest.py │ │ ├── imm/ │ │ │ └── test_distance_calc_selection.py │ │ └── stratified_sampling/ │ │ ├── test_bin.py │ │ ├── test_bin_selection.py │ │ ├── test_diagnostics.py │ │ ├── test_equivalence.py │ │ └── test_model.py │ ├── conftest.py │ ├── eemeter/ │ │ ├── daily_model/ │ │ │ ├── base_models/ │ │ │ │ ├── test_c_hdd_tidd_smooth.py │ │ │ │ └── test_full_model_finder.py │ │ │ ├── test_billing_data.py │ │ │ ├── test_daily_data.py │ │ │ ├── test_daily_model.py │ │ │ ├── test_data.csv │ │ │ ├── test_fit_base_models.py │ │ │ ├── test_fit_model.py │ │ │ ├── test_objective_function.py │ │ │ ├── test_optimize.py │ │ │ ├── test_optimize_results.py │ │ │ └── utilities/ │ │ │ ├── test_adaptive_loss.py │ │ │ ├── test_base_model.py │ │ │ ├── test_config.py │ │ │ ├── test_ellipsoid_test.py │ │ │ └── test_selection_criteria.py │ │ └── hourly_model/ │ │ ├── conftest.py │ │ └── test_hourly_model.py │ ├── legacy_hourly.json │ ├── snapshots/ │ │ ├── __init__.py │ │ └── snap_test_features.py │ ├── test_caltrack_design_matrices.py │ ├── test_caltrack_hourly.py │ ├── test_derivatives.py │ ├── test_exceptions.py │ ├── test_features.py │ ├── test_io.py │ ├── test_json_serialization.py │ ├── test_samples.py │ ├── test_segmentation.py │ ├── test_transform.py │ ├── test_version.py │ └── test_warnings.py └── tox.ini