Esempio n. 1
0
    def test_my_inputs(self):
        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    'gridcell': {
                                        'grid_id':
                                        array([1, 2, 3, 4]),
                                        'relative_x':
                                        array([1, 2, 1, 2]),
                                        'relative_y':
                                        array([1, 1, 2, 2]),
                                        'number_of_jobs_of_group_basic':
                                        array([100, 1000, 500, 1500]),
                                    },
                                    'urbansim_constant': {
                                        "walking_distance_circle_radius":
                                        array([150]),
                                        'cell_size':
                                        array([150]),
                                    }
                                })

        should_be = array([1800.0, 4600.0, 3100.0, 6000.0])
        instance_name = "urbansim.gridcell.basic_sector_employment_within_walking_distance"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
Esempio n. 2
0
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['psrc_parcel','urbansim_parcel', 'urbansim'],
         test_data={
             'travel_data':
                 { 'from_zone_id': array([1, 3, 1, 368, 416]),
                   'to_zone_id' :array( [ 2, 2, 3, 416, 368]),
                   'travel_time': array([ 150, 73, 230, 15.5, 17.2])
                  },
             'node_travel_data':
                 {
                  'from_node_id': array([2873, 1348, 1421, 4835, 6628, 6523, 10, 2189]),
                  'to_node_id':   array([1348, 1421, 1348, 6628, 6523, 6628, 15, 2190]),
                  'travel_time': array([ 1.1,   0.4,  0.9,  2.5,  3.6,   0.1, 8.7, 0.8])
                  },
             'commute_travel_data':
                 {
                  'from_node_id': array([2873, 4835, 10]),
                  'to_node_id':   array([4835, 2873, 20])
                  }
                 }
     )
     
     should_be = array([15.5-1.1-0.4-2.5-3.6, 17.2-1.1-0.4-2.5-3.6, 0])
     instance_name = 'psrc_parcel.commute_travel_data.subtract_from_travel_data_travel_time'
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
    def test_my_inputs(self):
        tester = VariableTester(
            __file__,
            package_order=["psrc_parcel", "urbansim_parcel", "urbansim"],
            test_data={
                "development_project_proposal": {
                    "proposal_id": array([1, 2, 3, 4, 5]),
                    "units_proposed": array([34, 250, 130, 0, 52]),
                    "parcel_id": array([1, 1, 2, 3, 3]),
                },
                "development_project_proposal_component": {
                    "proposal_component_id": arange(8) + 1,
                    "proposal_id": array([3, 3, 5, 2, 5, 1, 3, 1]),
                    "building_type_id": array([19, 2, 4, 19, 1, 2, 3, 19]),
                    "template_id": array([4, 2, 1, 3, 2, 2, 4, 1]),
                    "percent_building_sqft": array([30, 25, 1, 100, 99, 90, 45, 10]),
                    "is_residential": array([True, False, True, True, False, True, False, True]),
                    "building_sqft_per_unit": array([3.5, 1, 20, 1, 1, 0.1, 10, 50]),
                },
                "development_template": {
                    "template_id": array([1, 2, 3, 4]),
                    "density_type": array(["units_per_acre", "far", "units_per_acre", "far"]),
                },
                "parcel": {"parcel_id": array([1, 2, 3, 4])},
            },
        )
        instance_name = "psrc_parcel.parcel.units_proposed_for_building_type_19"
        should_be = array([array([34 / 100.0 * 10 / 50.0, 250]).max(), 130 / 100.0 * 30 / 3.5, 0, 0])

        tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 4
0
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['psrc_parcel', 'psrc', 'urbansim_parcel', 'urbansim', 'opus_core'],
         test_data={
         "person":{ 
             'person_id':   array([1, 2, 3, 4, 5, 6]),
             'household_id':array([1, 1, 2, 3, 3, 5]),
             #hhzone_id    :array([3, 3, 1, 1, 1, 2]),
             'job_id':      array([1, 2, -1, -1, 2, 3]),
             #jobzone_id:   array([1, 2, -1, -1, 2, 3])
             }, 
          "job":{ 
             'job_id': array([1, 2, 3]),
             'zone_id':array([1, 2, 3]),
             },
          "household":{
             'household_id':array([1, 2, 3, 4, 5]),
             'zone_id':     array([3, 1, 1, 1, 2]),
             'income':      array([10000, 45000, 40000, 5000, 0])
              },
         'travel_data_link':{
             'travel_data_link_id':  array([1]),
             'data_link':  array([self.temp_dir]),
         },
      })
     should_be = array([66.4, 121, 0, 0, 36.6, 108])
     tester.test_is_close_for_family_variable(self, should_be, self.variable_name)
Esempio n. 5
0
    def test_my_inputs(self):
        home_access_to_population = array([0.0, 5000.0, 12000.0])
        locations_in_zoneid = array([1, 1, 3, 2, 2])

        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    "zone": {
                                        "zone_id":
                                        array([1, 2, 3]),
                                        "home_access_to_population_2":
                                        home_access_to_population
                                    },
                                    "gridcell": {
                                        "grid_id": array([1, 2, 3, 4, 5]),
                                        "zone_id": locations_in_zoneid
                                    }
                                })

        # since we're using bounded log, we get 0.0 for the 0 value of home_access_to_population
        should_be = array([0.0, 0.0, log(12000.0), log(5000.0), log(5000.0)])
        # The number of cars is 2 in this test
        instance_name = "urbansim.gridcell.ln_home_access_to_population_2"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
    def test_my_inputs(self):
        tester = VariableTester(
            __file__,
            package_order=['psrc_parcel', 'urbansim_parcel', 'urbansim'],
            test_data={
                'travel_data': {
                    'from_zone_id': array([1, 3, 1, 368, 416]),
                    'to_zone_id': array([2, 2, 3, 416, 368]),
                    'travel_time': array([150, 73, 230, 15.5, 17.2])
                },
                'node_travel_data': {
                    'from_node_id':
                    array([2873, 1348, 1421, 4835, 6628, 6523, 10, 2189]),
                    'to_node_id':
                    array([1348, 1421, 1348, 6628, 6523, 6628, 15, 2190]),
                    'travel_time':
                    array([1.1, 0.4, 0.9, 2.5, 3.6, 0.1, 8.7, 0.8])
                },
                'commute_travel_data': {
                    'from_node_id': array([2873, 4835, 10]),
                    'to_node_id': array([4835, 2873, 20])
                }
            })

        should_be = array(
            [15.5 - 1.1 - 0.4 - 2.5 - 3.6, 17.2 - 1.1 - 0.4 - 2.5 - 3.6, 0])
        instance_name = 'psrc_parcel.commute_travel_data.subtract_from_travel_data_travel_time'
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
    def test_my_inputs(self):
        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    'gridcell': {
                                        'grid_id':
                                        array([1, 2, 3, 4]),
                                        'relative_x':
                                        array([1, 2, 1, 2]),
                                        'relative_y':
                                        array([1, 1, 2, 2]),
                                        'buildings_residential_space':
                                        array([100.0, 500.0, 1000.0, 1500.0]),
                                    },
                                    'urbansim_constant': {
                                        "walking_distance_circle_radius":
                                        array([150]),
                                        'cell_size':
                                        array([150]),
                                        "acres":
                                        array([105.0]),
                                    }
                                })

        should_be = array([1800.0, 3100.0, 4600.0, 6000.0])
        instance_name = "urbansim.gridcell.total_buildings_residential_space_within_walking_distance"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
    def test_my_inputs(self):
        tester = VariableTester(
            __file__,
            package_order=['zurich_parcel', 'urbansim_parcel', 'urbansim'],
            test_data={
            'parcel':
            {
                "parcel_id":        array([1,   2,    3]),
                "x_coord_sp": array([1,   2,    4 ]),
                "y_coord_sp": array([1,   1,    1 ]),
            },
            'job':
            {
                "job_id":array([1,2,3,4,5,6,7]),
                "building_id":array([1,2,3,4,5,6,7]),
             },
            'building':
            {
                "building_id":array([1,2,3,4,5,6,7]),
                "parcel_id":array([1,2,2,2,2,1,3]),
             },
        })
        should_be = array([3.47151776, 4.87109417, 1.54134113])

        instance_name = 'zurich_parcel.parcel.jobs_within_2_of_parcel_weighted'
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
 def test_my_inputs(self):
     faz_id = array([1, 2, 3, 4])
     number_of_jobs_of_sector_2 = array([1,4,2,1])
     
     grid_id = array([101,103,105,107])
     gc_faz_id = array([1, 2, 1, 3])
     
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             "faz":{ 
                 "faz_id":faz_id,
                 "number_of_jobs_of_sector_2":number_of_jobs_of_sector_2
                 }, 
             "gridcell":{ 
                 "grid_id":grid_id,
                 "faz_id":gc_faz_id
             }
         }
     )
     
     should_be = array([1, 4, 1, 2])
     instance_name = "urbansim.gridcell.sector_2_jobs_in_faz"
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 10
0
    def test_my_inputs(self):
        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    'gridcell': {
                                        'grid_id':
                                        array([1, 2, 3, 4]),
                                        'relative_x':
                                        array([1, 2, 1, 2]),
                                        'relative_y':
                                        array([1, 1, 2, 2]),
                                        'residential_units':
                                        array([1, 2, 3, 4]),
                                        'n_residential_units_recently_added':
                                        array([1, 0, 1, 1]),
                                    },
                                    'urbansim_constant': {
                                        'recent_years':
                                        array([3]),
                                        "walking_distance_circle_radius":
                                        array([150]),
                                        'cell_size':
                                        array([150]),
                                        "acres":
                                        array([105.0]),
                                    }
                                })

        should_be = array([4.0, 2.0, 5.0, 4.0])
        instance_name = 'urbansim.gridcell.n_residential_units_recently_added_within_walking_distance'
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
    def test_my_inputs(self):
        gridcell_grid_id = array([1, 2, 3])
        #specify an array of 4 buildings, 1st buildings's grid_id = 2 (it's in gridcell 2), etc.
        b_grid_id = array([2, 1, 3, 1])
        #corresponds to above building array, specifies which buildings in which locations are in the group of interest
        single_family = array([0, 1, 1, 1])

        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    "gridcell": {
                                        "grid_id": gridcell_grid_id
                                    },
                                    "building": {
                                        "building_id":
                                        array([1, 2, 3, 4]),
                                        "grid_id":
                                        b_grid_id,
                                        "is_building_type_single_family":
                                        single_family
                                    }
                                })

        should_be = array([2, 0, 1])
        instance_name = "urbansim.gridcell.number_of_single_family_buildings"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
    def test_my_inputs(self):
        gridcell_grid_id = array([1, 2, 3])
        # specify an array of 4 jobs, 1st job's grid_id = 2 (it's in gridcell 2), etc.
        job_grid_id = array([2, 1, 3, 1])
        # corresponds to above job array, specifies which jobs in which locations "qualify"
        is_in_employment_sector = array([0, 1, 1, 1])
        home_based = array([1, 0, 1, 0])

        tester = VariableTester(
            __file__,
            package_order=["urbansim"],
            test_data={
                "gridcell": {"grid_id": gridcell_grid_id},
                "job": {
                    "job_id": array([1, 2, 3, 4]),
                    "grid_id": job_grid_id,
                    "is_in_employment_sector_2": is_in_employment_sector,
                    "is_home_based_job": home_based,
                },
            },
        )

        should_be = array([2, 0, 0])
        instance_name = "urbansim.gridcell.number_of_non_home_based_jobs_of_sector_2"
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 13
0
    def test_my_inputs(self):
        gridcell_grid_id = array([1, 2, 3])
        #specify an array of 4 buildings, 1st buildings's grid_id = 2 (it's in gridcell 2), etc.
        b_grid_id = array([2, 1, 3, 1])
        #corresponds to above building array, specifies which buildings in which locations are in the group of interest
        single_family = array([0, 1, 1, 1]) 

        tester = VariableTester(
            __file__,
            package_order=['urbansim'],
            test_data={
                "gridcell":{ 
                    "grid_id":gridcell_grid_id 
                    }, 
                "building":{ 
                    "building_id":array([1,2,3,4]),
                    "grid_id":b_grid_id, 
                    "is_building_type_single_family":single_family
                }
            } 
        )
        
        should_be = array([2, 0, 1])
        instance_name = "urbansim.gridcell.number_of_single_family_buildings"
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 14
0
    def test_my_inputs(self):
        gridcell_grid_id = array([1, 2, 3])
        #specify an array of 4 jobs, 1st job's grid_id = 2 (it's in gridcell 2), etc.
        job_grid_id = array([2, 1, 3, 1])
        #corresponds to above job array, specifies which jobs in which locations "qualify"
        is_in_employment_sector = array([0, 1, 1, 1])
        home_based = array([1, 0, 1, 0])

        tester = VariableTester(
            __file__,
            package_order=['urbansim'],
            test_data={
                "gridcell":{
                    "grid_id":gridcell_grid_id
                    },
                "job":{
                    "job_id":array([1,2,3,4]),
                    "grid_id":job_grid_id,
                    "is_in_employment_sector_2":is_in_employment_sector,
                    "is_home_based_job":home_based
                }
            }
        )

        should_be = array([2, 0, 0])
        instance_name = "urbansim.gridcell.number_of_non_home_based_jobs_of_sector_2"
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
    def test_my_inputs(self):
        faz_id = array([1, 2, 3, 4])
        number_of_jobs_of_sector_2 = array([1, 4, 2, 1])

        grid_id = array([101, 103, 105, 107])
        gc_faz_id = array([1, 2, 1, 3])

        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    "faz": {
                                        "faz_id":
                                        faz_id,
                                        "number_of_jobs_of_sector_2":
                                        number_of_jobs_of_sector_2
                                    },
                                    "gridcell": {
                                        "grid_id": grid_id,
                                        "faz_id": gc_faz_id
                                    }
                                })

        should_be = array([1, 4, 1, 2])
        instance_name = "urbansim.gridcell.sector_2_jobs_in_faz"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
Esempio n. 16
0
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['urbansim_parcel', 'urbansim'],
         test_data={
             "parcel":{
                       "parcel_id":array([1,2,3]),
                       "residential_units":array([0, 2, 1]),                
                       }
         }
     )
     should_be = array([False, True, False])
     instance_name = "urbansim_parcel.parcel.has_2_units"    
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 17
0
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['urbansim_parcel', 'urbansim'],
         test_data={
             "parcel":{
                       "parcel_id":array([1,2,3]),
                       "residential_units":array([0, 2, 1]),                
                       }
         }
     )
     should_be = array([False, True, False])
     instance_name = "urbansim_parcel.parcel.has_2_units"    
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 18
0
 def do(self,sss, ddd, should_be):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
              "zone":{
                 "zone_id":array([1,3])},
              "travel_data":{
                  "from_zone_id":array([3,3,1,1]),
                  "to_zone_id":array([1,3,1,3]),
                  sss:array([1.1, 2.2, 3.3, 4.4])}            
              }
     )
     instance_name = "urbansim.zone.%s_to_%s" % (sss, ddd)
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
 def do(self, ddd, sss, should_be):
     tester = VariableTester(
         __file__,
         package_order=["urbansim"],
         test_data={
             "zone": {"zone_id": array([1, 3]), "employment": array([10, 1])},
             "travel_data": {
                 "from_zone_id": array([3, 3, 1, 1, 4]),
                 "to_zone_id": array([1, 3, 1, 3, 4]),
                 sss: array([1.1, 2.2, 3.3, 4.4, 99]),
             },
         },
     )
     instance_name = "urbansim_zone.zone.employment_within_%s_%s_threshold" % (ddd, sss)
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             "gridcell":{
                 "grid_id": array([1, 2, 3]),
                 "avg_val_per_unit_vacant_land": array([10, 5, 0])
             }
         }
     )
     
     should_be = array([2.3025850929940459, 1.6094379124341003, 0])
     instance_name = 'urbansim.gridcell.ln_avg_val_per_unit_vacant_land'
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             "gridcell":{
                 "grid_id": array([1,2,3,4]),
                 "buildings_residential_units": array([5, 23, 5, 0]),
                 "number_of_residential_buildings": array([5,5, 1, 0])
             }
         }
     )
     
     should_be = array([1, 4.6, 5, 0])
     tester.test_is_close_for_family_variable(self, should_be, self.instance_name)
Esempio n. 22
0
 def do(self, ddd, sss, should_be):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
              "zone":{
                 "zone_id":array([1,3]),
                 "employment":array([10, 1])},
              "travel_data":{
                  "from_zone_id":array([3,3,1,1]),
                  "to_zone_id":array([1,3,1,3]),
                  sss:array([1.1, 2.2, 3.3, 4.4])}
         }
     )
     instance_name = "sanfrancisco.zone.employment_within_%s_minutes_%s_travel_time" % (ddd, sss) 
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 23
0
 def do(self, sss, ddd, should_be):
     tester = VariableTester(__file__,
                             package_order=['urbansim'],
                             test_data={
                                 "zone": {
                                     "zone_id": array([1, 3])
                                 },
                                 "travel_data": {
                                     "from_zone_id": array([3, 3, 1, 1]),
                                     "to_zone_id": array([1, 3, 1, 3]),
                                     sss: array([1.1, 2.2, 3.3, 4.4])
                                 }
                             })
     instance_name = "sanfrancisco.zone.%s_travel_time_to_%s" % (sss, ddd)
     tester.test_is_close_for_family_variable(self, should_be,
                                              instance_name)
    def test_my_inputs(self):
        zone_id = array([1, 1, 3, 2])
        twauht_work_ai_3 = array([4.1, 5.3, 6.2])

        tester = VariableTester(
            __file__,
            package_order=["urbansim"],
            test_data={
                "gridcell": {"grid_id": array([1, 2, 3, 4]), "zone_id": zone_id},
                "zone": {"zone_id": array([1, 2, 3]), "ln_home_access_to_population_income_3": twauht_work_ai_3},
            },
        )

        should_be = array([4.1, 4.1, 6.2, 5.3])
        instance_name = "urbansim.gridcell.ln_home_access_to_population_income_3"
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 25
0
    def test_my_inputs(self):
        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    "gridcell": {
                                        "grid_id":
                                        array([1, 2, 3, 4]),
                                        "buildings_residential_units":
                                        array([5, 23, 5, 0]),
                                        "number_of_residential_buildings":
                                        array([5, 5, 1, 0])
                                    }
                                })

        should_be = array([1, 4.6, 5, 0])
        tester.test_is_close_for_family_variable(self, should_be,
                                                 self.instance_name)
 def test_my_inputs(self):
     value_within_walking_distance = array([1000, 5000, 10000, 15000])
     units_within_walking_distance = array([0.0, 100.0, 300.0, 56.0])
     
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             "gridcell":{
                 "grid_id": array([1,2,3,4]),
                 "value_of_residential_space_within_walking_distance": value_within_walking_distance, 
                 "total_buildings_residential_space_where_tv_within_walking_distance": units_within_walking_distance
             } 
         }
     )
     instance_name = "urbansim.gridcell.residential_avg_val_per_unit_within_walking_distance"
     should_be = array([-1.0, 50.0, 33.3333333, 267.8571429])
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 27
0
 def do(self, ddd, sss, should_be):
     tester = VariableTester(__file__,
                             package_order=['urbansim'],
                             test_data={
                                 "zone": {
                                     "zone_id": array([1, 3]),
                                     "employment": array([10, 1])
                                 },
                                 "travel_data": {
                                     "from_zone_id": array([3, 3, 1, 1, 4]),
                                     "to_zone_id": array([1, 3, 1, 3, 4]),
                                     sss: array([1.1, 2.2, 3.3, 4.4, 99])
                                 }
                             })
     instance_name = "urbansim_zone.zone.employment_within_%s_%s_threshold" % (
         ddd, sss)
     tester.test_is_close_for_family_variable(self, should_be,
                                              instance_name)
    def test_my_inputs(self):
        tester = VariableTester(
            __file__,
            package_order=["zurich_parcel", "urbansim_parcel", "urbansim"],
            test_data={
                "parcel": {
                    "parcel_id": array([1, 2, 3]),
                    "x_coord_sp": array([1, 2, 4]),
                    "y_coord_sp": array([1, 1, 1]),
                },
                "job": {"job_id": array([1, 2, 3, 4, 5, 6, 7]), "building_id": array([1, 2, 3, 4, 5, 6, 7])},
                "building": {"building_id": array([1, 2, 3, 4, 5, 6, 7]), "parcel_id": array([1, 2, 2, 2, 2, 1, 3])},
            },
        )
        should_be = array([5.27492301, 6.30778155, 3.68128018])

        instance_name = "zurich_parcel.parcel.jobs_within_2_of_parcel_exp_weighted_with_beta"
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 29
0
 def test_my_inputs(self):
     mode = 'hwy'
     tester = VariableTester(
         __file__,
         package_order=['urbansim_parcel', 'urbansim'],
         test_data={
              "zone":{
                 "zone_id":array([1, 3]),
                 "population":array([10, 1])},
              "travel_data":{
                  "from_zone_id":array([3,3,1,1]),
                  "to_zone_id":array([1,3,1,3]),
                  mode:array([1, 2, 3, 4])}            
              }
     )
     should_be = array([2.11111, 0.875])
     instance_name = "sanfrancisco.zone.%s_travel_time_weighted_access_by_population" % mode    
     tester.test_is_close_for_family_variable(self, should_be, instance_name, rtol=1e-5)
Esempio n. 30
0
 def test_my_inputs(self):
     mode = 'hwy'
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
              "zone":{
                 "zone_id":array([1,3]),
                 "employment":array([10, 1])},
              "travel_data":{
                  "from_zone_id":array([3,3,1,1]),
                  "to_zone_id":array([1,3,1,3]),
                  mode:array([1, 2, 3, 4])}                 
              }
     )
     should_be = array([1.17361, 10.25])
     instance_name = "sanfrancisco.zone.%s_travel_time_weighted_access_to_employment" % mode
     tester.test_is_close_for_family_variable(self, should_be, instance_name, rtol=1e-5)
    def test_my_inputs(self):
        work_access_to_employment = array([0.0, 5000.0, 12000.0])
        locations_in_zoneid = array([1, 1, 3, 2, 2])

        tester = VariableTester(
            __file__,
            package_order=["urbansim"],
            test_data={
                "zone": {"zone_id": array([1, 2, 3]), "work_access_to_employment_2": work_access_to_employment},
                "gridcell": {"grid_id": array([1, 2, 3, 4, 5]), "zone_id": locations_in_zoneid},
            },
        )

        # since we're using bounded log, we get 0.0 for the 0 value of work_access_to_employment
        should_be = array([0.0, 0.0, log(12000.0), log(5000.0), log(5000.0)])
        # The number of cars is 2 in this test
        instance_name = "urbansim.gridcell.ln_work_access_to_employment_2"
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 32
0
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             "gridcell":{ 
                 "grid_id": array([1, 2, 3]),
                 "zone_id": array([1, 1, 3])
                 },
             "zone":{ 
                 "zone_id": array([1, 2, 3]),
                 "ln_access_from_residence_to_workplaces_2": array([4.1, 5.3, 6.2])
             }
         }
     )
     
     should_be = array([4.1, 4.1, 6.2])
     instance_name = "urbansim.gridcell.ln_access_from_residence_to_workplaces_2"    
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 33
0
    def test_my_inputs(self):
        sqft_of_industrial_jobs = array([1225, 5000, 7500])
        industrial_sqft = array([1995, 10000, 7500])

        tester = VariableTester(
            __file__,
            package_order=['urbansim'],
            test_data={
                "gridcell":{
                    "grid_id":array([1,2,3]),
                    "sqft_of_industrial_jobs":sqft_of_industrial_jobs, 
                    "buildings_industrial_sqft":industrial_sqft,
                }
            }
        )
        
        should_be = array([770/1995.0, 5000/10000.0, 0])
        instance_name = "urbansim.gridcell.vacancy_rate_for_industrial_sqft"
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
    def test_my_inputs(self):
        zone_id = array([1, 1, 3, 2])
        twauht_work_ai_3 = array([4.1, 5.3, 6.2])

        tester = VariableTester(
            __file__,
            package_order=["urbansim"],
            test_data={
                "gridcell": {"grid_id": array([1, 2, 3, 4]), "zone_id": zone_id},
                "zone": {
                    "zone_id": array([1, 2, 3]),
                    "trip_weighted_average_utility_hbw_to_work_am_income_3": twauht_work_ai_3,
                },
            },
        )

        should_be = array([4.1, 4.1, 6.2, 5.3])
        instance_name = "urbansim.gridcell.trip_weighted_average_utility_hbw_to_work_am_income_3"
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 35
0
    def test_my_inputs(self):
        tester = VariableTester(
            __file__,
            package_order=['psrc_parcel', 'urbansim_parcel', 'urbansim'],
            test_data={
            'parcel':
            {
                "parcel_id":  array([1,   2,    3,  4, 5, 7, 8 ]),
                "x_coord_sp": array([1,   2,    3,  3, 1, 2, 3 ]),
                "y_coord_sp": array([1,   1,    1,  2, 4, 2, 3 ]),
            },
            'school':
            {
             "school_id": array([1, 2, 3, 4, 5, 6, 7]),
             "parcel_id": array([1, 2, 3, 7, 7, 1, 8])
             },
        })
        should_be = array([0, 0, 0, 1, 2.23607, 0, 0])

        instance_name = 'psrc_parcel.parcel.distance_to_school'
        tester.test_is_close_for_family_variable(self, should_be, instance_name, rtol=1e-5)
    def test_my_inputs(self):
        sqft_of_industrial_jobs = array([1225, 5000, 7500])
        industrial_sqft = array([1995, 10000, 7500])

        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    "gridcell": {
                                        "grid_id":
                                        array([1, 2, 3]),
                                        "sqft_of_industrial_jobs":
                                        sqft_of_industrial_jobs,
                                        "buildings_industrial_sqft":
                                        industrial_sqft,
                                    }
                                })

        should_be = array([770 / 1995.0, 5000 / 10000.0, 0])
        instance_name = "urbansim.gridcell.vacancy_rate_for_industrial_sqft"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
Esempio n. 37
0
 def test_my_inputs( self ):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             'gridcell':{
                 'grid_id': array([1,2,3,4]),
                 'relative_x': array([1,2,1,2]),
                 'relative_y': array([1,1,2,2]),
                 'number_of_non_home_based_jobs_of_group_service': array([100, 1000, 500, 1500]),
                 },
             'urbansim_constant':{
                 "walking_distance_circle_radius": array([150]),
                 'cell_size': array([150]),
             }
         }
     )
     
     should_be = array( [1800.0, 4600.0, 3100.0, 6000.0] )
     instance_name = "urbansim.gridcell.service_sector_non_home_based_employment_within_walking_distance"    
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
    def test_my_inputs(self):
        tester = VariableTester(
            __file__,
            package_order=['urbansim'],
            test_data={
                "gridcell": {
                    "grid_id": array([1, 2, 3]),
                    "zone_id": array([1, 1, 3])
                },
                "zone": {
                    "zone_id":
                    array([1, 2, 3]),
                    "ln_access_from_residence_to_workplaces_2":
                    array([4.1, 5.3, 6.2])
                }
            })

        should_be = array([4.1, 4.1, 6.2])
        instance_name = "urbansim.gridcell.ln_access_from_residence_to_workplaces_2"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
Esempio n. 39
0
    def test_my_inputs(self):
        """ test k=0,1,2
        """
        tester = VariableTester(
            __file__,
            package_order=['sanfrancisco','urbansim'],
            test_data={
            'household':
            {"household_id": array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]),
             "zone_id":      array([ 1, 1, 2, 2, 3, 3, 4, 2, 1, 3]),
             "income":       array([ 0,10,45,30,20,50,85,21,20,65])*1000,
            },
            'zone':
            {
             "zone_id":  array([1,2,3,4]),
             },
            'adjacent_zone':
            {
             #  1 | 2  
             #  - - -
             #  3 | 4
             "zone_id":           array([1,1,2,2,3,3,4,4]),
             "adjacent_zone_id":  array([2,3,1,4,1,4,2,3]),
             },
             
           }
        )
        
        instance_name = 'sanfrancisco.zone.mean_income_k0'
        should_be = array([10, 32, 45, 85])*1000 
        tester.test_is_equal_for_family_variable(self, should_be, instance_name)

        instance_name = 'sanfrancisco.zone.mean_income_k1'
        should_be = array([29, 30.142857, 35.714285, 45.142857])*1000
        tester.test_is_close_for_family_variable(self, should_be, instance_name)

        instance_name = 'sanfrancisco.zone.mean_income_k2'
        should_be = array([34.6, 34.6, 34.6, 34.6])*1000
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
    def test_my_inputs(self):
        zone_id = array([1, 1, 3, 2])
        twauht_work_ai_3 = array([4.1, 5.3, 6.2])

        tester = VariableTester(
            __file__,
            package_order=['urbansim'],
            test_data={
                "gridcell": {
                    "grid_id": array([1, 2, 3, 4]),
                    "zone_id": zone_id
                },
                "zone": {
                    "zone_id": array([1, 2, 3]),
                    "ln_home_access_to_population_income_3": twauht_work_ai_3
                }
            })

        should_be = array([4.1, 4.1, 6.2, 5.3])
        instance_name = "urbansim.gridcell.ln_home_access_to_population_income_3"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
Esempio n. 41
0
    def test_my_inputs(self):
        gridcell_grid_id = array([1, 2, 3])
        #specify an array of 4 hh's, 1st hh's grid_id = 2 (it's in gridcell 2), etc.
        household_grid_id = array([2, 1, 3, 2])
        #specify how many people live in each household
        hh_persons = array([10, 5, 20, 30])

        tester = VariableTester(__file__,
                                package_order=['urbansim'],
                                test_data={
                                    "gridcell": {
                                        "grid_id": gridcell_grid_id
                                    },
                                    "household": {
                                        "household_id": array([1, 2, 3, 4]),
                                        "persons": hh_persons,
                                        "grid_id": household_grid_id
                                    }
                                })

        should_be = array([5, 40, 20])
        tester.test_is_close_for_family_variable(self, should_be)
Esempio n. 42
0
    def test_my_inputs(self):
        zone_id = array([1, 1, 3])
        twauhf_home_ai_2 = array([4.1, 5.3, 6.2])

        tester = VariableTester(
            __file__,
            package_order=['urbansim'],
            test_data={
                "gridcell":{ 
                    "grid_id": array([1,2,3]),
                    "zone_id": zone_id
                    }, 
                "zone":{ 
                    "zone_id": array([1,2,3]),
                    "trip_weighted_average_utility_hbw_from_home_am_income_2": twauhf_home_ai_2
                }
            } 
        )
        
        should_be = array([4.1, 4.1, 6.2])
        instance_name = "urbansim.gridcell.trip_weighted_average_utility_hbw_from_home_am_income_2"    
        tester.test_is_close_for_family_variable(self, should_be, instance_name)
Esempio n. 43
0
 def test_my_inputs( self ):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             'gridcell':{
                 'grid_id': array([1,2,3,4]),
                 'relative_x': array([1,2,1,2]),
                 'relative_y': array([1,1,2,2]),
                 'buildings_residential_space': array([100.0, 500.0, 1000.0, 1500.0]),
                 },
             'urbansim_constant':{
                 "walking_distance_circle_radius": array([150]),
                 'cell_size': array([150]),
                 "acres": array([105.0]),
             }
         }
     )
     
     should_be = array( [1800.0, 3100.0, 4600.0, 6000.0] )
     instance_name = "urbansim.gridcell.total_buildings_residential_space_within_walking_distance"    
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
 def test_my_inputs( self ):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             'gridcell':{
                 'grid_id': array([1,2,3,4]),
                 'number_of_development_type_group_residential_within_walking_distance': array([3, 5, 1, 0]),
                 },
             'urbansim_constant':{
                 "walking_distance_circle_radius": array([150]),
                 'cell_size': array([150]),
             }
         }
     )
     
     should_be = array([3/5.0*100.0, 
                        5/5.0*100.0, 
                        1/5.0*100.0, 
                        0/5.0*100.0])
     instance_name = "urbansim.gridcell.percent_residential_within_walking_distance"
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=["urbansim_parcel", "urbansim", "opus_core"],
         test_data={
             "person": {
                 "person_id": array([1, 2, 3, 4, 5, 6, 7, 8]),
                 "household_id": array([1, 1, 2, 3, 3, 3, 4, 5]),
                 "worker1": array([1, 0, 1, 0, 0, 1, 0, 0]),
                 "workplace_zone_id": array([1, 3, 3, 2, 1, 3, -1, -1]),
             },
             "household": {"household_id": array([1, 2, 3, 4, 5]), "zone_id": array([3, 1, 1, 1, 2])},
             "travel_data": {
                 "from_zone_id": array([3, 3, 1, 1, 1, 2, 2, 3, 2]),
                 "to_zone_id": array([1, 3, 1, 3, 2, 1, 3, 2, 2]),
                 "single_vehicle_to_work_travel_distance": array([1.1, 2.2, 3.3, 4.4, 0.5, 0.7, 8.7, 7.8, 1.0]),
             },
         },
     )
     default_value = workerDDD_network_distance_from_home_to_work.default_value
     should_be = array([1.1, 4.4, 4.4, default_value, default_value])
     tester.test_is_close_for_family_variable(self, should_be, self.variable_name)
    def test_my_inputs(self):
        tester = VariableTester(
            __file__,
            package_order=['urbansim'],
            test_data={
                'gridcell': {
                    'grid_id':
                    array([1, 2, 3, 4]),
                    'number_of_development_type_group_residential_within_walking_distance':
                    array([3, 5, 1, 0]),
                },
                'urbansim_constant': {
                    "walking_distance_circle_radius": array([150]),
                    'cell_size': array([150]),
                }
            })

        should_be = array([
            3 / 5.0 * 100.0, 5 / 5.0 * 100.0, 1 / 5.0 * 100.0, 0 / 5.0 * 100.0
        ])
        instance_name = "urbansim.gridcell.percent_residential_within_walking_distance"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['urbansim_parcel', 'urbansim', 'opus_core'],
         test_data={
         'person': {
             'person_id':array([1, 2, 3, 4, 5, 6, 7, 8]),
             'household_id':      array([1, 1, 2, 3, 3, 3, 4, 5]),
             'worker1':           array([1, 0, 1, 0, 0, 1, 0, 0]),
             'workplace_zone_id':array([1, 3, 3, 2, 1, 3, -1, -1]),
             },
          'household': {
             'household_id':array([1,2,3,4,5]),
             'zone_id':     array([3,1,1,1,2]),
             },
         'travel_data': {
             'from_zone_id':array([3,3,1,1,1,2,2,3,2]),
             'to_zone_id':  array([1,3,1,3,2,1,3,2,2]),
             'single_vehicle_to_work_travel_distance':array([1.1, 2.2, 3.3, 4.4, 0.5, 0.7, 8.7, 7.8, 1.0])
         }
     })
     default_value = workerDDD_network_distance_from_home_to_work.default_value
     should_be = array([1.1, 4.4, 4.4, default_value, default_value])
     tester.test_is_close_for_family_variable(self, should_be, self.variable_name)
