Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions config/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,17 @@ parameter_args:
# input_directory: input
# input_directory_initial_populations: input/InitialPopulations
# euromod_output_directory: input/EUROMODoutput
# includeYears:
# - 2011
# - 2012
# - 2013
# - 2014
# - 2015
# - 2016
# - 2017
# - 2018
# - 2019
# - 2020
# - 2021
# - 2022
# - 2023
3 changes: 3 additions & 0 deletions config/test_create_database.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ randomSeed: 606
startYear: 2019
endYear: 2030
popSize: 40000

parameter_args:
trainingFlag: true
1 change: 1 addition & 0 deletions src/main/java/simpaths/data/Parameters.java
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,7 @@ else if(numberOfChildren <= 5) {
public static final int MAX_AGE_MATERNITY = 44; // Max age a person can give birth
public static final boolean FLAG_SINGLE_MOTHERS = true;
public static boolean flagUnemployment = false;
public static ArrayList<Integer> includeYears;
Comment thread
andrewbaxter439 marked this conversation as resolved.

public static int BASE_PRICE_YEAR = 2015; // Base price year of model parameters

Expand Down
25 changes: 18 additions & 7 deletions src/main/java/simpaths/data/startingpop/DataParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,7 @@
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.*;

import simpaths.data.FormattedDialogBox;
import simpaths.data.Parameters;
Expand All @@ -31,6 +27,17 @@ public static void createDatabaseForPopulationInitialisationByYearFromCSV(Countr
}
}

public static void createDatabaseForPopulationInitialisationByYearFromCSV(Country country, String initialInputFilename, ArrayList<Integer> includeYears, Connection conn) {

Comment thread
andrewbaxter439 marked this conversation as resolved.
//Initialise repository table for country-year-population size combinations
initialiseRepository(conn, includeYears.get(0));

//Construct tables for Simulated Persons & Households (initial population)
for (Integer year: includeYears) {
DataParser.parse(Parameters.getInputDirectoryInitialPopulations() + initialInputFilename + "_" + year + ".csv", initialInputFilename, conn, country, year);
}
}

private static void initialiseRepository(Connection conn, int startYear) {

Statement stat = null;
Expand Down Expand Up @@ -425,8 +432,12 @@ public static void databaseFromCSV(Country country, boolean showGui) {

Parameters.setPopulationInitialisationInputFileName("population_initial_" + country.toString());

//This calls a method creating both the donor population tables and initial populations for every year between minStartYear and maxStartYear.
DataParser.createDatabaseForPopulationInitialisationByYearFromCSV(country, Parameters.getPopulationInitialisationInputFileName(), Parameters.getMinStartYear(), Parameters.getMaxStartYear(), conn);
if (null == Parameters.includeYears || Parameters.trainingFlag) {
//This calls a method creating both the donor population tables and initial populations for every year between minStartYear and maxStartYear.
DataParser.createDatabaseForPopulationInitialisationByYearFromCSV(country, Parameters.getPopulationInitialisationInputFileName(), Parameters.getMinStartYear(), Parameters.getMaxStartYear(), conn);
} else {
DataParser.createDatabaseForPopulationInitialisationByYearFromCSV(country, Parameters.getPopulationInitialisationInputFileName(), Parameters.includeYears, conn);
}

conn.close();
}
Expand Down