uaa.feral.context
Class ScenarioBuilder

java.lang.Object
  extended by uaa.feral.context.ScenarioBuilder

public class ScenarioBuilder
extends java.lang.Object

Class for creating a scenario for a simulation based on input files and xml data.

Author:

Constructor Summary
ScenarioBuilder(repast.simphony.space.graph.Network population, repast.simphony.context.Context context)
           
 
Method Summary
 void addCommunityDetails(Community community, ScenarioData data)
          Method to load file data describing community characteristics
 HydrologicalSetting buildHydrology(ScenarioData sd, java.lang.String hydrologicalModel, repast.simphony.space.gis.Geography geography)
          Method to build hydrology for the scenario
 java.util.List<Organization> buildMine(ScenarioData sd, java.lang.String model)
          Method to create Organizations
 java.util.List<Community> buildPopulation(ScenarioData sData, repast.simphony.space.gis.Geography geography)
          Method to build a population from initial scenario information
 void buildRemoteSensingHydroModel(HydrologicalSetting hs, HydrologicalUnit hu, java.util.Map<java.lang.String,java.lang.Object> data)
          Method to initialize remote sensing-based hydrological discharge model.
 java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,double[]>> createDischargeData(java.lang.String file, HydrologicalSetting hs)
           
 java.util.List<Person> createPeople(java.util.Map<java.lang.String,java.lang.Object> data, Community community)
          Method to create a population for a town based on file data
 java.util.List<Person> createPeopleSpread(Community community, double number, Sex sex, com.vividsolutions.jts.geom.Point point, int ageFrom, int ageTo)
          Method to create people based on population data
 java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,double[]>> returnRiverDischargeData(java.util.List<java.util.Map> riverFlowData)
          Method to get discharge data from file
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScenarioBuilder

public ScenarioBuilder(repast.simphony.space.graph.Network population,
                       repast.simphony.context.Context context)
Method Detail

buildPopulation

public java.util.List<Community> buildPopulation(ScenarioData sData,
                                                 repast.simphony.space.gis.Geography geography)
Method to build a population from initial scenario information

Parameters:
sData - the scenario data
waterUseModel - the water use model
geography - the geography object
Returns:
a list of communities

createPeople

public java.util.List<Person> createPeople(java.util.Map<java.lang.String,java.lang.Object> data,
                                           Community community)
Method to create a population for a town based on file data

Parameters:
data - file data
community - the community object
Returns:
a list of people

createPeopleSpread

public java.util.List<Person> createPeopleSpread(Community community,
                                                 double number,
                                                 Sex sex,
                                                 com.vividsolutions.jts.geom.Point point,
                                                 int ageFrom,
                                                 int ageTo)
Method to create people based on population data

Parameters:
community - the person's community
number -
sex - sex type
point - the location
ageFrom - beginning age
ageTo - end age
Returns:

addCommunityDetails

public void addCommunityDetails(Community community,
                                ScenarioData data)
Method to load file data describing community characteristics

Parameters:
community - the community
data - the data for the scenario

buildHydrology

public HydrologicalSetting buildHydrology(ScenarioData sd,
                                          java.lang.String hydrologicalModel,
                                          repast.simphony.space.gis.Geography geography)
Method to build hydrology for the scenario

Parameters:
sd - the scenario data containing data references
hydrologicalModel - the hydrology model to use
geography - the geography context
Returns:

createDischargeData

public java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,double[]>> createDischargeData(java.lang.String file,
                                                                                                     HydrologicalSetting hs)

buildRemoteSensingHydroModel

public void buildRemoteSensingHydroModel(HydrologicalSetting hs,
                                         HydrologicalUnit hu,
                                         java.util.Map<java.lang.String,java.lang.Object> data)
Method to initialize remote sensing-based hydrological discharge model.

Parameters:
hs - the Hydrological setting
hu - the hydrological unit
data - the input data

returnRiverDischargeData

public java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,double[]>> returnRiverDischargeData(java.util.List<java.util.Map> riverFlowData)
Method to get discharge data from file

Parameters:
riverFlowData - the discharge data loaded from a file
Returns:
a map with organized discharge data based on monthly discharge

buildMine

public java.util.List<Organization> buildMine(ScenarioData sd,
                                              java.lang.String model)
Method to create Organizations

Parameters:
sd - scenario data input
model - the model to associate with water use in the mine
geography - the geography the mine belongs to
Returns:
a list of organizations