seims.scenario_analysis.scenario.Scenario Class Reference
Inheritance diagram for seims.scenario_analysis.scenario.Scenario:
seims.scenario_analysis.spatialunits.scenario.SUScenario

Public Member Functions

def __init__ (self, cfg)
 
def set_unique_id (self, given_id=None)
 
def rule_based_config (self, method, conf_rate)
 
def random_based_config (self, conf_rate)
 
def decoding (self)
 
def export_to_mongodb (self)
 
def export_scenario_to_txt (self)
 
def export_scenario_to_gtiff (self)
 
def import_from_mongodb (self, sid)
 
def import_from_txt (self, sid)
 
def calculate_economy (self)
 
def calculate_environment (self)
 
def clean (self, scenario_id=None, calibration_id=None, delete_scenario=False, delete_spatial_gfs=False)
 
def execute_seims_model (self)
 
def initialize (self, input_genes=None)
 

Detailed Description

Base class of Scenario Analysis.

Attributes:
    ID(integer): Unique ID in BMPScenario database -> BMP_SCENARIOS collection
    eval_timerange(float): Simulation time range, read from MongoDB, the unit is year.
    economy(float): Economical effectiveness, e.g., income minus expenses
    environment(float): Environmental effectiveness, e.g., reduction rate of soil erosion
    gene_num(integer): The number of genes of one chromosome, i.e., an individual
    gene_values(list): BMP identifiers on each location of gene. The length is gen_num.
    bmp_items(dict): BMP configuration items that can be imported to MongoDB directly.
                     The key is `bson.objectid.ObjectId`, the value is scenario item dict.
    rules(boolean): Config BMPs randomly or rule-based.
    modelrun(boolean): Has SEIMS model run successfully?

Constructor & Destructor Documentation

◆ __init__()

def seims.scenario_analysis.scenario.Scenario.__init__ (   self,
  cfg 
)

Member Function Documentation

◆ calculate_economy()

def seims.scenario_analysis.scenario.Scenario.calculate_economy (   self)
Calculate economical effectiveness, which is application specified.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ calculate_environment()

def seims.scenario_analysis.scenario.Scenario.calculate_environment (   self)
Calculate environment effectiveness, which is application specified.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ clean()

def seims.scenario_analysis.scenario.Scenario.clean (   self,
  scenario_id = None,
  calibration_id = None,
  delete_scenario = False,
  delete_spatial_gfs = False 
)
Clean the intermediate data.

◆ decoding()

def seims.scenario_analysis.scenario.Scenario.decoding (   self)
Decoding gene_values to bmp_items

This function should be overridden.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ execute_seims_model()

def seims.scenario_analysis.scenario.Scenario.execute_seims_model (   self)
Run SEIMS for evaluating environmental effectiveness.
If execution fails, the `self.economy` and `self.environment` will be set the worst values.

◆ export_scenario_to_gtiff()

def seims.scenario_analysis.scenario.Scenario.export_scenario_to_gtiff (   self)
Export the areal BMPs to gtiff for further analysis.

This function should be overridden in inherited class.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ export_scenario_to_txt()

def seims.scenario_analysis.scenario.Scenario.export_scenario_to_txt (   self)
Export current scenario information to text file.

This function is better be called after `calculate_environment` and `calculate_environment`
    or in static method, e.g., `scenario_effectiveness`.

◆ export_to_mongodb()

def seims.scenario_analysis.scenario.Scenario.export_to_mongodb (   self)
Export current scenario to MongoDB.
Delete the same ScenarioID if existed.

◆ import_from_mongodb()

def seims.scenario_analysis.scenario.Scenario.import_from_mongodb (   self,
  sid 
)
Import a specified Scenario (`sid`) from MongoDB.

This function should be overridden in inherited class.
Returns:
    True if succeed, otherwise False.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ import_from_txt()

def seims.scenario_analysis.scenario.Scenario.import_from_txt (   self,
  sid 
)
Import a specified Scenario (`sid`) from text file.

This function should be overridden in inherited class.
Returns:
    True if succeed, otherwise False.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ initialize()

def seims.scenario_analysis.scenario.Scenario.initialize (   self,
  input_genes = None 
)
Initialize a scenario.

Returns:
    A list contains BMPs identifier of each gene location.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ random_based_config()

def seims.scenario_analysis.scenario.Scenario.random_based_config (   self,
  conf_rate 
)
Config available BMPs to each gene of the chromosome by random-based method.

Virtual function that should be overridden in inherited Scenario class.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ rule_based_config()

def seims.scenario_analysis.scenario.Scenario.rule_based_config (   self,
  method,
  conf_rate 
)
Config available BMPs to each gene of the chromosome by rule-based method.

Virtual function that should be overridden in inherited Scenario class.

Reimplemented in seims.scenario_analysis.spatialunits.scenario.SUScenario.

◆ set_unique_id()

def seims.scenario_analysis.scenario.Scenario.set_unique_id (   self,
  given_id = None 
)
Set unique ID.

The documentation for this class was generated from the following file: