예제 #1
0
파일: run.py 프로젝트: djgroen/FabFlee
    ig.ReadFlareConflictInputCSV(
        flee.SimulationSettings.FlareConflictInputFile)

    ig.ReadLocationsFromCSV("%s/locations.csv" % input_csv_directory)

    ig.ReadLinksFromCSV("%s/routes.csv" % input_csv_directory)

    ig.ReadClosuresFromCSV("%s/closures.csv" % input_csv_directory)

    e, lm = ig.StoreInputGeographyInEcosystem(e)

    d = handle_refugee_data.RefugeeTable(
        csvformat="generic",
        data_directory=validation_data_directory,
        start_date=start_date,
        data_layout="data_layout.csv",
        population_scaledown_factor=flee.SimulationSettings.
        PopulationScaledownFactor)

    d.ReadL1Corrections("%s/registration_corrections.csv" %
                        input_csv_directory)

    output_header_string = "Day,"

    camp_locations = e.get_camp_names()

    for l in camp_locations:
        if insert_day0_refugees_in_camps:
            AddInitialRefugees(e, d, lm[l])
        output_header_string += "%s sim,%s data,%s error," % (
예제 #2
0
  e = flee.Ecosystem()

  ig = InputGeography.InputGeography()

  ig.ReadFlareConflictInputCSV(flee.SimulationSettings.FlareConflictInputFile)

  ig.ReadLocationsFromCSV("%s/locations.csv" % input_csv_directory)

  ig.ReadLinksFromCSV("%s/routes.csv" % input_csv_directory)

  ig.ReadClosuresFromCSV("%s/closures.csv" % input_csv_directory)

  e,lm = ig.StoreInputGeographyInEcosystem(e)

  d = handle_refugee_data.RefugeeTable(csvformat="generic", data_directory=validation_data_directory, start_date=start_date, data_layout="data_layout.csv")

  d.ReadL1Corrections("%s/registration_corrections.csv" % input_csv_directory)

  output_header_string = "Day,"

  camp_locations      = e.get_camp_names()

  for l in camp_locations:
      if insert_day0_refugees_in_camps:  
          AddInitialRefugees(e,d,lm[l])
      output_header_string += "%s sim,%s data,%s error," % (lm[l].name, lm[l].name, lm[l].name)

  output_header_string += "Total error,refugees in camps (UNHCR),total refugees (simulation),raw UNHCR refugee count,refugees in camps (simulation),refugee_debt"

  print(output_header_string)
예제 #3
0
    e.linkUp("Gisuru", "Nduta", "60.0")
    e.linkUp("Commune of Mabanda", "Kagunga", "36.0")
    e.linkUp(
        "Commune of Mabanda", "Nyarugusu", "71.0"
    )  #Estimated distance, as exact location of Nyarugusu is uncertain.

    e.linkUp("Kagunga", "Nyarugusu", "91.0", forced_redirection=True
             )  #From Kagunga to Kigoma by ship (Kagunga=Kigoma)
    e.linkUp("Kirundo", "Nakivale", "318.0")
    e.linkUp("Kayanza", "Nakivale", "413.0")

    e.linkUp("Nduta", "Nyarugusu", "150.0",
             forced_redirection=True)  #distance needs to be checked.

    d = handle_refugee_data.RefugeeTable(csvformat="generic",
                                         data_directory="source_data",
                                         start_date="2015-05-01")

    # Correcting for overestimations due to inaccurate level 1 registrations in five of the camps.
    # These errors led to a perceived large drop in refugee population in all of these camps.
    # We correct by linearly scaling the values down to make the last level 1 registration match the first level 2 registration value.
    # To our knowledge, all level 2 registration procedures were put in place by the end of 2016.
    d.correctLevel1Registrations("Mahama", "2015-10-04")
    d.correctLevel1Registrations("Nduta", "2016-04-06")
    d.correctLevel1Registrations("Nyarugusu", "2015-11-10")
    d.correctLevel1Registrations("Nakivale", "2015-08-18")
    d.correctLevel1Registrations("Lusenda", "2015-09-30")

    locations[26].capacity = d.getMaxFromData("Mahama", last_physical_day)
    locations[27].capacity = d.getMaxFromData("Nduta", last_physical_day)
    locations[29].capacity = d.getMaxFromData("Nyarugusu", last_physical_day)