diff --git a/README.md b/README.md index e0df8d8..2a2d3a1 100644 --- a/README.md +++ b/README.md @@ -18,27 +18,18 @@ A technical memorandum describing DEMOS is available [here](./DEMOS_Technical_Me ### Docker Compose (recommended) The latest docker image for demos is stored in `ghcr.io/NatLabRockies/demos:latest`. The input data and configuration file are fed to the container through volumes ([more info about Docker volumes](https://docs.docker.com/engine/storage/volumes/)). We provide a `docker-compose` workflow that can be used to make the process of mounting volumes easier. -#### Prepare the configuration file and data folder +#### Clone this repository +By cloning this repository you download the configuration and data for an example run of DEMOS. Run the following command in the Terminal App (MacOS) or Command Prompt/PowerShell (Windows): - ```bash -# Create a directory where to run DEMOS from -mkdir demos -cd demos - -# Create the configuration folder and retrieve an example configuration -mkdir configuration -cd configuration -curl -L -o demos_config.toml https://raw.githubusercontent.com/NatLabRockies/DEMOS/main/configuration/demos_config_sfbay.toml - -# Create the data folder for the output to be stored -cd .. -mkdir data -# Populate the data folder - -# Finally, retrieve the docker-compose.yml file -curl -L -o docker-compose.yml https://raw.githubusercontent.com/NatLabRockies/DEMOS/main/docker-compose.yml +git clone https://github.com/NatLabRockies/DEMOS.git + +# Move into the project folder +cd DEMOS + +# This folder contains (among other files) a data and configuration folder +# as well as a docker-compose.yml file ``` Make sure you have [Docker](https://docs.docker.com/desktop/) and [Docker Compose](https://docs.docker.com/compose/install/) installed. Now you can run docker as follows: diff --git a/configuration/demos_config.toml b/configuration/demos_config.toml index 818f6a0..475603d 100644 --- a/configuration/demos_config.toml +++ b/configuration/demos_config.toml @@ -2,7 +2,7 @@ random_seed = 100 base_year = 2010 forecast_year = 2019 -calibrated_models_dir = "../data/sf_bay_example/calibrated_models_coefficients/" +calibrated_models_dir = "../data/small_example/calibrated_models_coefficients/" inconsistent_persons_table_behavior = "fix" modules = [ "aging", @@ -26,38 +26,40 @@ initialize_empty_tables = [ "rebalanced_households" ] + # Data sources + ## Synthetic population data [[tables]] file_type = "h5" table_name = "persons" -filepath = "../data/sf_bay_example/custom_mpo_06197001_model_data.h5" +filepath = "../data/small_example/small_example_tables.h5" # custom_mpo_06197001_model_data_small.h5, minihh.h5, custom_mpo_06197001_model_data_small_stratHH.h5, custom_mpo_06197001_model_data_hh0.05.h5, countyNM.h5 h5_key = "persons" [[tables]] file_type = "h5" table_name = "households" -filepath = "../data/sf_bay_example/custom_mpo_06197001_model_data.h5" +filepath = "../data/small_example/small_example_tables.h5" # custom_mpo_06197001_model_data_small.h5, minihh.h5, custom_mpo_06197001_model_data_hh0.05.h5, custom_mpo_06197001_model_data_county1, countyNM.h5 h5_key = "households" ## Other static data tables [[tables]] file_type = "csv" table_name = "relational_adjustment_mapping" -filepath = "../data/sf_bay_example/relmap_06197001.csv" +filepath = "../data/small_example/relmap_06197001.csv" index_col = "index" [[tables]] file_type = "csv" table_name = "income_rates" -filepath = "../data/sf_bay_example/observed_calibration_values/income_rates_06197001.csv" +filepath = "../data/small_example/observed_calibration_values/income_rates_06197001.csv" index_col = "year" custom_dtype_casting = {"lcm_county_id" = "object", "year" = "int", "rate" = "float"} [[tables]] file_type = "csv" table_name = "hsize_ct" -filepath = "../data/sf_bay_example/observed_calibration_values/hsize_ct_06197001.csv" +filepath = "../data/small_example/observed_calibration_values/hsize_ct_06197001_4155.csv" index_col = "year" custom_dtype_casting = {"lcm_county_id" = "object", "year" = "int", "hh_size" = "object", "total_number_of_households" = "int"} @@ -67,13 +69,13 @@ custom_dtype_casting = {"lcm_county_id" = "object", "year" = "int", "hh_size" = [[tables]] file_type = "csv" table_name = "observed_employment" -filepath = "../data/sf_bay_example/observed_calibration_values/employment_obs.csv" +filepath = "../data/small_example/observed_calibration_values/employment_obs_county.csv" index_col = "year" [[tables]] file_type = "csv" table_name = "observed_marrital_data" -filepath = "../data/sf_bay_example/observed_calibration_values/marrital_status_over_time_obs.csv" +filepath = "../data/small_example/observed_calibration_values/marrital_status_over_time_obs_county.csv" index_col = "year" @@ -88,24 +90,24 @@ momentum_weight = 0.3 [mortality_module_config.calibration_procedure] procedure_type = "rmse_error" tolerance_type = "absolute" -tolerance = 1000 -max_iter = 1000 +tolerance = 30 +max_iter = 500 [mortality_module_config.calibration_procedure.observed_values_table] file_type = "csv" table_name = "observed_fatalities_data" -filepath = "../data/sf_bay_example/observed_calibration_values/mortalities_over_time_obs.csv" +filepath = "../data/small_example/observed_calibration_values/mortalities_over_time_obs_county2.csv" index_col = "year" ## Birth [birth_module_config.calibration_procedure] procedure_type = "rmse_error" tolerance_type = "absolute" -tolerance = 1000 +tolerance = 60 # lower max_iter = 1000 [birth_module_config.calibration_procedure.observed_values_table] file_type = "csv" table_name = "observed_births_data" -filepath = "../data/sf_bay_example/observed_calibration_values/births_over_time_obs.csv" +filepath = "../data/small_example/observed_calibration_values/births_over_time_obs_county2.csv" index_col = "year" ## HH Reorg @@ -115,7 +117,7 @@ geoid_col = "lcm_county_id" [hh_reorg_module_config.simultaneous_calibration_config] tolerance = 5_000 max_iter = 100 -learning_rate = 2.5 +learning_rate = 1.5 momentum_weight = 0.3 ## HH Rebalancing @@ -128,6 +130,5 @@ geoid_col = "lcm_county_id" [kids_moving_module_config] geoid_col = "lcm_county_id" calibration_target_share = 0.12 -calibration_tolerance = 0.001 - - +calibration_tolerance = 0.01 +max_iter = 100 diff --git a/configuration/demos_config_sfbay.toml b/configuration/demos_config_ref.toml similarity index 98% rename from configuration/demos_config_sfbay.toml rename to configuration/demos_config_ref.toml index 71665df..818f6a0 100644 --- a/configuration/demos_config_sfbay.toml +++ b/configuration/demos_config_ref.toml @@ -127,5 +127,7 @@ geoid_col = "lcm_county_id" # Kids Moving [kids_moving_module_config] geoid_col = "lcm_county_id" +calibration_target_share = 0.12 +calibration_tolerance = 0.001 diff --git a/data/.gitignore b/data/.gitignore index 1e40af9..426bbde 100644 --- a/data/.gitignore +++ b/data/.gitignore @@ -1,4 +1,5 @@ * +**.h5 !.gitignore !calibrated_values/ !calibrated_values/** @@ -6,5 +7,7 @@ !calibrated_configs/** !sf_bay_example/ !sf_bay_example/** -**/.DS_Store -**.h5 \ No newline at end of file +!small_example/ +!small_example/** +!small_example/*.h5 +**/.DS_Store \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/births_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/births_over_time_obs.csv deleted file mode 100644 index 0767f34..0000000 --- a/data/sf_bay_example/observed_calibration_values/births_over_time_obs.csv +++ /dev/null @@ -1,52 +0,0 @@ -year,count -2010,87914 -2011,86836 -2012,88113 -2013,86327 -2014,88383 -2015,87338 -2016,86874 -2017,84062 -2018,81378 -2019,80564 -2020,76900 -2021,78444 -2022,77643 -2023,76855 -2024,76151 -2025,75639 -2026,75200 -2027,75367 -2028,74568 -2029,74504 -2030,74448 -2031,74207 -2032,74193 -2033,74348 -2034,74599 -2035,74941 -2036,75399 -2037,75806 -2038,76145 -2039,76679 -2040,77303 -2041,77541 -2042,77831 -2043,77987 -2044,78092 -2045,78184 -2046,78108 -2047,77978 -2048,77810 -2049,77634 -2050,77369 -2051,76989 -2052,76603 -2053,76240 -2054,75988 -2055,75709 -2056,75502 -2057,75483 -2058,75476 -2059,75393 -2060,75441 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/divorces_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/divorces_over_time_obs.csv deleted file mode 100644 index 69d22cd..0000000 --- a/data/sf_bay_example/observed_calibration_values/divorces_over_time_obs.csv +++ /dev/null @@ -1,11 +0,0 @@ -year,count -2010,550347 -2011,569855 -2012,576144 -2013,572651 -2014,582591 -2015,582912 -2016,564950 -2017,588749 -2018,539277 -2019,528856 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/employment_obs.csv b/data/sf_bay_example/observed_calibration_values/employment_obs.csv deleted file mode 100644 index f4399b8..0000000 --- a/data/sf_bay_example/observed_calibration_values/employment_obs.csv +++ /dev/null @@ -1,11 +0,0 @@ -year,count -2010,3456405 -2011,3466628 -2012,3494244 -2013,3523187 -2014,3597595 -2015,3693932 -2016,3781124 -2017,3885924 -2018,3964071 -2019,4024097 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/enrollment_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/enrollment_over_time_obs.csv deleted file mode 100644 index 9c6eaa6..0000000 --- a/data/sf_bay_example/observed_calibration_values/enrollment_over_time_obs.csv +++ /dev/null @@ -1,11 +0,0 @@ -year,count -2010,1157971 -2011,1151007 -2012,1166720 -2013,1168844 -2014,1174030 -2015,1166571 -2016,1162641 -2017,1158515 -2018,1158848 -2019,1144250 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/entering_workforce_obs.csv b/data/sf_bay_example/observed_calibration_values/entering_workforce_obs.csv deleted file mode 100644 index 75057d4..0000000 --- a/data/sf_bay_example/observed_calibration_values/entering_workforce_obs.csv +++ /dev/null @@ -1,51 +0,0 @@ -year,share -2011,0.784743494 -2012,0.769209902 -2013,0.755920859 -2014,0.714156818 -2015,0.685501712 -2016,0.680775517 -2017,0.648830824 -2018,0.637108559 -2019,0.634627684 -2020,0.645741426 -2021,0.68307696 -2022,0.716682073 -2023,0.706817804 -2024,0.696799907 -2025,0.688226119 -2026,0.680639156 -2027,0.784744066 -2028,0.769209196 -2029,0.755921226 -2030,0.71415805 -2031,0.685502254 -2032,0.680774948 -2033,0.648832162 -2034,0.637108103 -2035,0.784744066 -2036,0.769209196 -2037,0.755921226 -2038,0.71415805 -2039,0.685502254 -2040,0.680774948 -2041,0.648832162 -2042,0.637108103 -2043,0.784744066 -2044,0.769209196 -2045,0.755921226 -2046,0.71415805 -2047,0.685502254 -2048,0.680774948 -2049,0.648832162 -2050,0.637108103 -2051,0.784744066 -2052,0.769209196 -2053,0.755921226 -2054,0.71415805 -2055,0.685502254 -2056,0.680774948 -2057,0.648832162 -2058,0.637108103 -2059,0.637108103 -2060,0.637108103 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/exiting_workforce_obs.csv b/data/sf_bay_example/observed_calibration_values/exiting_workforce_obs.csv deleted file mode 100644 index 79f97bb..0000000 --- a/data/sf_bay_example/observed_calibration_values/exiting_workforce_obs.csv +++ /dev/null @@ -1,51 +0,0 @@ -year,share -2011,0.015749908 -2012,0.014537736 -2013,0.013839259 -2014,0.013078405 -2015,0.012108904 -2016,0.011623281 -2017,0.011088008 -2018,0.010143963 -2019,0.009439071 -2020,0.026642719 -2021,0.011476334 -2022,0.013810899 -2023,0.013563653 -2024,0.013393006 -2025,0.013302407 -2026,0.013259636 -2027,0.015749881 -2028,0.014537693 -2029,0.013839279 -2030,0.01307844 -2031,0.012108874 -2032,0.011623262 -2033,0.011087979 -2034,0.010143999 -2035,0.015749881 -2036,0.014537693 -2037,0.013839279 -2038,0.01307844 -2039,0.012108874 -2040,0.011623262 -2041,0.011087979 -2042,0.010143999 -2043,0.015749881 -2044,0.014537693 -2045,0.013839279 -2046,0.01307844 -2047,0.012108874 -2048,0.011623262 -2049,0.011087979 -2050,0.010143999 -2051,0.015749881 -2052,0.014537693 -2053,0.013839279 -2054,0.01307844 -2055,0.012108874 -2056,0.011623262 -2057,0.011087979 -2058,0.010143999 -2059,0.010143999 -2060,0.010143999 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/gender_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/gender_over_time_obs.csv deleted file mode 100644 index 73768c0..0000000 --- a/data/sf_bay_example/observed_calibration_values/gender_over_time_obs.csv +++ /dev/null @@ -1,21 +0,0 @@ -year,sex,count -2010,male,3553374 -2010,female,3615923 -2011,male,3592507 -2011,female,3650583 -2012,male,3641894 -2012,female,3702801 -2013,male,3693382 -2013,female,3745074 -2014,male,3746410 -2014,female,3815345 -2015,male,3795112 -2015,female,3859758 -2016,male,3815935 -2016,female,3868076 -2017,male,3853774 -2017,female,3902384 -2018,male,3861667 -2018,female,3891356 -2019,male,3847148 -2019,female,3892230 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/households_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/households_over_time_obs.csv deleted file mode 100644 index 5bb7b3b..0000000 --- a/data/sf_bay_example/observed_calibration_values/households_over_time_obs.csv +++ /dev/null @@ -1,11 +0,0 @@ -year,count -2010,2576408 -2011,2599927 -2012,2624349 -2013,2653037 -2014,2674697 -2015,2709476 -2016,2713705 -2017,2715977 -2018,2731126 -2019,2754402 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/hsize_ct_06197001.csv b/data/sf_bay_example/observed_calibration_values/hsize_ct_06197001.csv deleted file mode 100644 index 1ef9fe2..0000000 --- a/data/sf_bay_example/observed_calibration_values/hsize_ct_06197001.csv +++ /dev/null @@ -1,1441 +0,0 @@ -year,lcm_county_id,hh_size,total_number_of_households -2011,06001,one,144803 -2011,06013,one,85236 -2011,06041,one,29456 -2011,06055,one,11697 -2011,06075,one,130549 -2011,06081,one,63919 -2011,06085,one,133580 -2011,06095,one,32123 -2011,06097,one,53369 -2012,06001,one,145364 -2012,06013,one,93045 -2012,06041,one,32079 -2012,06055,one,12668 -2012,06075,one,136815 -2012,06081,one,68901 -2012,06085,one,133027 -2012,06095,one,32956 -2012,06097,one,50422 -2013,06001,one,147123 -2013,06013,one,87191 -2013,06041,one,31895 -2013,06055,one,12022 -2013,06075,one,134187 -2013,06081,one,61638 -2013,06085,one,133896 -2013,06095,one,33333 -2013,06097,one,54235 -2014,06001,one,137552 -2014,06013,one,89899 -2014,06041,one,35035 -2014,06055,one,12038 -2014,06075,one,134065 -2014,06081,one,62818 -2014,06085,one,134405 -2014,06095,one,30882 -2014,06097,one,54859 -2015,06001,one,138663 -2015,06013,one,86408 -2015,06041,one,32333 -2015,06055,one,13149 -2015,06075,one,133937 -2015,06081,one,57938 -2015,06085,one,130568 -2015,06095,one,33174 -2015,06097,one,53210 -2016,06001,one,138557 -2016,06013,one,83423 -2016,06041,one,33013 -2016,06055,one,14161 -2016,06075,one,124885 -2016,06081,one,59046 -2016,06085,one,127972 -2016,06095,one,29229 -2016,06097,one,52393 -2017,06001,one,139647 -2017,06013,one,81688 -2017,06041,one,30282 -2017,06055,one,12348 -2017,06075,one,131049 -2017,06081,one,62017 -2017,06085,one,128155 -2017,06095,one,35098 -2017,06097,one,54959 -2018,06001,one,140793 -2018,06013,one,87593 -2018,06041,one,29428 -2018,06055,one,11005 -2018,06075,one,125466 -2018,06081,one,56594 -2018,06085,one,130039 -2018,06095,one,33767 -2018,06097,one,49557 -2019,06001,one,152150 -2019,06013,one,91579 -2019,06041,one,32844 -2019,06055,one,13628 -2019,06075,one,133760 -2019,06081,one,60842 -2019,06085,one,137042 -2019,06095,one,34647 -2019,06097,one,51370 -2020,06001,one,140797 -2020,06013,one,86988 -2020,06041,one,30769 -2020,06055,one,12237 -2020,06075,one,131319 -2020,06081,one,58558 -2020,06085,one,129387 -2020,06095,one,32896 -2020,06097,one,51098 -2011,06001,two,162979 -2011,06013,two,117662 -2011,06041,two,39735 -2011,06055,two,19210 -2011,06075,two,114470 -2011,06081,two,81812 -2011,06085,two,174087 -2011,06095,two,43508 -2011,06097,two,62958 -2012,06001,two,165327 -2012,06013,two,117999 -2012,06041,two,35076 -2012,06055,two,16492 -2012,06075,two,112272 -2012,06081,two,81822 -2012,06085,two,181001 -2012,06095,two,44173 -2012,06097,two,64120 -2013,06001,two,164872 -2013,06013,two,119625 -2013,06041,two,34107 -2013,06055,two,15284 -2013,06075,two,120874 -2013,06081,two,80920 -2013,06085,two,181860 -2013,06095,two,45790 -2013,06097,two,64288 -2014,06001,two,174249 -2014,06013,two,118368 -2014,06041,two,33538 -2014,06055,two,17461 -2014,06075,two,115777 -2014,06081,two,81625 -2014,06085,two,184136 -2014,06095,two,48014 -2014,06097,two,65613 -2015,06001,two,174839 -2015,06013,two,122036 -2015,06041,two,37115 -2015,06055,two,15708 -2015,06075,two,119352 -2015,06081,two,82396 -2015,06085,two,190772 -2015,06095,two,48322 -2015,06097,two,64098 -2016,06001,two,172573 -2016,06013,two,125588 -2016,06041,two,36030 -2016,06055,two,16264 -2016,06075,two,124120 -2016,06081,two,80781 -2016,06085,two,188040 -2016,06095,two,48734 -2016,06097,two,64563 -2017,06001,two,176194 -2017,06013,two,126838 -2017,06041,two,34908 -2017,06055,two,16195 -2017,06075,two,120182 -2017,06081,two,85661 -2017,06085,two,194474 -2017,06095,two,47655 -2017,06097,two,66727 -2018,06001,two,177540 -2018,06013,two,125966 -2018,06041,two,40144 -2018,06055,two,16905 -2018,06075,two,123044 -2018,06081,two,87613 -2018,06085,two,197759 -2018,06095,two,47694 -2018,06097,two,67335 -2019,06001,two,179441 -2019,06013,two,121888 -2019,06041,two,37075 -2019,06055,two,16588 -2019,06075,two,119768 -2019,06081,two,88002 -2019,06085,two,203245 -2019,06095,two,49842 -2019,06097,two,68508 -2020,06001,two,173638 -2020,06013,two,125801 -2020,06041,two,37579 -2020,06055,two,16890 -2020,06075,two,119667 -2020,06081,two,85245 -2020,06085,two,194296 -2020,06095,two,48435 -2020,06097,two,65572 -2011,06001,three,96392 -2011,06013,three,69063 -2011,06041,three,14559 -2011,06055,three,5357 -2011,06075,three,43649 -2011,06081,three,37708 -2011,06085,three,116744 -2011,06095,three,26120 -2011,06097,three,25771 -2012,06001,three,97683 -2012,06013,three,63171 -2012,06041,three,13757 -2012,06055,three,5896 -2012,06075,three,45083 -2012,06081,three,41664 -2012,06085,three,112945 -2012,06095,three,24593 -2012,06097,three,29319 -2013,06001,three,98851 -2013,06013,three,65873 -2013,06041,three,14497 -2013,06055,three,8238 -2013,06075,three,47478 -2013,06081,three,45438 -2013,06085,three,113250 -2013,06095,three,25257 -2013,06097,three,29155 -2014,06001,three,103716 -2014,06013,three,70095 -2014,06041,three,16314 -2014,06055,three,7803 -2014,06075,three,49018 -2014,06081,three,42719 -2014,06085,three,114359 -2014,06095,three,26731 -2014,06097,three,26988 -2015,06001,three,103213 -2015,06013,three,67486 -2015,06041,three,15695 -2015,06055,three,8008 -2015,06075,three,47312 -2015,06081,three,47902 -2015,06085,three,116933 -2015,06095,three,23651 -2015,06097,three,32049 -2016,06001,three,101614 -2016,06013,three,68228 -2016,06041,three,17202 -2016,06055,three,7639 -2016,06075,three,51436 -2016,06081,three,51655 -2016,06085,three,118549 -2016,06095,three,27416 -2016,06097,three,30083 -2017,06001,three,99653 -2017,06013,three,66945 -2017,06041,three,16067 -2017,06055,three,7008 -2017,06075,three,49000 -2017,06081,three,47736 -2017,06085,three,117223 -2017,06095,three,28231 -2017,06097,three,27244 -2018,06001,three,101701 -2018,06013,three,73417 -2018,06041,three,14813 -2018,06055,three,6431 -2018,06075,three,53708 -2018,06081,three,45651 -2018,06085,three,126043 -2018,06095,three,25985 -2018,06097,three,27654 -2019,06001,three,99140 -2019,06013,three,71956 -2019,06041,three,14418 -2019,06055,three,7280 -2019,06075,three,51540 -2019,06081,three,45049 -2019,06085,three,118924 -2019,06095,three,25962 -2019,06097,three,26276 -2020,06001,three,100968 -2020,06013,three,71449 -2020,06041,three,15264 -2020,06055,three,7196 -2020,06075,three,52027 -2020,06081,three,48908 -2020,06085,three,120655 -2020,06095,three,27201 -2020,06097,three,29544 -2011,06001,four or more,141385 -2011,06013,four or more,104365 -2011,06041,four or more,17973 -2011,06055,four or more,13669 -2011,06075,four or more,54038 -2011,06081,four or more,73087 -2011,06085,four or more,182048 -2011,06095,four or more,38241 -2011,06097,four or more,38605 -2012,06001,four or more,139900 -2012,06013,four or more,106182 -2012,06041,four or more,21515 -2012,06055,four or more,13168 -2012,06075,four or more,52672 -2012,06081,four or more,66501 -2012,06085,four or more,186837 -2012,06095,four or more,39417 -2012,06097,four or more,40487 -2013,06001,four or more,145063 -2013,06013,four or more,109667 -2013,06041,four or more,22348 -2013,06055,four or more,11938 -2013,06075,four or more,52112 -2013,06081,four or more,70795 -2013,06085,four or more,190331 -2013,06095,four or more,38197 -2013,06097,four or more,41409 -2014,06001,four or more,148084 -2014,06013,four or more,109574 -2014,06041,four or more,18622 -2014,06055,four or more,13214 -2014,06075,four or more,54546 -2014,06081,four or more,70311 -2014,06085,four or more,189168 -2014,06095,four or more,39686 -2014,06097,four or more,43415 -2015,06001,four or more,155113 -2015,06013,four or more,116066 -2015,06041,four or more,20744 -2015,06055,four or more,12754 -2015,06075,four or more,56315 -2015,06081,four or more,75044 -2015,06085,four or more,195513 -2015,06095,four or more,40355 -2015,06097,four or more,41305 -2016,06001,four or more,159268 -2016,06013,four or more,114049 -2016,06041,four or more,20088 -2016,06055,four or more,11497 -2016,06075,four or more,58262 -2016,06081,four or more,71963 -2016,06085,four or more,201126 -2016,06095,four or more,43793 -2016,06097,four or more,40465 -2017,06001,four or more,158095 -2017,06013,four or more,116575 -2017,06041,four or more,22962 -2017,06055,four or more,12297 -2017,06075,four or more,60092 -2017,06081,four or more,68771 -2017,06085,four or more,193959 -2017,06095,four or more,40143 -2017,06097,four or more,39899 -2018,06001,four or more,155376 -2018,06013,four or more,109157 -2018,06041,four or more,20569 -2018,06055,four or more,12974 -2018,06075,four or more,60609 -2018,06081,four or more,69796 -2018,06085,four or more,191267 -2018,06095,four or more,44845 -2018,06097,four or more,42888 -2019,06001,four or more,154901 -2019,06013,four or more,114369 -2019,06041,four or more,20961 -2019,06055,four or more,10611 -2019,06075,four or more,60783 -2019,06081,four or more,71110 -2019,06085,four or more,184426 -2019,06095,four or more,39942 -2019,06097,four or more,44535 -2020,06001,four or more,157771 -2020,06013,four or more,114061 -2020,06041,four or more,21288 -2020,06055,four or more,12161 -2020,06075,four or more,59128 -2020,06081,four or more,70640 -2020,06085,four or more,190976 -2020,06095,four or more,42659 -2020,06097,four or more,42744 -2021,06001,one,144803 -2021,06013,one,85236 -2021,06041,one,29456 -2021,06055,one,11697 -2021,06075,one,130549 -2021,06081,one,63919 -2021,06085,one,133580 -2021,06095,one,32123 -2021,06097,one,53369 -2022,06001,one,145364 -2022,06013,one,93045 -2022,06041,one,32079 -2022,06055,one,12668 -2022,06075,one,136815 -2022,06081,one,68901 -2022,06085,one,133027 -2022,06095,one,32956 -2022,06097,one,50422 -2023,06001,one,147123 -2023,06013,one,87191 -2023,06041,one,31895 -2023,06055,one,12022 -2023,06075,one,134187 -2023,06081,one,61638 -2023,06085,one,133896 -2023,06095,one,33333 -2023,06097,one,54235 -2024,06001,one,137552 -2024,06013,one,89899 -2024,06041,one,35035 -2024,06055,one,12038 -2024,06075,one,134065 -2024,06081,one,62818 -2024,06085,one,134405 -2024,06095,one,30882 -2024,06097,one,54859 -2025,06001,one,138663 -2025,06013,one,86408 -2025,06041,one,32333 -2025,06055,one,13149 -2025,06075,one,133937 -2025,06081,one,57938 -2025,06085,one,130568 -2025,06095,one,33174 -2025,06097,one,53210 -2026,06001,one,138557 -2026,06013,one,83423 -2026,06041,one,33013 -2026,06055,one,14161 -2026,06075,one,124885 -2026,06081,one,59046 -2026,06085,one,127972 -2026,06095,one,29229 -2026,06097,one,52393 -2027,06001,one,139647 -2027,06013,one,81688 -2027,06041,one,30282 -2027,06055,one,12348 -2027,06075,one,131049 -2027,06081,one,62017 -2027,06085,one,128155 -2027,06095,one,35098 -2027,06097,one,54959 -2028,06001,one,140793 -2028,06013,one,87593 -2028,06041,one,29428 -2028,06055,one,11005 -2028,06075,one,125466 -2028,06081,one,56594 -2028,06085,one,130039 -2028,06095,one,33767 -2028,06097,one,49557 -2029,06001,one,152150 -2029,06013,one,91579 -2029,06041,one,32844 -2029,06055,one,13628 -2029,06075,one,133760 -2029,06081,one,60842 -2029,06085,one,137042 -2029,06095,one,34647 -2029,06097,one,51370 -2030,06001,one,140797 -2030,06013,one,86988 -2030,06041,one,30769 -2030,06055,one,12237 -2030,06075,one,131319 -2030,06081,one,58558 -2030,06085,one,129387 -2030,06095,one,32896 -2030,06097,one,51098 -2021,06001,two,162979 -2021,06013,two,117662 -2021,06041,two,39735 -2021,06055,two,19210 -2021,06075,two,114470 -2021,06081,two,81812 -2021,06085,two,174087 -2021,06095,two,43508 -2021,06097,two,62958 -2022,06001,two,165327 -2022,06013,two,117999 -2022,06041,two,35076 -2022,06055,two,16492 -2022,06075,two,112272 -2022,06081,two,81822 -2022,06085,two,181001 -2022,06095,two,44173 -2022,06097,two,64120 -2023,06001,two,164872 -2023,06013,two,119625 -2023,06041,two,34107 -2023,06055,two,15284 -2023,06075,two,120874 -2023,06081,two,80920 -2023,06085,two,181860 -2023,06095,two,45790 -2023,06097,two,64288 -2024,06001,two,174249 -2024,06013,two,118368 -2024,06041,two,33538 -2024,06055,two,17461 -2024,06075,two,115777 -2024,06081,two,81625 -2024,06085,two,184136 -2024,06095,two,48014 -2024,06097,two,65613 -2025,06001,two,174839 -2025,06013,two,122036 -2025,06041,two,37115 -2025,06055,two,15708 -2025,06075,two,119352 -2025,06081,two,82396 -2025,06085,two,190772 -2025,06095,two,48322 -2025,06097,two,64098 -2026,06001,two,172573 -2026,06013,two,125588 -2026,06041,two,36030 -2026,06055,two,16264 -2026,06075,two,124120 -2026,06081,two,80781 -2026,06085,two,188040 -2026,06095,two,48734 -2026,06097,two,64563 -2027,06001,two,176194 -2027,06013,two,126838 -2027,06041,two,34908 -2027,06055,two,16195 -2027,06075,two,120182 -2027,06081,two,85661 -2027,06085,two,194474 -2027,06095,two,47655 -2027,06097,two,66727 -2028,06001,two,177540 -2028,06013,two,125966 -2028,06041,two,40144 -2028,06055,two,16905 -2028,06075,two,123044 -2028,06081,two,87613 -2028,06085,two,197759 -2028,06095,two,47694 -2028,06097,two,67335 -2029,06001,two,179441 -2029,06013,two,121888 -2029,06041,two,37075 -2029,06055,two,16588 -2029,06075,two,119768 -2029,06081,two,88002 -2029,06085,two,203245 -2029,06095,two,49842 -2029,06097,two,68508 -2030,06001,two,173638 -2030,06013,two,125801 -2030,06041,two,37579 -2030,06055,two,16890 -2030,06075,two,119667 -2030,06081,two,85245 -2030,06085,two,194296 -2030,06095,two,48435 -2030,06097,two,65572 -2021,06001,three,96392 -2021,06013,three,69063 -2021,06041,three,14559 -2021,06055,three,5357 -2021,06075,three,43649 -2021,06081,three,37708 -2021,06085,three,116744 -2021,06095,three,26120 -2021,06097,three,25771 -2022,06001,three,97683 -2022,06013,three,63171 -2022,06041,three,13757 -2022,06055,three,5896 -2022,06075,three,45083 -2022,06081,three,41664 -2022,06085,three,112945 -2022,06095,three,24593 -2022,06097,three,29319 -2023,06001,three,98851 -2023,06013,three,65873 -2023,06041,three,14497 -2023,06055,three,8238 -2023,06075,three,47478 -2023,06081,three,45438 -2023,06085,three,113250 -2023,06095,three,25257 -2023,06097,three,29155 -2024,06001,three,103716 -2024,06013,three,70095 -2024,06041,three,16314 -2024,06055,three,7803 -2024,06075,three,49018 -2024,06081,three,42719 -2024,06085,three,114359 -2024,06095,three,26731 -2024,06097,three,26988 -2025,06001,three,103213 -2025,06013,three,67486 -2025,06041,three,15695 -2025,06055,three,8008 -2025,06075,three,47312 -2025,06081,three,47902 -2025,06085,three,116933 -2025,06095,three,23651 -2025,06097,three,32049 -2026,06001,three,101614 -2026,06013,three,68228 -2026,06041,three,17202 -2026,06055,three,7639 -2026,06075,three,51436 -2026,06081,three,51655 -2026,06085,three,118549 -2026,06095,three,27416 -2026,06097,three,30083 -2027,06001,three,99653 -2027,06013,three,66945 -2027,06041,three,16067 -2027,06055,three,7008 -2027,06075,three,49000 -2027,06081,three,47736 -2027,06085,three,117223 -2027,06095,three,28231 -2027,06097,three,27244 -2028,06001,three,101701 -2028,06013,three,73417 -2028,06041,three,14813 -2028,06055,three,6431 -2028,06075,three,53708 -2028,06081,three,45651 -2028,06085,three,126043 -2028,06095,three,25985 -2028,06097,three,27654 -2029,06001,three,99140 -2029,06013,three,71956 -2029,06041,three,14418 -2029,06055,three,7280 -2029,06075,three,51540 -2029,06081,three,45049 -2029,06085,three,118924 -2029,06095,three,25962 -2029,06097,three,26276 -2030,06001,three,100968 -2030,06013,three,71449 -2030,06041,three,15264 -2030,06055,three,7196 -2030,06075,three,52027 -2030,06081,three,48908 -2030,06085,three,120655 -2030,06095,three,27201 -2030,06097,three,29544 -2021,06001,four or more,141385 -2021,06013,four or more,104365 -2021,06041,four or more,17973 -2021,06055,four or more,13669 -2021,06075,four or more,54038 -2021,06081,four or more,73087 -2021,06085,four or more,182048 -2021,06095,four or more,38241 -2021,06097,four or more,38605 -2022,06001,four or more,139900 -2022,06013,four or more,106182 -2022,06041,four or more,21515 -2022,06055,four or more,13168 -2022,06075,four or more,52672 -2022,06081,four or more,66501 -2022,06085,four or more,186837 -2022,06095,four or more,39417 -2022,06097,four or more,40487 -2023,06001,four or more,145063 -2023,06013,four or more,109667 -2023,06041,four or more,22348 -2023,06055,four or more,11938 -2023,06075,four or more,52112 -2023,06081,four or more,70795 -2023,06085,four or more,190331 -2023,06095,four or more,38197 -2023,06097,four or more,41409 -2024,06001,four or more,148084 -2024,06013,four or more,109574 -2024,06041,four or more,18622 -2024,06055,four or more,13214 -2024,06075,four or more,54546 -2024,06081,four or more,70311 -2024,06085,four or more,189168 -2024,06095,four or more,39686 -2024,06097,four or more,43415 -2025,06001,four or more,155113 -2025,06013,four or more,116066 -2025,06041,four or more,20744 -2025,06055,four or more,12754 -2025,06075,four or more,56315 -2025,06081,four or more,75044 -2025,06085,four or more,195513 -2025,06095,four or more,40355 -2025,06097,four or more,41305 -2026,06001,four or more,159268 -2026,06013,four or more,114049 -2026,06041,four or more,20088 -2026,06055,four or more,11497 -2026,06075,four or more,58262 -2026,06081,four or more,71963 -2026,06085,four or more,201126 -2026,06095,four or more,43793 -2026,06097,four or more,40465 -2027,06001,four or more,158095 -2027,06013,four or more,116575 -2027,06041,four or more,22962 -2027,06055,four or more,12297 -2027,06075,four or more,60092 -2027,06081,four or more,68771 -2027,06085,four or more,193959 -2027,06095,four or more,40143 -2027,06097,four or more,39899 -2028,06001,four or more,155376 -2028,06013,four or more,109157 -2028,06041,four or more,20569 -2028,06055,four or more,12974 -2028,06075,four or more,60609 -2028,06081,four or more,69796 -2028,06085,four or more,191267 -2028,06095,four or more,44845 -2028,06097,four or more,42888 -2029,06001,four or more,154901 -2029,06013,four or more,114369 -2029,06041,four or more,20961 -2029,06055,four or more,10611 -2029,06075,four or more,60783 -2029,06081,four or more,71110 -2029,06085,four or more,184426 -2029,06095,four or more,39942 -2029,06097,four or more,44535 -2030,06001,four or more,157771 -2030,06013,four or more,114061 -2030,06041,four or more,21288 -2030,06055,four or more,12161 -2030,06075,four or more,59128 -2030,06081,four or more,70640 -2030,06085,four or more,190976 -2030,06095,four or more,42659 -2030,06097,four or more,42744 -2031,06001,one,144803 -2031,06013,one,85236 -2031,06041,one,29456 -2031,06055,one,11697 -2031,06075,one,130549 -2031,06081,one,63919 -2031,06085,one,133580 -2031,06095,one,32123 -2031,06097,one,53369 -2032,06001,one,145364 -2032,06013,one,93045 -2032,06041,one,32079 -2032,06055,one,12668 -2032,06075,one,136815 -2032,06081,one,68901 -2032,06085,one,133027 -2032,06095,one,32956 -2032,06097,one,50422 -2033,06001,one,147123 -2033,06013,one,87191 -2033,06041,one,31895 -2033,06055,one,12022 -2033,06075,one,134187 -2033,06081,one,61638 -2033,06085,one,133896 -2033,06095,one,33333 -2033,06097,one,54235 -2034,06001,one,137552 -2034,06013,one,89899 -2034,06041,one,35035 -2034,06055,one,12038 -2034,06075,one,134065 -2034,06081,one,62818 -2034,06085,one,134405 -2034,06095,one,30882 -2034,06097,one,54859 -2035,06001,one,138663 -2035,06013,one,86408 -2035,06041,one,32333 -2035,06055,one,13149 -2035,06075,one,133937 -2035,06081,one,57938 -2035,06085,one,130568 -2035,06095,one,33174 -2035,06097,one,53210 -2036,06001,one,138557 -2036,06013,one,83423 -2036,06041,one,33013 -2036,06055,one,14161 -2036,06075,one,124885 -2036,06081,one,59046 -2036,06085,one,127972 -2036,06095,one,29229 -2036,06097,one,52393 -2037,06001,one,139647 -2037,06013,one,81688 -2037,06041,one,30282 -2037,06055,one,12348 -2037,06075,one,131049 -2037,06081,one,62017 -2037,06085,one,128155 -2037,06095,one,35098 -2037,06097,one,54959 -2038,06001,one,140793 -2038,06013,one,87593 -2038,06041,one,29428 -2038,06055,one,11005 -2038,06075,one,125466 -2038,06081,one,56594 -2038,06085,one,130039 -2038,06095,one,33767 -2038,06097,one,49557 -2039,06001,one,152150 -2039,06013,one,91579 -2039,06041,one,32844 -2039,06055,one,13628 -2039,06075,one,133760 -2039,06081,one,60842 -2039,06085,one,137042 -2039,06095,one,34647 -2039,06097,one,51370 -2040,06001,one,140797 -2040,06013,one,86988 -2040,06041,one,30769 -2040,06055,one,12237 -2040,06075,one,131319 -2040,06081,one,58558 -2040,06085,one,129387 -2040,06095,one,32896 -2040,06097,one,51098 -2031,06001,two,162979 -2031,06013,two,117662 -2031,06041,two,39735 -2031,06055,two,19210 -2031,06075,two,114470 -2031,06081,two,81812 -2031,06085,two,174087 -2031,06095,two,43508 -2031,06097,two,62958 -2032,06001,two,165327 -2032,06013,two,117999 -2032,06041,two,35076 -2032,06055,two,16492 -2032,06075,two,112272 -2032,06081,two,81822 -2032,06085,two,181001 -2032,06095,two,44173 -2032,06097,two,64120 -2033,06001,two,164872 -2033,06013,two,119625 -2033,06041,two,34107 -2033,06055,two,15284 -2033,06075,two,120874 -2033,06081,two,80920 -2033,06085,two,181860 -2033,06095,two,45790 -2033,06097,two,64288 -2034,06001,two,174249 -2034,06013,two,118368 -2034,06041,two,33538 -2034,06055,two,17461 -2034,06075,two,115777 -2034,06081,two,81625 -2034,06085,two,184136 -2034,06095,two,48014 -2034,06097,two,65613 -2035,06001,two,174839 -2035,06013,two,122036 -2035,06041,two,37115 -2035,06055,two,15708 -2035,06075,two,119352 -2035,06081,two,82396 -2035,06085,two,190772 -2035,06095,two,48322 -2035,06097,two,64098 -2036,06001,two,172573 -2036,06013,two,125588 -2036,06041,two,36030 -2036,06055,two,16264 -2036,06075,two,124120 -2036,06081,two,80781 -2036,06085,two,188040 -2036,06095,two,48734 -2036,06097,two,64563 -2037,06001,two,176194 -2037,06013,two,126838 -2037,06041,two,34908 -2037,06055,two,16195 -2037,06075,two,120182 -2037,06081,two,85661 -2037,06085,two,194474 -2037,06095,two,47655 -2037,06097,two,66727 -2038,06001,two,177540 -2038,06013,two,125966 -2038,06041,two,40144 -2038,06055,two,16905 -2038,06075,two,123044 -2038,06081,two,87613 -2038,06085,two,197759 -2038,06095,two,47694 -2038,06097,two,67335 -2039,06001,two,179441 -2039,06013,two,121888 -2039,06041,two,37075 -2039,06055,two,16588 -2039,06075,two,119768 -2039,06081,two,88002 -2039,06085,two,203245 -2039,06095,two,49842 -2039,06097,two,68508 -2040,06001,two,173638 -2040,06013,two,125801 -2040,06041,two,37579 -2040,06055,two,16890 -2040,06075,two,119667 -2040,06081,two,85245 -2040,06085,two,194296 -2040,06095,two,48435 -2040,06097,two,65572 -2031,06001,three,96392 -2031,06013,three,69063 -2031,06041,three,14559 -2031,06055,three,5357 -2031,06075,three,43649 -2031,06081,three,37708 -2031,06085,three,116744 -2031,06095,three,26120 -2031,06097,three,25771 -2032,06001,three,97683 -2032,06013,three,63171 -2032,06041,three,13757 -2032,06055,three,5896 -2032,06075,three,45083 -2032,06081,three,41664 -2032,06085,three,112945 -2032,06095,three,24593 -2032,06097,three,29319 -2033,06001,three,98851 -2033,06013,three,65873 -2033,06041,three,14497 -2033,06055,three,8238 -2033,06075,three,47478 -2033,06081,three,45438 -2033,06085,three,113250 -2033,06095,three,25257 -2033,06097,three,29155 -2034,06001,three,103716 -2034,06013,three,70095 -2034,06041,three,16314 -2034,06055,three,7803 -2034,06075,three,49018 -2034,06081,three,42719 -2034,06085,three,114359 -2034,06095,three,26731 -2034,06097,three,26988 -2035,06001,three,103213 -2035,06013,three,67486 -2035,06041,three,15695 -2035,06055,three,8008 -2035,06075,three,47312 -2035,06081,three,47902 -2035,06085,three,116933 -2035,06095,three,23651 -2035,06097,three,32049 -2036,06001,three,101614 -2036,06013,three,68228 -2036,06041,three,17202 -2036,06055,three,7639 -2036,06075,three,51436 -2036,06081,three,51655 -2036,06085,three,118549 -2036,06095,three,27416 -2036,06097,three,30083 -2037,06001,three,99653 -2037,06013,three,66945 -2037,06041,three,16067 -2037,06055,three,7008 -2037,06075,three,49000 -2037,06081,three,47736 -2037,06085,three,117223 -2037,06095,three,28231 -2037,06097,three,27244 -2038,06001,three,101701 -2038,06013,three,73417 -2038,06041,three,14813 -2038,06055,three,6431 -2038,06075,three,53708 -2038,06081,three,45651 -2038,06085,three,126043 -2038,06095,three,25985 -2038,06097,three,27654 -2039,06001,three,99140 -2039,06013,three,71956 -2039,06041,three,14418 -2039,06055,three,7280 -2039,06075,three,51540 -2039,06081,three,45049 -2039,06085,three,118924 -2039,06095,three,25962 -2039,06097,three,26276 -2040,06001,three,100968 -2040,06013,three,71449 -2040,06041,three,15264 -2040,06055,three,7196 -2040,06075,three,52027 -2040,06081,three,48908 -2040,06085,three,120655 -2040,06095,three,27201 -2040,06097,three,29544 -2031,06001,four or more,141385 -2031,06013,four or more,104365 -2031,06041,four or more,17973 -2031,06055,four or more,13669 -2031,06075,four or more,54038 -2031,06081,four or more,73087 -2031,06085,four or more,182048 -2031,06095,four or more,38241 -2031,06097,four or more,38605 -2032,06001,four or more,139900 -2032,06013,four or more,106182 -2032,06041,four or more,21515 -2032,06055,four or more,13168 -2032,06075,four or more,52672 -2032,06081,four or more,66501 -2032,06085,four or more,186837 -2032,06095,four or more,39417 -2032,06097,four or more,40487 -2033,06001,four or more,145063 -2033,06013,four or more,109667 -2033,06041,four or more,22348 -2033,06055,four or more,11938 -2033,06075,four or more,52112 -2033,06081,four or more,70795 -2033,06085,four or more,190331 -2033,06095,four or more,38197 -2033,06097,four or more,41409 -2034,06001,four or more,148084 -2034,06013,four or more,109574 -2034,06041,four or more,18622 -2034,06055,four or more,13214 -2034,06075,four or more,54546 -2034,06081,four or more,70311 -2034,06085,four or more,189168 -2034,06095,four or more,39686 -2034,06097,four or more,43415 -2035,06001,four or more,155113 -2035,06013,four or more,116066 -2035,06041,four or more,20744 -2035,06055,four or more,12754 -2035,06075,four or more,56315 -2035,06081,four or more,75044 -2035,06085,four or more,195513 -2035,06095,four or more,40355 -2035,06097,four or more,41305 -2036,06001,four or more,159268 -2036,06013,four or more,114049 -2036,06041,four or more,20088 -2036,06055,four or more,11497 -2036,06075,four or more,58262 -2036,06081,four or more,71963 -2036,06085,four or more,201126 -2036,06095,four or more,43793 -2036,06097,four or more,40465 -2037,06001,four or more,158095 -2037,06013,four or more,116575 -2037,06041,four or more,22962 -2037,06055,four or more,12297 -2037,06075,four or more,60092 -2037,06081,four or more,68771 -2037,06085,four or more,193959 -2037,06095,four or more,40143 -2037,06097,four or more,39899 -2038,06001,four or more,155376 -2038,06013,four or more,109157 -2038,06041,four or more,20569 -2038,06055,four or more,12974 -2038,06075,four or more,60609 -2038,06081,four or more,69796 -2038,06085,four or more,191267 -2038,06095,four or more,44845 -2038,06097,four or more,42888 -2039,06001,four or more,154901 -2039,06013,four or more,114369 -2039,06041,four or more,20961 -2039,06055,four or more,10611 -2039,06075,four or more,60783 -2039,06081,four or more,71110 -2039,06085,four or more,184426 -2039,06095,four or more,39942 -2039,06097,four or more,44535 -2040,06001,four or more,157771 -2040,06013,four or more,114061 -2040,06041,four or more,21288 -2040,06055,four or more,12161 -2040,06075,four or more,59128 -2040,06081,four or more,70640 -2040,06085,four or more,190976 -2040,06095,four or more,42659 -2040,06097,four or more,42744 -2041,06001,one,144803 -2041,06013,one,85236 -2041,06041,one,29456 -2041,06055,one,11697 -2041,06075,one,130549 -2041,06081,one,63919 -2041,06085,one,133580 -2041,06095,one,32123 -2041,06097,one,53369 -2042,06001,one,145364 -2042,06013,one,93045 -2042,06041,one,32079 -2042,06055,one,12668 -2042,06075,one,136815 -2042,06081,one,68901 -2042,06085,one,133027 -2042,06095,one,32956 -2042,06097,one,50422 -2043,06001,one,147123 -2043,06013,one,87191 -2043,06041,one,31895 -2043,06055,one,12022 -2043,06075,one,134187 -2043,06081,one,61638 -2043,06085,one,133896 -2043,06095,one,33333 -2043,06097,one,54235 -2044,06001,one,137552 -2044,06013,one,89899 -2044,06041,one,35035 -2044,06055,one,12038 -2044,06075,one,134065 -2044,06081,one,62818 -2044,06085,one,134405 -2044,06095,one,30882 -2044,06097,one,54859 -2045,06001,one,138663 -2045,06013,one,86408 -2045,06041,one,32333 -2045,06055,one,13149 -2045,06075,one,133937 -2045,06081,one,57938 -2045,06085,one,130568 -2045,06095,one,33174 -2045,06097,one,53210 -2046,06001,one,138557 -2046,06013,one,83423 -2046,06041,one,33013 -2046,06055,one,14161 -2046,06075,one,124885 -2046,06081,one,59046 -2046,06085,one,127972 -2046,06095,one,29229 -2046,06097,one,52393 -2047,06001,one,139647 -2047,06013,one,81688 -2047,06041,one,30282 -2047,06055,one,12348 -2047,06075,one,131049 -2047,06081,one,62017 -2047,06085,one,128155 -2047,06095,one,35098 -2047,06097,one,54959 -2048,06001,one,140793 -2048,06013,one,87593 -2048,06041,one,29428 -2048,06055,one,11005 -2048,06075,one,125466 -2048,06081,one,56594 -2048,06085,one,130039 -2048,06095,one,33767 -2048,06097,one,49557 -2049,06001,one,152150 -2049,06013,one,91579 -2049,06041,one,32844 -2049,06055,one,13628 -2049,06075,one,133760 -2049,06081,one,60842 -2049,06085,one,137042 -2049,06095,one,34647 -2049,06097,one,51370 -2050,06001,one,140797 -2050,06013,one,86988 -2050,06041,one,30769 -2050,06055,one,12237 -2050,06075,one,131319 -2050,06081,one,58558 -2050,06085,one,129387 -2050,06095,one,32896 -2050,06097,one,51098 -2041,06001,two,162979 -2041,06013,two,117662 -2041,06041,two,39735 -2041,06055,two,19210 -2041,06075,two,114470 -2041,06081,two,81812 -2041,06085,two,174087 -2041,06095,two,43508 -2041,06097,two,62958 -2042,06001,two,165327 -2042,06013,two,117999 -2042,06041,two,35076 -2042,06055,two,16492 -2042,06075,two,112272 -2042,06081,two,81822 -2042,06085,two,181001 -2042,06095,two,44173 -2042,06097,two,64120 -2043,06001,two,164872 -2043,06013,two,119625 -2043,06041,two,34107 -2043,06055,two,15284 -2043,06075,two,120874 -2043,06081,two,80920 -2043,06085,two,181860 -2043,06095,two,45790 -2043,06097,two,64288 -2044,06001,two,174249 -2044,06013,two,118368 -2044,06041,two,33538 -2044,06055,two,17461 -2044,06075,two,115777 -2044,06081,two,81625 -2044,06085,two,184136 -2044,06095,two,48014 -2044,06097,two,65613 -2045,06001,two,174839 -2045,06013,two,122036 -2045,06041,two,37115 -2045,06055,two,15708 -2045,06075,two,119352 -2045,06081,two,82396 -2045,06085,two,190772 -2045,06095,two,48322 -2045,06097,two,64098 -2046,06001,two,172573 -2046,06013,two,125588 -2046,06041,two,36030 -2046,06055,two,16264 -2046,06075,two,124120 -2046,06081,two,80781 -2046,06085,two,188040 -2046,06095,two,48734 -2046,06097,two,64563 -2047,06001,two,176194 -2047,06013,two,126838 -2047,06041,two,34908 -2047,06055,two,16195 -2047,06075,two,120182 -2047,06081,two,85661 -2047,06085,two,194474 -2047,06095,two,47655 -2047,06097,two,66727 -2048,06001,two,177540 -2048,06013,two,125966 -2048,06041,two,40144 -2048,06055,two,16905 -2048,06075,two,123044 -2048,06081,two,87613 -2048,06085,two,197759 -2048,06095,two,47694 -2048,06097,two,67335 -2049,06001,two,179441 -2049,06013,two,121888 -2049,06041,two,37075 -2049,06055,two,16588 -2049,06075,two,119768 -2049,06081,two,88002 -2049,06085,two,203245 -2049,06095,two,49842 -2049,06097,two,68508 -2050,06001,two,173638 -2050,06013,two,125801 -2050,06041,two,37579 -2050,06055,two,16890 -2050,06075,two,119667 -2050,06081,two,85245 -2050,06085,two,194296 -2050,06095,two,48435 -2050,06097,two,65572 -2041,06001,three,96392 -2041,06013,three,69063 -2041,06041,three,14559 -2041,06055,three,5357 -2041,06075,three,43649 -2041,06081,three,37708 -2041,06085,three,116744 -2041,06095,three,26120 -2041,06097,three,25771 -2042,06001,three,97683 -2042,06013,three,63171 -2042,06041,three,13757 -2042,06055,three,5896 -2042,06075,three,45083 -2042,06081,three,41664 -2042,06085,three,112945 -2042,06095,three,24593 -2042,06097,three,29319 -2043,06001,three,98851 -2043,06013,three,65873 -2043,06041,three,14497 -2043,06055,three,8238 -2043,06075,three,47478 -2043,06081,three,45438 -2043,06085,three,113250 -2043,06095,three,25257 -2043,06097,three,29155 -2044,06001,three,103716 -2044,06013,three,70095 -2044,06041,three,16314 -2044,06055,three,7803 -2044,06075,three,49018 -2044,06081,three,42719 -2044,06085,three,114359 -2044,06095,three,26731 -2044,06097,three,26988 -2045,06001,three,103213 -2045,06013,three,67486 -2045,06041,three,15695 -2045,06055,three,8008 -2045,06075,three,47312 -2045,06081,three,47902 -2045,06085,three,116933 -2045,06095,three,23651 -2045,06097,three,32049 -2046,06001,three,101614 -2046,06013,three,68228 -2046,06041,three,17202 -2046,06055,three,7639 -2046,06075,three,51436 -2046,06081,three,51655 -2046,06085,three,118549 -2046,06095,three,27416 -2046,06097,three,30083 -2047,06001,three,99653 -2047,06013,three,66945 -2047,06041,three,16067 -2047,06055,three,7008 -2047,06075,three,49000 -2047,06081,three,47736 -2047,06085,three,117223 -2047,06095,three,28231 -2047,06097,three,27244 -2048,06001,three,101701 -2048,06013,three,73417 -2048,06041,three,14813 -2048,06055,three,6431 -2048,06075,three,53708 -2048,06081,three,45651 -2048,06085,three,126043 -2048,06095,three,25985 -2048,06097,three,27654 -2049,06001,three,99140 -2049,06013,three,71956 -2049,06041,three,14418 -2049,06055,three,7280 -2049,06075,three,51540 -2049,06081,three,45049 -2049,06085,three,118924 -2049,06095,three,25962 -2049,06097,three,26276 -2050,06001,three,100968 -2050,06013,three,71449 -2050,06041,three,15264 -2050,06055,three,7196 -2050,06075,three,52027 -2050,06081,three,48908 -2050,06085,three,120655 -2050,06095,three,27201 -2050,06097,three,29544 -2041,06001,four or more,141385 -2041,06013,four or more,104365 -2041,06041,four or more,17973 -2041,06055,four or more,13669 -2041,06075,four or more,54038 -2041,06081,four or more,73087 -2041,06085,four or more,182048 -2041,06095,four or more,38241 -2041,06097,four or more,38605 -2042,06001,four or more,139900 -2042,06013,four or more,106182 -2042,06041,four or more,21515 -2042,06055,four or more,13168 -2042,06075,four or more,52672 -2042,06081,four or more,66501 -2042,06085,four or more,186837 -2042,06095,four or more,39417 -2042,06097,four or more,40487 -2043,06001,four or more,145063 -2043,06013,four or more,109667 -2043,06041,four or more,22348 -2043,06055,four or more,11938 -2043,06075,four or more,52112 -2043,06081,four or more,70795 -2043,06085,four or more,190331 -2043,06095,four or more,38197 -2043,06097,four or more,41409 -2044,06001,four or more,148084 -2044,06013,four or more,109574 -2044,06041,four or more,18622 -2044,06055,four or more,13214 -2044,06075,four or more,54546 -2044,06081,four or more,70311 -2044,06085,four or more,189168 -2044,06095,four or more,39686 -2044,06097,four or more,43415 -2045,06001,four or more,155113 -2045,06013,four or more,116066 -2045,06041,four or more,20744 -2045,06055,four or more,12754 -2045,06075,four or more,56315 -2045,06081,four or more,75044 -2045,06085,four or more,195513 -2045,06095,four or more,40355 -2045,06097,four or more,41305 -2046,06001,four or more,159268 -2046,06013,four or more,114049 -2046,06041,four or more,20088 -2046,06055,four or more,11497 -2046,06075,four or more,58262 -2046,06081,four or more,71963 -2046,06085,four or more,201126 -2046,06095,four or more,43793 -2046,06097,four or more,40465 -2047,06001,four or more,158095 -2047,06013,four or more,116575 -2047,06041,four or more,22962 -2047,06055,four or more,12297 -2047,06075,four or more,60092 -2047,06081,four or more,68771 -2047,06085,four or more,193959 -2047,06095,four or more,40143 -2047,06097,four or more,39899 -2048,06001,four or more,155376 -2048,06013,four or more,109157 -2048,06041,four or more,20569 -2048,06055,four or more,12974 -2048,06075,four or more,60609 -2048,06081,four or more,69796 -2048,06085,four or more,191267 -2048,06095,four or more,44845 -2048,06097,four or more,42888 -2049,06001,four or more,154901 -2049,06013,four or more,114369 -2049,06041,four or more,20961 -2049,06055,four or more,10611 -2049,06075,four or more,60783 -2049,06081,four or more,71110 -2049,06085,four or more,184426 -2049,06095,four or more,39942 -2049,06097,four or more,44535 -2050,06001,four or more,157771 -2050,06013,four or more,114061 -2050,06041,four or more,21288 -2050,06055,four or more,12161 -2050,06075,four or more,59128 -2050,06081,four or more,70640 -2050,06085,four or more,190976 -2050,06095,four or more,42659 -2050,06097,four or more,42744 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/marriages_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/marriages_over_time_obs.csv deleted file mode 100644 index c126ae1..0000000 --- a/data/sf_bay_example/observed_calibration_values/marriages_over_time_obs.csv +++ /dev/null @@ -1,11 +0,0 @@ -year,count -2010,2856186 -2011,2884550 -2012,2926246 -2013,2908412 -2014,3040160 -2015,3099232 -2016,3158735 -2017,3168709 -2018,3148435 -2019,3006897 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/marrital_status_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/marrital_status_over_time_obs.csv deleted file mode 100644 index 4cc2b73..0000000 --- a/data/sf_bay_example/observed_calibration_values/marrital_status_over_time_obs.csv +++ /dev/null @@ -1,46 +0,0 @@ -year,MAR,count -2011,1,2884550 -2011,2,304384 -2011,3,569855 -2011,4,120738 -2011,5,2037419 -2012,1,2926246 -2012,2,300675 -2012,3,576144 -2012,4,114219 -2012,5,2095302 -2013,1,2908412 -2013,2,297308 -2013,3,572651 -2013,4,109184 -2013,5,2097494 -2014,1,3040160 -2014,2,309862 -2014,3,582591 -2014,4,106755 -2014,5,2174143 -2015,1,3099232 -2015,2,295743 -2015,3,582912 -2015,4,106020 -2015,5,2224250 -2016,1,3158735 -2016,2,296643 -2016,3,564950 -2016,4,102527 -2016,5,2220641 -2017,1,3168709 -2017,2,294575 -2017,3,588749 -2017,4,92910 -2017,5,2276726 -2018,1,3148435 -2018,2,296221 -2018,3,539277 -2018,4,95979 -2018,5,2242183 -2019,1,3006897 -2019,2,281447 -2019,3,528856 -2019,4,90490 -2019,5,2207088 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/mortalities_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/mortalities_over_time_obs.csv deleted file mode 100644 index d8a87e7..0000000 --- a/data/sf_bay_example/observed_calibration_values/mortalities_over_time_obs.csv +++ /dev/null @@ -1,42 +0,0 @@ -year,count -2010,44675 -2011,45247 -2012,46164 -2013,46578 -2014,46385 -2015,48665 -2016,48830 -2017,49996 -2018,49258 -2019,49588 -2020,50910 -2021,52815 -2022,53947 -2023,55980 -2024,57810 -2025,59169 -2026,61483 -2027,63121 -2028,64954 -2029,67098 -2030,68875 -2031,70870 -2032,72681 -2033,74427 -2034,76242 -2035,77671 -2036,79685 -2037,80811 -2038,82590 -2039,83997 -2040,86079 -2041,87481 -2042,89066 -2043,90845 -2044,91542 -2045,92920 -2046,94457 -2047,95013 -2048,96457 -2049,96905 -2050,97545 \ No newline at end of file diff --git a/data/sf_bay_example/observed_calibration_values/pop_over_time_obs.csv b/data/sf_bay_example/observed_calibration_values/pop_over_time_obs.csv deleted file mode 100644 index 4189300..0000000 --- a/data/sf_bay_example/observed_calibration_values/pop_over_time_obs.csv +++ /dev/null @@ -1,42 +0,0 @@ -year,count -2010,7169297 -2011,7243090 -2012,7344695 -2013,7438456 -2014,7561755 -2015,7654870 -2016,7684011 -2017,7756158 -2018,7753023 -2019,7739378 -2020,7787928 -2021,7823826 -2022,7869876 -2023,7918707 -2024,7969967 -2025,8023612 -2026,8074309 -2027,8125511 -2028,8175654 -2029,8224922 -2030,8272525 -2031,8318419 -2032,8363851 -2033,8406979 -2034,8448289 -2035,8488108 -2036,8526218 -2037,8563019 -2038,8597890 -2039,8630787 -2040,8661984 -2041,8691264 -2042,8719515 -2043,8745405 -2044,8770119 -2045,8793716 -2046,8815131 -2047,8835943 -2048,8854994 -2049,8871962 -2050,8889001 \ No newline at end of file diff --git a/data/sf_bay_example/calibrated_models_coefficients/birth_model.yaml b/data/small_example/calibrated_models_coefficients/birth_model.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/birth_model.yaml rename to data/small_example/calibrated_models_coefficients/birth_model.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/cohabitation.yaml b/data/small_example/calibrated_models_coefficients/cohabitation.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/cohabitation.yaml rename to data/small_example/calibrated_models_coefficients/cohabitation.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/demos_in_labor_force.yaml b/data/small_example/calibrated_models_coefficients/demos_in_labor_force.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/demos_in_labor_force.yaml rename to data/small_example/calibrated_models_coefficients/demos_in_labor_force.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/demos_out_labor_force.yaml b/data/small_example/calibrated_models_coefficients/demos_out_labor_force.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/demos_out_labor_force.yaml rename to data/small_example/calibrated_models_coefficients/demos_out_labor_force.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/divorce_model.yaml b/data/small_example/calibrated_models_coefficients/divorce_model.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/divorce_model.yaml rename to data/small_example/calibrated_models_coefficients/divorce_model.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/edu_model.yaml b/data/small_example/calibrated_models_coefficients/edu_model.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/edu_model.yaml rename to data/small_example/calibrated_models_coefficients/edu_model.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/kids_move_model.yaml b/data/small_example/calibrated_models_coefficients/kids_move_model.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/kids_move_model.yaml rename to data/small_example/calibrated_models_coefficients/kids_move_model.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/marriage.yaml b/data/small_example/calibrated_models_coefficients/marriage.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/marriage.yaml rename to data/small_example/calibrated_models_coefficients/marriage.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/mode_choice/mode_choice_logsum.yaml b/data/small_example/calibrated_models_coefficients/mode_choice/mode_choice_logsum.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/mode_choice/mode_choice_logsum.yaml rename to data/small_example/calibrated_models_coefficients/mode_choice/mode_choice_logsum.yaml diff --git a/data/sf_bay_example/calibrated_models_coefficients/mortality_model.yaml b/data/small_example/calibrated_models_coefficients/mortality_model.yaml similarity index 100% rename from data/sf_bay_example/calibrated_models_coefficients/mortality_model.yaml rename to data/small_example/calibrated_models_coefficients/mortality_model.yaml diff --git a/data/small_example/observed_calibration_values/births_over_time_obs_county2.csv b/data/small_example/observed_calibration_values/births_over_time_obs_county2.csv new file mode 100644 index 0000000..3806b14 --- /dev/null +++ b/data/small_example/observed_calibration_values/births_over_time_obs_county2.csv @@ -0,0 +1,52 @@ +year,count +2010,2397 +2011,2367 +2012,2402 +2013,2353 +2014,2409 +2015,2381 +2016,2368 +2017,2292 +2018,2218 +2019,2196 +2020,2096 +2021,2138 +2022,2117 +2023,2095 +2024,2076 +2025,2062 +2026,2050 +2027,2055 +2028,2033 +2029,2031 +2030,2030 +2031,2023 +2032,2023 +2033,2027 +2034,2034 +2035,2043 +2036,2055 +2037,2067 +2038,2076 +2039,2090 +2040,2107 +2041,2114 +2042,2122 +2043,2126 +2044,2129 +2045,2131 +2046,2129 +2047,2126 +2048,2121 +2049,2116 +2050,2109 +2051,2099 +2052,2088 +2053,2078 +2054,2071 +2055,2064 +2056,2058 +2057,2058 +2058,2058 +2059,2055 +2060,2057 diff --git a/data/small_example/observed_calibration_values/employment_obs_county.csv b/data/small_example/observed_calibration_values/employment_obs_county.csv new file mode 100644 index 0000000..cf71f87 --- /dev/null +++ b/data/small_example/observed_calibration_values/employment_obs_county.csv @@ -0,0 +1,11 @@ +year,count +2010,188426 +2011,188983 +2012,190489 +2013,192067 +2014,196123 +2015,201375 +2016,206128 +2017,211841 +2018,216101 +2019,219374 diff --git a/data/small_example/observed_calibration_values/hsize_ct_06197001_4155.csv b/data/small_example/observed_calibration_values/hsize_ct_06197001_4155.csv new file mode 100644 index 0000000..ac59cfb --- /dev/null +++ b/data/small_example/observed_calibration_values/hsize_ct_06197001_4155.csv @@ -0,0 +1,321 @@ +year,lcm_county_id,hh_size,total_number_of_households +2011,06041,one,29456 +2011,06055,one,11697 +2012,06041,one,32079 +2012,06055,one,12668 +2013,06041,one,31895 +2013,06055,one,12022 +2014,06041,one,35035 +2014,06055,one,12038 +2015,06041,one,32333 +2015,06055,one,13149 +2016,06041,one,33013 +2016,06055,one,14161 +2017,06041,one,30282 +2017,06055,one,12348 +2018,06041,one,29428 +2018,06055,one,11005 +2019,06041,one,32844 +2019,06055,one,13628 +2020,06041,one,30769 +2020,06055,one,12237 +2011,06041,two,39735 +2011,06055,two,19210 +2012,06041,two,35076 +2012,06055,two,16492 +2013,06041,two,34107 +2013,06055,two,15284 +2014,06041,two,33538 +2014,06055,two,17461 +2015,06041,two,37115 +2015,06055,two,15708 +2016,06041,two,36030 +2016,06055,two,16264 +2017,06041,two,34908 +2017,06055,two,16195 +2018,06041,two,40144 +2018,06055,two,16905 +2019,06041,two,37075 +2019,06055,two,16588 +2020,06041,two,37579 +2020,06055,two,16890 +2011,06041,three,14559 +2011,06055,three,5357 +2012,06041,three,13757 +2012,06055,three,5896 +2013,06041,three,14497 +2013,06055,three,8238 +2014,06041,three,16314 +2014,06055,three,7803 +2015,06041,three,15695 +2015,06055,three,8008 +2016,06041,three,17202 +2016,06055,three,7639 +2017,06041,three,16067 +2017,06055,three,7008 +2018,06041,three,14813 +2018,06055,three,6431 +2019,06041,three,14418 +2019,06055,three,7280 +2020,06041,three,15264 +2020,06055,three,7196 +2011,06041,four or more,17973 +2011,06055,four or more,13669 +2012,06041,four or more,21515 +2012,06055,four or more,13168 +2013,06041,four or more,22348 +2013,06055,four or more,11938 +2014,06041,four or more,18622 +2014,06055,four or more,13214 +2015,06041,four or more,20744 +2015,06055,four or more,12754 +2016,06041,four or more,20088 +2016,06055,four or more,11497 +2017,06041,four or more,22962 +2017,06055,four or more,12297 +2018,06041,four or more,20569 +2018,06055,four or more,12974 +2019,06041,four or more,20961 +2019,06055,four or more,10611 +2020,06041,four or more,21288 +2020,06055,four or more,12161 +2021,06041,one,29456 +2021,06055,one,11697 +2022,06041,one,32079 +2022,06055,one,12668 +2023,06041,one,31895 +2023,06055,one,12022 +2024,06041,one,35035 +2024,06055,one,12038 +2025,06041,one,32333 +2025,06055,one,13149 +2026,06041,one,33013 +2026,06055,one,14161 +2027,06041,one,30282 +2027,06055,one,12348 +2028,06041,one,29428 +2028,06055,one,11005 +2029,06041,one,32844 +2029,06055,one,13628 +2030,06041,one,30769 +2030,06055,one,12237 +2021,06041,two,39735 +2021,06055,two,19210 +2022,06041,two,35076 +2022,06055,two,16492 +2023,06041,two,34107 +2023,06055,two,15284 +2024,06041,two,33538 +2024,06055,two,17461 +2025,06041,two,37115 +2025,06055,two,15708 +2026,06041,two,36030 +2026,06055,two,16264 +2027,06041,two,34908 +2027,06055,two,16195 +2028,06041,two,40144 +2028,06055,two,16905 +2029,06041,two,37075 +2029,06055,two,16588 +2030,06041,two,37579 +2030,06055,two,16890 +2021,06041,three,14559 +2021,06055,three,5357 +2022,06041,three,13757 +2022,06055,three,5896 +2023,06041,three,14497 +2023,06055,three,8238 +2024,06041,three,16314 +2024,06055,three,7803 +2025,06041,three,15695 +2025,06055,three,8008 +2026,06041,three,17202 +2026,06055,three,7639 +2027,06041,three,16067 +2027,06055,three,7008 +2028,06041,three,14813 +2028,06055,three,6431 +2029,06041,three,14418 +2029,06055,three,7280 +2030,06041,three,15264 +2030,06055,three,7196 +2021,06041,four or more,17973 +2021,06055,four or more,13669 +2022,06041,four or more,21515 +2022,06055,four or more,13168 +2023,06041,four or more,22348 +2023,06055,four or more,11938 +2024,06041,four or more,18622 +2024,06055,four or more,13214 +2025,06041,four or more,20744 +2025,06055,four or more,12754 +2026,06041,four or more,20088 +2026,06055,four or more,11497 +2027,06041,four or more,22962 +2027,06055,four or more,12297 +2028,06041,four or more,20569 +2028,06055,four or more,12974 +2029,06041,four or more,20961 +2029,06055,four or more,10611 +2030,06041,four or more,21288 +2030,06055,four or more,12161 +2031,06041,one,29456 +2031,06055,one,11697 +2032,06041,one,32079 +2032,06055,one,12668 +2033,06041,one,31895 +2033,06055,one,12022 +2034,06041,one,35035 +2034,06055,one,12038 +2035,06041,one,32333 +2035,06055,one,13149 +2036,06041,one,33013 +2036,06055,one,14161 +2037,06041,one,30282 +2037,06055,one,12348 +2038,06041,one,29428 +2038,06055,one,11005 +2039,06041,one,32844 +2039,06055,one,13628 +2040,06041,one,30769 +2040,06055,one,12237 +2031,06041,two,39735 +2031,06055,two,19210 +2032,06041,two,35076 +2032,06055,two,16492 +2033,06041,two,34107 +2033,06055,two,15284 +2034,06041,two,33538 +2034,06055,two,17461 +2035,06041,two,37115 +2035,06055,two,15708 +2036,06041,two,36030 +2036,06055,two,16264 +2037,06041,two,34908 +2037,06055,two,16195 +2038,06041,two,40144 +2038,06055,two,16905 +2039,06041,two,37075 +2039,06055,two,16588 +2040,06041,two,37579 +2040,06055,two,16890 +2031,06041,three,14559 +2031,06055,three,5357 +2032,06041,three,13757 +2032,06055,three,5896 +2033,06041,three,14497 +2033,06055,three,8238 +2034,06041,three,16314 +2034,06055,three,7803 +2035,06041,three,15695 +2035,06055,three,8008 +2036,06041,three,17202 +2036,06055,three,7639 +2037,06041,three,16067 +2037,06055,three,7008 +2038,06041,three,14813 +2038,06055,three,6431 +2039,06041,three,14418 +2039,06055,three,7280 +2040,06041,three,15264 +2040,06055,three,7196 +2031,06041,four or more,17973 +2031,06055,four or more,13669 +2032,06041,four or more,21515 +2032,06055,four or more,13168 +2033,06041,four or more,22348 +2033,06055,four or more,11938 +2034,06041,four or more,18622 +2034,06055,four or more,13214 +2035,06041,four or more,20744 +2035,06055,four or more,12754 +2036,06041,four or more,20088 +2036,06055,four or more,11497 +2037,06041,four or more,22962 +2037,06055,four or more,12297 +2038,06041,four or more,20569 +2038,06055,four or more,12974 +2039,06041,four or more,20961 +2039,06055,four or more,10611 +2040,06041,four or more,21288 +2040,06055,four or more,12161 +2041,06041,one,29456 +2041,06055,one,11697 +2042,06041,one,32079 +2042,06055,one,12668 +2043,06041,one,31895 +2043,06055,one,12022 +2044,06041,one,35035 +2044,06055,one,12038 +2045,06041,one,32333 +2045,06055,one,13149 +2046,06041,one,33013 +2046,06055,one,14161 +2047,06041,one,30282 +2047,06055,one,12348 +2048,06041,one,29428 +2048,06055,one,11005 +2049,06041,one,32844 +2049,06055,one,13628 +2050,06041,one,30769 +2050,06055,one,12237 +2041,06041,two,39735 +2041,06055,two,19210 +2042,06041,two,35076 +2042,06055,two,16492 +2043,06041,two,34107 +2043,06055,two,15284 +2044,06041,two,33538 +2044,06055,two,17461 +2045,06041,two,37115 +2045,06055,two,15708 +2046,06041,two,36030 +2046,06055,two,16264 +2047,06041,two,34908 +2047,06055,two,16195 +2048,06041,two,40144 +2048,06055,two,16905 +2049,06041,two,37075 +2049,06055,two,16588 +2050,06041,two,37579 +2050,06055,two,16890 +2041,06041,three,14559 +2041,06055,three,5357 +2042,06041,three,13757 +2042,06055,three,5896 +2043,06041,three,14497 +2043,06055,three,8238 +2044,06041,three,16314 +2044,06055,three,7803 +2045,06041,three,15695 +2045,06055,three,8008 +2046,06041,three,17202 +2046,06055,three,7639 +2047,06041,three,16067 +2047,06055,three,7008 +2048,06041,three,14813 +2048,06055,three,6431 +2049,06041,three,14418 +2049,06055,three,7280 +2050,06041,three,15264 +2050,06055,three,7196 +2041,06041,four or more,17973 +2041,06055,four or more,13669 +2042,06041,four or more,21515 +2042,06055,four or more,13168 +2043,06041,four or more,22348 +2043,06055,four or more,11938 +2044,06041,four or more,18622 +2044,06055,four or more,13214 +2045,06041,four or more,20744 +2045,06055,four or more,12754 +2046,06041,four or more,20088 +2046,06055,four or more,11497 +2047,06041,four or more,22962 +2047,06055,four or more,12297 +2048,06041,four or more,20569 +2048,06055,four or more,12974 +2049,06041,four or more,20961 +2049,06055,four or more,10611 +2050,06041,four or more,21288 +2050,06055,four or more,12161 diff --git a/data/sf_bay_example/observed_calibration_values/income_rates_06197001.csv b/data/small_example/observed_calibration_values/income_rates_06197001.csv similarity index 100% rename from data/sf_bay_example/observed_calibration_values/income_rates_06197001.csv rename to data/small_example/observed_calibration_values/income_rates_06197001.csv diff --git a/data/small_example/observed_calibration_values/marrital_status_over_time_obs_county.csv b/data/small_example/observed_calibration_values/marrital_status_over_time_obs_county.csv new file mode 100644 index 0000000..816beae --- /dev/null +++ b/data/small_example/observed_calibration_values/marrital_status_over_time_obs_county.csv @@ -0,0 +1,46 @@ +year,MAR,count +2011,1,157251 +2011,2,16593 +2011,3,31066 +2011,4,6582 +2011,5,111070 +2012,1,159524 +2012,2,16391 +2012,3,31408 +2012,4,6227 +2012,5,114225 +2013,1,158552 +2013,2,16208 +2013,3,31218 +2013,4,5952 +2013,5,114345 +2014,1,165734 +2014,2,16892 +2014,3,31760 +2014,4,5820 +2014,5,118523 +2015,1,168955 +2015,2,16122 +2015,3,31777 +2015,4,5780 +2015,5,121255 +2016,1,172198 +2016,2,16171 +2016,3,30798 +2016,4,5589 +2016,5,121058 +2017,1,172742 +2017,2,16059 +2017,3,32096 +2017,4,5065 +2017,5,124116 +2018,1,171637 +2018,2,16148 +2018,3,29399 +2018,4,5232 +2018,5,122233 +2019,1,163921 +2019,2,15343 +2019,3,28831 +2019,4,4933 +2019,5,120319 diff --git a/data/small_example/observed_calibration_values/mortalities_over_time_obs_county2.csv b/data/small_example/observed_calibration_values/mortalities_over_time_obs_county2.csv new file mode 100644 index 0000000..49d14bf --- /dev/null +++ b/data/small_example/observed_calibration_values/mortalities_over_time_obs_county2.csv @@ -0,0 +1,42 @@ +year,count, +2010,1218, +2011,1234, +2012,1259, +2013,1270, +2014,1265, +2015,1327, +2016,1331, +2017,1363, +2018,1343, +2019,1352, +2020,1388, +2021,1440, +2022,1471, +2023,1526, +2024,1576, +2025,1613, +2026,1676, +2027,1721, +2028,1771, +2029,1829, +2030,1878, +2031,1932, +2032,1981, +2033,2029, +2034,2078, +2035,2117, +2036,2172, +2037,2203, +2038,2251, +2039,2290, +2040,2347, +2041,2385, +2042,2428, +2043,2476, +2044,2495, +2045,2533, +2046,2575, +2047,2590, +2048,2629, +2049,2642, +2050,2659, diff --git a/data/sf_bay_example/relmap_06197001.csv b/data/small_example/relmap_06197001.csv similarity index 100% rename from data/sf_bay_example/relmap_06197001.csv rename to data/small_example/relmap_06197001.csv diff --git a/data/small_example/small_example_tables.h5 b/data/small_example/small_example_tables.h5 new file mode 100644 index 0000000..9d7f5a5 Binary files /dev/null and b/data/small_example/small_example_tables.h5 differ diff --git a/demos/config.py b/demos/config.py index bd9e7bd..3a2b1bc 100644 --- a/demos/config.py +++ b/demos/config.py @@ -57,6 +57,7 @@ class KidsMovingModuleConfig(BaseModel): geoid_col: str calibration_target_share: float = 0.12 calibration_tolerance: float = 0.001 + max_iter: int = 100 class AgingModuleConfig(BaseModel): diff --git a/demos/models/kids_moving.py b/demos/models/kids_moving.py index c0800d8..6fac404 100644 --- a/demos/models/kids_moving.py +++ b/demos/models/kids_moving.py @@ -147,6 +147,7 @@ def run_and_calibrate_model(persons): 14, ] # This is more `dependent` because `child` is determined by age target_share = module_config.calibration_target_share + max_iter = module_config.max_iter # Get model data model = mm.get_step("kids_move") @@ -166,7 +167,10 @@ def run_and_calibrate_model(persons): print("Calibrating Kids moving model") calibrate_iteration = 0 - while abs(error) > module_config.calibration_tolerance: + while ( + abs(error) > module_config.calibration_tolerance + and calibrate_iteration < max_iter + ): print(f"{calibrate_iteration} iteration error: {error}") model.fitted_parameters[0] += np.log(observed_share / target_share) diff --git a/docs/source/pages/advanced_configuration.md b/docs/source/pages/advanced_configuration.md index 3d8bce1..45cffe0 100644 --- a/docs/source/pages/advanced_configuration.md +++ b/docs/source/pages/advanced_configuration.md @@ -46,6 +46,16 @@ momentum_weight = 0.3 Due to the complexity and nuances of simultaneous calibration, the required tables of observed values (`observed_entering_workforce` and `observed_exiting_workforce`) are hard-coded, and an error will be raised if they are not loaded. +**If you want to skip calibration, just delete or comment out these entries from the configuration file like this:** + +```toml +# [employment_module_config.simultaneous_calibration_config] +# tolerance = 100 +# max_iter = 2 +# learning_rate = 2 +# momentum_weight = 0.3 +``` + diff --git a/docs/source/pages/default_configuration.rst b/docs/source/pages/default_configuration.rst index 4c8516d..b9dd203 100644 --- a/docs/source/pages/default_configuration.rst +++ b/docs/source/pages/default_configuration.rst @@ -1,9 +1,9 @@ Default Configuration File ========================== -This page shows the default `demos_config.toml` +This page shows the default `demos_config_ref.toml` -.. literalinclude:: ../../../configuration/demos_config.toml +.. literalinclude:: ../../../configuration/demos_config_ref.toml :language: toml :linenos: - :caption: Default configuration (`demos_config.toml`) \ No newline at end of file + :caption: Default configuration (`demos_config_ref.toml`) \ No newline at end of file diff --git a/docs/source/pages/intro.md b/docs/source/pages/intro.md index ce15e39..3740ca5 100644 --- a/docs/source/pages/intro.md +++ b/docs/source/pages/intro.md @@ -28,33 +28,26 @@ This document summarizes instructions to install, configure and run DEMOS. Secti ### Docker Compose (recommended) The latest docker image for demos is stored in `ghcr.io/NatLabRockies/demos:latest`. The input data and configuration file are fed to the container through volumes ([more info about Docker volumes](https://docs.docker.com/engine/storage/volumes/)). We provide a `docker-compose` workflow that can be used to make the process of mounting volumes easier. -#### Prepare the configuration file and data folder +#### Clone this repository +By cloning this repository you download the configuration and data for an example run of DEMOS. Run the following command in the Terminal App (MacOS) or Command Prompt/PowerShell (Windows): - ```bash -# Create a directory where to run DEMOS from -mkdir demos -cd demos - -# Create the configuration folder and retrieve an example configuration -mkdir configuration -cd configuration -curl -L -o demos_config.toml https://raw.githubusercontent.com/NatLabRockies/DEMOS/main/configuration/demos_config_sfbay.toml - -# Create the data folder for the output to be stored -cd .. -mkdir data -# Populate the data folder - -# Finally, retrieve the docker-compose.yml file -curl -L -o docker-compose.yml https://raw.githubusercontent.com/NatLabRockies/DEMOS/main/docker-compose.yml +git clone https://github.com/NatLabRockies/DEMOS.git + +# Move into the project folder +cd DEMOS + +# This folder contains (among other files) a data and configuration folder +# as well as a docker-compose.yml file ``` -Now you can run docker as follows: +Make sure you have [Docker](https://docs.docker.com/desktop/) and [Docker Compose](https://docs.docker.com/compose/install/) installed. Now you can run docker as follows: + ```bash docker compose up ``` + > **Note:** > Make sure the Docker Daemon is running. This changes from system to system but Docker Desktop should have a status flag indicating if the daemon is live, if Desktop is available