Esempio n. 48
0
    def test_my_inputs(self):
        zone_id = array([1, 1, 3, 2])
        twauht_work_ai_3 = array([4.1, 5.3, 6.2])

        tester = VariableTester(
            __file__,
            package_order=['urbansim'],
            test_data={
                "gridcell": {
                    "grid_id": array([1, 2, 3, 4]),
                    "zone_id": zone_id
                },
                "zone": {
                    "zone_id":
                    array([1, 2, 3]),
                    "trip_weighted_average_utility_hbw_to_work_am_income_3":
                    twauht_work_ai_3
                }
            })

        should_be = array([4.1, 4.1, 6.2, 5.3])
        instance_name = "urbansim.gridcell.trip_weighted_average_utility_hbw_to_work_am_income_3"
        tester.test_is_close_for_family_variable(self, should_be,
                                                 instance_name)
 def test_my_inputs(self):
     tester = VariableTester(
         __file__,
         package_order=['urbansim'],
         test_data={
             'gridcell':{
                 'grid_id': array([1,2,3,4]),
                 'relative_x': array([1,2,1,2]),
                 'relative_y': array([1,1,2,2]),
                 'residential_units': array([1,2,3,4]),
                 'n_residential_units_recently_added': array([1, 0, 1, 1]),
                 },
             'urbansim_constant':{
                 'recent_years': array([3]),
                 "walking_distance_circle_radius": array([150]),
                 'cell_size': array([150]),
                 "acres": array([105.0]),
             }
         }
     )
     
     should_be = array([4.0, 2.0, 5.0, 4.0])
     instance_name = 'urbansim.gridcell.n_residential_units_recently_added_within_walking_distance'
     tester.test_is_close_for_family_variable(self, should_be, instance_name)
    def test_my_inputs(self):
        tester = VariableTester(
            __file__,
            package_order=['sanfrancisco', 'urbansim'],
            test_data={
                "building_type_classification": {
                    "class_id": array([1, 2, 3]),
                    "name": array(['apartment', 'industrial', 'mixed']),
                },
                "building_type": {
                    "building_type_id": array([1, 2, 3, 4, 5, 6]),
                    "class_id": array([1, 1, 2, 2, 3, 3])
                },
                "building": {
                    "building_id":
                    array([
                        11, 12, 13, 14, 15, 16, 21, 22, 23, 24, 25, 26, 31, 32,
                        33, 34, 35, 36
                    ]),
                    "building_type_id":
                    array(
                        [1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1, 1, 2, 3, 4, 5,
                         6]),
                    # so type_class is: 1,1,2,2,3,3, = a,a,i,i,m,m
                    #                   3,3,2,2,1,1  = m,m,i,i,a,a
                    #                   1,1,2,2,3,3  = a,a,i,i,m,m
                    "building_sqft":
                    array([
                        101, 102, 103, 104, 105, 106, 201, 202, 203, 204, 205,
                        206, 301, 302, 303, 304, 305, 306
                    ]),
                    "residential_sqft":
                    array([
                        101, 102, 0, 0, 51, 52, 101, 102, 0, 0, 205, 206, 301,
                        302, 0, 0, 101, 102
                    ]),
                    "non_residential_sqft":
                    array([
                        0, 0, 103, 104, 54, 54, 100, 100, 203, 204, 0, 0, 0, 0,
                        303, 304, 204, 204
                    ]),
                    "residential_units":
                    array(
                        [4, 4, 0, 0, 2, 2, 1, 1, 0, 0, 3, 3, 2, 2, 0, 0, 1, 1])
                },
                "business": {
                    "business_id":
                    array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]),
                    "building_id":
                    array([
                        13, 13, 14, 14, 15, 16, 21, 22, 23, 23, 24, 24, 33, 34,
                        35
                    ]),
                    "sqft":
                    array([
                        23, 24, 25, 26, 54, 55, 27, 28, 29, 30, 31, 32, 33, 34,
                        35
                    ])
                },
                "household": {
                    "household_id":
                    array([
                        1,
                        2,
                        3,
                        4,
                        5,
                        6,
                        7,
                        8,
                        9,
                        10,
                        11,
                        12,
                        13,
                        14,  # in industrial
                        15
                    ]),  # too many in blg 35
                    "building_id":
                    array([
                        11, 11, 11, 12, 12, 15, 21, 26, 26, 31, 31, 32, 35, 13,
                        35
                    ]),
                }
            })

        varname = "sanfrancisco.building.occupied_sqft_of_typeclass_apartment"
        print tester._get_attribute(given_variable_name=varname)
        # [ (3/4)*101, (2/4)*102, 0,0, 0,0,
        #   0,0,                  0,0, (0/3)*205, (2/3)*206,
        #   (2/2)*301, (1/2)*302, 0,0, 0,0 ]
        expected = [
            75.75, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137.333, 301, 151, 0, 0, 0, 0
        ]
        tester.test_is_close_for_family_variable(self, expected, varname,
                                                 0.001)

        varname = "sanfrancisco.building.occupied_sqft_of_typeclass_industrial"
        print tester._get_attribute(given_variable_name=varname)
        # [ 0,0, 23+24, 25+26, 0,0,
        #   0,0, 29+30, 31+32, 0,0,
        #   0,0, 33,    34,    0,0]
        expected = [0, 0, 47, 51, 0, 0, 0, 0, 59, 63, 0, 0, 0, 0, 33, 34, 0, 0]
        tester.test_is_close_for_family_variable(self, expected, varname,
                                                 0.001)

        varname = "sanfrancisco.building.occupied_sqft_of_typeclass_mixed"
        print tester._get_attribute(given_variable_name=varname)
        # [ 0,0, 0,0, 54+(1/2)*51, 55+(0/2)*52,
        #   27+(1/1)*101, 28+(0/1)*102, 0,0, 0,0,
        #   0,0, 0,0, 35+(2/1)*101, 0+(0/1)*102]
        expected = [
            0, 0, 0, 0, 79.5, 55, 128, 28, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0
        ]
        tester.test_is_close_for_family_variable(self, expected, varname,
                                                 0.001)