diff --git a/input/input_checker/config/inputs_checks.csv b/input/input_checker/config/inputs_checks.csv
deleted file mode 100644
index d0a9c4629..000000000
--- a/input/input_checker/config/inputs_checks.csv
+++ /dev/null
@@ -1,80 +0,0 @@
-Test,Input_Table,Input_ID_Column,Severity,Type,Expression,Test_Vals,Report_Statistic,Test_Description
-scenarioYear,scenario,Year,NA,Calculation,scenario['Year'].iloc[0],,,Obtain scenario year
-zoneCount,scenario,zoneCount,NA,Calculation,scenario['zoneCount'].iloc[0],,,Obtain number of zones in scenario. Number of zones may change as a result of zone splitting.
-PERSON_CTRAMP_Fields_Availability,persons,perid,Fatal,Test,test_val in persons.columns,"hhid,perid,household_serial_no,pnum,age,sex,miltary,pemploy,pstudent,ptype,educ,grade,occen5,occsoc5,indcen,weeks,hours,rac1p,hisp,version",,Check if person file contains all the required fields for ABM
-PERSON_military_valueCheck_agg,persons,perid,Warning,Test,"set(persons.miltary)=={0,1}",,,"Check if Person data matches the pre-defined military categories [0 = N/A Less than 17 years old, 1 = Yes, Now on Active Duty]"
-PERSON_military_valueCheck_disagg,persons,perid,Fatal,Test,"persons.miltary.apply(lambda x: True if x in [0,1,2,3,4] else False)",,,"Check if Person data matches the pre-defined military categories [0 = N/A Less than 17 years old, 1 = Yes, Now on Active Duty, 2 = Yes, on Active Duty in Past, but not Now, 3 = No, Training for Reserves/National Guard Only, 4 = No, Never Served in the Military]"
-PERSON_pemploy_valueCheck_agg,persons,perid,Warning,Test,"set(persons.pemploy)=={1,2,3,4}",,,"Check if Person data matches the pre-defined pemploy categories [1 = Employed Full-Time, 2 = Employed Part-Time, 3 = Unemployed or Not in Labor Force, 4 = Less than 16 Years Old]"
-PERSON_pemploy_valueCheck_disagg,persons,perid,Fatal,Test,"persons.pemploy.apply(lambda x: True if x in [1,2,3,4] else False)",,,"Check if Person data matches the pre-defined pemploy categories [1 = Employed Full-Time, 2 = Employed Part-Time, 3 = Unemployed or Not in Labor Force, 4 = Less than 16 Years Old]"
-PERSON_pstudent_valueCheck_agg,persons,perid,Warning,Test,"set(persons.pstudent)=={1,2,3}",,,"Check if Person data matches the pre-defined pstudent categories [1 = Pre K-12, 2 = College Undergrad + Grad and Prof. School, 3 = Not Attending School]"
-PERSON_pstudent_valueCheck_disagg,persons,perid,Fatal,Test,"persons.pstudent.apply(lambda x: True if x in [1,2,3] else False)",,,"Check if Person data matches the pre-defined pstudent categories [1 = Pre K-12, 2 = College Undergrad + Grad and Prof. School, 3 = Not Attending School]"
-PERSON_ptype_valueCheck_agg,persons,perid,Warning,Test,"set(persons.ptype)=={1,2,3,4,5,6,7,8}",,,"Check if Person data matches the pre-defined ptype categories [1 = Full-time Worker, 2 = Part-time Worker, 3 = College Student, 4 = Non-working Adult, 5 = Non-working Senior, 6 = Driving Age Student, 7 = Non-driving Student, 8 = Pre-school]"
-PERSON_ptype_valueCheck_disagg,persons,perid,Fatal,Test,"persons.ptype.apply(lambda x: True if x in [1,2,3,4,5,6,7,8] else False)",,,"Check if Person data matches the pre-defined ptype categories [1 = Full-time Worker, 2 = Part-time Worker, 3 = College Student, 4 = Non-working Adult, 5 = Non-working Senior, 6 = Driving Age Student, 7 = Non-driving Student, 8 = Pre-school]"
-PERSON_educ_valueCheck_agg,persons,perid,Warning,Test,"set(persons.educ)=={1,9,13}",,,"Check if Person data matches the pre-defined educ categories [1 = No schooling completed, 9 = High school graduate, 13 = Bachelor's degree]"
-PERSON_educ_valueCheck_disagg,persons,perid,Fatal,Test,"persons.educ.apply(lambda x: True if x in [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] else False)",,,"Check if Person data matches the pre-defined educ categories [0 = N/A (Under 3 years), 1 = No schooling completed, 2 = Nursery school to 4th grade, 3 = 5th grade or 6th grade, 4 = 7th grade or 8th grade, 5 = 9th grade, 6 = 10th grade, 7 = 11th grade, 8 = High school graduate, 9 = High school graduate, 10 = Some college but less than 1 year, 11 = One or more years of college no degree, 12 = Associate degree, 13 = Bachelor's degree, 14 = Master's degree, 15 = Professional degree, 16 = Doctorate degree]"
-PERSON_grade_valueCheck_agg,persons,perid,Warning,Test,"set(persons.grade)=={0,2,5,6}",,,"Check if Person data mathces the pre-defined grade categories [0 = N/A (not attending school), 2 = Kindergarten, 5 = Grade 9 to grade 12, 6 = College undergraduate]"
-PERSON_grade_valueCheck_disagg,persons,perid,Fatal,Test,"persons.grade.apply(lambda x: True if x in [0,1,2,3,4,5,6,7] else False)",,,"Check if Person data mathces the pre-defined grade categories [0 = N/A (not attending school), 1 = Nursery school/preschool, 2 = Kindergarten, 3 = Grade 1 to grade 4, 4 = Grade 5 to grade 8, 5 = Grade 9 to grade 12, 6 = College undergraduate, 7 = Graduate or professional school]"
-#PERSON_occsoc5_valueCheck_agg,persons,perid,Warning,Test,set(persons.occsoc5)==set(occsoc.occsoc5),,,Check if Person data matches the pre-defined detailed occupation codes defined by the Standard Occupational Classification system
-occsoc_codes,occsoc,occsoc5,NA,Calculation,set(occsoc.occsoc5.values),,,Get unique occupational codes from occsoc
-PERSON_occsoc5_valueCheck_disagg,persons,perid,Fatal,Test,persons.occsoc5.apply(lambda x: True if x in occsoc_codes else False),,,Check if Person data matches the pre-defined detailed occupation codes defined by the Standard Occupational Classification system
-PERSON_weeks_valueCheck_agg,persons,perid,Warning,Test,"set(persons.weeks)=={1,5}",,,"Check if Person data matches the pre-defined weeks categories [1 = 50 to 52 weeks, 5 = 14 to 26 weeks]"
-PERSON_weeks_valueCheck_disagg,persons,perid,Fatal,Test,"persons.weeks.apply(lambda x: True if x in [0,1,2,3,4,5,6] else False)",,,"Check if Person data matches the pre-defined weeks categories [0 = N/A (less than 16 years old/did not work in past 12 months), 1 = 50 to 52 weeks, 2 = 48 to 49 weeks, 3 = 40 to 47 weeks, 4 = 27 to 39 weeks, 5 = 14 to 26 weeks, 6 = 13 weeks or less]"
-PERSON_race1p_valueCheck_agg,persons,perid,Warning,Test,"set(persons.rac1p)=={1,2,5,6,7,8,9}",,,"Check if Person data matches the pre-defined race1p categories [1 = White Alone, 2 = Black or African American Alone, 5 = American Indian and Alaska Native Tribes specified; or American Indian or Alaska Native, not specified and no other races, 6 = Asian Alone, 7 = Native Hawaiian and Other Pacific Islander Alone, 8 = Some Other Race Alone, 9 = Two or More Major Race Groups]"
-PERSON_race1p_valueCheck_disagg,persons,perid,Fatal,Test,"persons.rac1p.apply(lambda x: True if x in [1,2,3,4,5,6,7,8,9] else False)",,,"Check if Person data matches the pre-defined race1p categories [1 = White Alone, 2 = Black or African American Alone, 3 = American Indian Alone, 4 = Alaska Native Alone, 5 = American Indian and Alaska Native Tribes specified; or American Indian or Alaska Native, not specified and no other races, 6 = Asian Alone, 7 = Native Hawaiian and Other Pacific Islander Alone, 8 = Some Other Race Alone, 9 = Two or More Major Race Groups]"
-PERSON_hisp_valueCheck_agg,persons,perid,Warning,Test,"set(persons.hisp)=={1,2}",,,"Check if Person data matches the pre-defined hisp categories [1 = Non-Hispanic, 2 = Hispanic]"
-PERSON_hisp_valueCheck_disagg,persons,perid,Fatal,Test,"persons.hisp.apply(lambda x: True if x in [1,2] else False)",,,"Check if Person data matches the pre-defined hisp categories [1 = Non-Hispanic, 2 = Hispanic]"
-PERSON_gender_valueCheck_agg,persons,perid,Fatal,Test,"set(persons.sex)=={1,2}",,,"Check if Person data matches the pre-defined gender categories [1=male, 2=female]"
-PERSON_gender_valueCheck_disagg,persons,perid,Fatal,Test,"persons.sex.apply(lambda x: True if x in [1,2] else False)",,,"Check if Person data matches the pre-defined gender categories [1=male, 2=female]"
-PERSON_age_valueCheck,persons,perid,Fatal,Test,(persons.age>=0),,,Check Person's age to be a positive number
-PERSON_hhid_sequential_check,persons,perid,Fatal,Test,(min(persons.hhid)==1) & (max(persons.hhid)==len(set(households.hhid))),,,Ensure hhid in Person data is sequential
-PERSON_perid_sequential_check,persons,perid,Fatal,Test,(min(persons.perid)==1) & (max(persons.perid)==len(set(persons.perid))),,,Ensure perid in Person's data is sequential
-HH_hinccat1_valueCheck_agg,households,hhid,Warning,Test,"set(households.hinccat1)=={1,2,3,4,5}",,,"Check if Household data matches the pre-defined hinccat1 categories [1 = <$30k, 2 = $30-60k, 3 = $60-100k, 4 = $100-150k, 5 = $150+]"
-HH_hinccat1_valueCheck_disagg,households,hhid,Fatal,Test,"households.hinccat1.apply(lambda x: True if x in [1,2,3,4,5] else False)",,,"Check if Household data matches the pre-defined hinccat1 categories [1 = <$30k, 2 = $30-60k, 3 = $60-100k, 4 = $100-150k, 5 = $150+]"
-HH_hht_valueCheck_agg,households,hhid,Warning,Test,"set(households.hht)=={0,1,2,3,4,5,6,7}",,,"Check if Household data matches the pre-defined hht categories [0 = Not in universe (vacant or GQ), 1 = Family household: married-couple, 2 = Family household: male householder, no wife present, 3 = Family household, female householder, no husband present, 4 = Nonfamily household: male householder, living along, 5 = Nonfamily household: male householder, not living alone, 6 = Nonfamily household: female householder, living alone, 7 = Nonfamily household: female householder, not living alone]"
-HH_hht_valueCheck_disagg,households,hhid,Fatal,Test,"households.hht.apply(lambda x: True if x in [0,1,2,3,4,5,6,7] else False)",,,"Check if Household data matches the pre-defined hht categories [0 = Not in universe (vacant or GQ), 1 = Family household: married-couple, 2 = Family household: male householder, no wife present, 3 = Family household, female householder, no husband present, 4 = Nonfamily household: male householder, living along, 5 = Nonfamily household: male householder, not living alone, 6 = Nonfamily household: female householder, living alone, 7 = Nonfamily household: female householder, not living alone]"
-HH_bldgsz_valueCheck_agg,households,hhid,Warning,Test,"set(households.bldgsz)=={1,2,3,8,9}",,,"Check if Household data matches the pre-defined bldgsz categories [1 = Mobile home or trailer, 2 = One-family house detached, 3 = One-family house attached, 8 = 20-49 Apartments, 9 = 50 or more apartments]"
-HH_bldgsz_valueCheck_disagg,households,hhid,Warning,Test,"households.bldgsz.apply(lambda x: True if x in [1,2,3,4,5,6,7,8,9,10] else False)",,,"Check if Household data matches the pre-defined bldgsz categories [1 = Mobile home or trailer, 2 = One-family house detached, 3 = One-family house attached, 4 = 2 Apartments, 5 = 3-4 Apartments, 6 = 5-9 Apartments, 7 = 10-19 Apartments, 8 = 20-49 Apartments, 9 = 50 or more apartments, 10 = Boat, RV, van, etc.]"
-HH_persons_valueCheck,households,hhid,Fatal,Test,(households.persons>0),,,Check if number of persons in household is a positive number
-HH_hworkers_persons_valueCheck,households,hhid,Fatal,Test,(households.hworkers >= 0) & (households.hworkers <= households.persons),,,Check if number of workers in household are within the valid range
-HH_hhid_sequential_check,households,hhid,Fatal,Test,(min(households.hhid)==1) & (max(households.hhid)==len(set(households.hhid))),,,Ensure hhid in Household data is sequential
-mgra_id_list,mgra_data,mgra,NA,Calculation,set(mgra_data.mgra.values),,,Get unique mgra IDs from mgra_data
-HH_mgra_range_check,households,hhid,Fatal,Test,households.mgra.apply(lambda x: True if x in mgra_id_list else False),,,Check if mgra IDs in the Household data are in the allowable range
-taz_id_list,mgra_data,mgra,NA,Calculation,set(mgra_data.taz.values),,,Get unique taz IDs from mgra_data
-HH_TAZ_range_check,households,hhid,Fatal,Test,households.taz.apply(lambda x: True if x in taz_id_list else False),,,Check if taz IDs in the Household data are in the allowable range
-#zero_hh_mgras,mgra_data,mgra,NA,Calculation,set(mgra_data.mgra[mgra_data.hh==0]),,,Get mgras with zero households from mgra_data
-#HH_household_in_zeroHH_mgra,households,hhid,Fatal,Test,households.mgra.apply(lambda x: True if x not in zero_hh_mgras else False),,,Check if any household is assigned to an mgra with zero households
-NODE_CTRAMP_Fields_Availability,network_nodes,id,Fatal,Test,test_val in network_nodes.columns,"id,@tap_id",,Check if Node data contains all the required fields for ABM. The CSV exporter should throw an error if any field is missing in the Emme object
-LINK_POSITIVE_LENGTH,network_links,id,Logical,Test,network_links.length>0,,,All link length should be greater than zero
-#TRANSITSEGMENT_Unique_Stop_ID_Check,transit_segments,id,Fatal,Test,len(set(transit_segments['@stop_id'])) == len(transit_segments['@stop_id']),,,All transit segment stop IDs must be unique
-mgra_total_employment,mgra_data,mgra,NA,Calculation,mgra_data[[col for col in mgra_data if (col.startswith('emp_')) and not (col.endswith('total'))]].sum(axis=1),,,
-MGRA_TotalEmployment_CalcCheck,mgra_data,mgra,Logical,Test,mgra_data.emp_total==mgra_total_employment,,,Check if employment by industry adds up to total employment
-ZONE_CHECK,centroids,id,Fatal,Test,len(centroids) == zoneCount,,len(centroids),Check that there are 4996 zones present in network
-zone_connector_table,centroids,id,NA,Calculation,centroids.loc[(centroids['numInLinks']>0) & (centroids['numOutLinks']>0)],,,Obtain table of centroids (i.e. zones) that have more than 1 incoming and outgoing links (i.e. centroid connectors)
-zone_connector_list,zone_connector_table,id,NA,Calculation,set(zone_connector_table.id),,,Obtain list of unique centroid ids that have more than 1 incoming and outgoing links
-NO_ZONE_CONNECTOR_CHECK,centroids,id,Fatal,Test,centroids.id.apply(lambda x: True if x in zone_connector_list else False),,,Check that each zone has a zone connector
-emme_trstops,transit_segments,id,NA,Calculation,set(transit_segments['@stop_id']),,,Obtain list of unique transit stop IDs from Emme network
-TRANSIT_STOP_CHECK,transit_stops,Stop_ID,Fatal,Test,transit_stops.Stop_ID.apply(lambda x: True if x in emme_trstops else False),,,Check that the Emme network is pulling in all transit stops located in the trstop.csv input file
-veh_class_toll_by_year,veh_class_toll,Facility_name,NA,Calculation,veh_class_toll[veh_class_toll['Year'] == scenarioYear],,,Scenario year-specific toll facilities from vehicle_class_toll_factors.csv file
-veh_class_toll_by_year_names,veh_class_toll_by_year,Facility_name,NA,Calculation,list(veh_class_toll_by_year.Facility_name),,,Obtain list of unique scenario year-specific toll facility names from vehicle_class_toll_factors.csv file
-veh_class_toll_by_year_names_concat,veh_class_toll_by_year_names,Facility_name,NA,Calculation,"""|"".join(veh_class_toll_by_year_names)",,,Concatenate list of unique scenario year-specific toll facility names from vehicle_class_toll_factors.csv file
-toll_column_names,network_links,id,NA,Calculation,[col for col in network_links if (col.startswith('@toll'))],,,Create list containing column names of toll cost columns
-no_toll_rows,network_links,id,NA,Calculation,(network_links[toll_column_names] == 0).all(axis=1),,,Create boolean array of whether or not each row's total toll cost exceeds 0
-emme_toll,network_links,id,NA,Calculation,network_links.loc[(network_links['@lane_restriction'] >1) & (~no_toll_rows)],,,Table of links that have an IHOV (or @lane_restriction) value greater than 1 and a toll cost
-emme_toll_names_matching,emme_toll,id,NA,Calculation,emme_toll[emme_toll['linkNames'].str.contains(veh_class_toll_by_year_names_concat)],,,Obtain list of emme network toll links that contain facility toll names from the vehicle_class_toll_factors.csv file
-emme_toll_names_matching_ids,emme_toll_names_matching,id,NA,Calculation,set(emme_toll_names_matching.id),,,Obtain unique ids of matching toll names
-IHOV_FACILITY_CHECK,emme_toll,id,Logical,Test,emme_toll.id.apply(lambda x: True if x in emme_toll_names_matching_ids else False),,,Check that scenario year-specific toll facilities (from vehicle_class_toll_factors.csv) are present in Emme network toll facilities
-TRANSIT_LINE_TAP_CHECK,transit_lines,id,Logical,Test,transit_lines.hasTAP.apply(lambda x: True if x else False),,,Check that all transit lines begin and end at a TAP
-ZONE_NON_TOLL_CONN_CHECK,centroids,id,Fatal,Test,centroids.hasLocalConnection.apply(lambda x: True if x else False),,,Check that each zone has a non-toll connection
-ifc_speed_dict,network_links,id,NA,Calculation,"{1:85, 2:70, 3:60, 4:50, 5:50, 6:50, 7:50, 8:85, 9:50, 10:50}",,,"Create IFC-Speed dictionary (IFC=key, Speed=value)"
-#IFC_SPEED_CHECK,network_links,id,Warning,Test,"network_links.apply(lambda x: not (ifc_speed_dict[x['type']]==x['@speed_posted']) if (x['type'] in ifc_speed_dict.keys()) else False, axis=1) ",,,"Check if an IFC's assigned speed is correct (1 = 85mph, 2 = 70mph, 3 = 60mph, 4 = 50mph, 5 = 50mph, 6 = 50mph, 7 = 50mph, 8 = 85mph, 9 = 50mph, 10 = 50mph)"
-#toll_column_names,network_links,id,NA,Calculation,[col for col in network_links if (col.startswith('@toll'))],,,Create list containing column names of toll cost columns
-#no_toll_rows,network_links,id,NA,Calculation,(network_links[toll_column_names] == 0).all(axis=1),,,Create boolean array of whether or not each row's total toll cost exceeds 0
-#IHOV2_0_TOLL_CHECK,network_links,id,Warning,Test,"network_links[(network_links['@lane_restriction'] == 2) & (no_toll_rows)].apply(lambda x: set(list('shitmv')).difference(list(x['modes'])) == {'h', 'i'}, axis=1)",,,Check that HOV2 and HOV3+ modes are only available for IHOV=2 with no toll cost
-#IHOV3_0_TOLL_CHECK,network_links,id,Warning,Test,"network_links[(network_links['@lane_restriction'] == 3) & (no_toll_rows)].apply(lambda x: set(list('shitmv')).intersection(list(x['modes'])) == {'i'}, axis=1)",,,Check that HOV3+ modes are only available for IHOV=3 with no toll cost
-#IHOV1_TOLL_0_TOLL_CHECK,network_links,id,Warning,Test,"network_links[(network_links['@lane_restriction'].isin([1,4])) & (no_toll_rows)].apply(lambda x: len(set(list('shitmv')).difference(list(x['modes']))) == 0, axis=1)",,,Check that all modes are available for General Purpose and no cost toll lanes
-#IHOV1_NO_TOLL_CHECK,network_links,id,Fatal,Test,network_links[network_links['@lane_restriction'] == 1][toll_column_names].sum().sum() == 0,,,Check if toll cost is 0 for General Purpose lanes (IHOV=1)
-#NON_ZERO_TOLL_CHECK,network_links,id,Warning,Test,"network_links[not(no_toll_rows)].apply(lambda x: len(set(list('shitmv')).difference((list(x['modes'])))) == 0, axis=1)",,,Check that all operation type lanes are available at a nonzero toll cost
-#TRANSIT_ON_ZONE_CONNECTOR,network_links,id,Fatal,Test,len(network_links[(network_links['isTransit'] == 1) & (network_links['@lane_restriction'] == 10)]) == 0,,,Check if any transit links are on zone connectors
-net_links_lanes,network_links,id,NA,Calculation,network_links.loc[network_links['num_lanes']>0],,,Subset of Emme network links that contain at least 1 lane
-HWYCOV_ID_CHECK_TCOV_ID,net_links_lanes,@tcov_id,Fatal,Test,"~net_links_lanes.duplicated(subset=['@tcov_id'], keep = False)",,,Check if there is more than one network link associated for each unique HWYCOV_ID (i.e. @tcov_id). Reports @tcov_id
-HWYCOV_ID_CHECK_LINK_ID,net_links_lanes,id,Fatal,Test,"~net_links_lanes.duplicated(subset=['@tcov_id'], keep = False)",,,Check if there is more than one network link associated for each unique HWYCOV_ID (i.e. @tcov_id). Reports link id
diff --git a/input/input_checker/config/inputs_list.csv b/input/input_checker/config/inputs_list.csv
deleted file mode 100644
index a9c729bca..000000000
--- a/input/input_checker/config/inputs_list.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-Input_Table,Property_Token,Emme_Object,Fields,Column_Map,Input_Description
-persons,PopulationSynthesizer.InputToCTRAMP.PersonFile,NA,All,,Synthetic population person file
-households,PopulationSynthesizer.InputToCTRAMP.HouseholdFile,NA,All,,Synthetic population household file
-mgra_data,mgra.socec.file,NA,All,,MGRA data
-network_links,NA,LINK,All,,Link data from Emme network. File name not needed
-network_nodes,NA,NODE,All,,Node data from Emme network
-transit_segments,NA,TRANSIT_SEGMENT,All,,Transit segment data from Emme network
-transit_lines,NA,TRANSIT_LINE,All,,Transit line data from Emme network
-centroids,NA,CENTROID,All,,Centroid data from Emme network
-occsoc,PopulationSynthesizer.OccupCodes,NA,All,,Occupation codes defined by the Standard Occupational Classification system
-bike_node,active.node.file,NA,All,,Bike network nodes
-transit_stops,transit.stop.file,NA,All,,Transit stop attribute file
-veh_class_toll,vehicle.class.toll.factor.path,NA,All,,Vehicle class toll factors file
diff --git a/src/main/emme/toolbox/import/input_checker.py b/src/main/emme/toolbox/import/input_checker.py
deleted file mode 100644
index 3dc42ec6e..000000000
--- a/src/main/emme/toolbox/import/input_checker.py
+++ /dev/null
@@ -1,508 +0,0 @@
-#//////////////////////////////////////////////////////////////////////////////
-#//// ///
-#//// Copyright RSG, 2019-2020. ///
-#//// Rights to use and modify are granted to the ///
-#//// San Diego Association of Governments and partner agencies. ///
-#//// This copyright notice must be preserved. ///
-#//// ///
-#//// import/input_checker.py ///
-#//// ///
-#//// ///
-#//// ///
-#//// ///
-#//////////////////////////////////////////////////////////////////////////////
-#
-# Reviews all inputs to SANDAG ABM for possible issues that will result in model errors
-#
-#
-# Files referenced:
-# input_checker\config\inputs_checks.csv
-# input_checker\config\inputs_list.csv
-#
-# Script example:
-# python C:\ABM_runs\maint_2020_RSG\Tasks\input_checker\emme_toolbox\emme\toolbox\import\input_checker.py
-
-
-import os, shutil, sys, time, csv, logging
-import win32com.client as com
-import numpy as np
-import pandas as pd
-import traceback as _traceback
-import datetime
-import warnings
-from simpledbf import Dbf5
-import inro.modeller as _m
-
-warnings.filterwarnings("ignore")
-
-_join = os.path.join
-_dir = os.path.dirname
-
-#gen_utils = _m.Modeller().module("sandag.utilities.general")
-
-class input_checker(_m.Tool()):
-
- path = _m.Attribute(unicode)
-
- tool_run_msg = ""
-
- @_m.method(return_type=_m.UnicodeType)
- def tool_run_msg_status(self):
- return self.tool_run_msg
-
- def __init__(self):
- project_dir = _dir(_m.Modeller().desktop.project.path)
- self.path = _dir(project_dir)
- self.input_checker_path = ''
- self.inputs_list_path = ''
- self.inputs_checks_path = ''
- self.prop_input_paths = {}
- self.inputs_list = pd.DataFrame()
- self.inputs_checks = pd.DataFrame()
- self.inputs = {}
- self.results = {}
- self.result_list = {}
- self.problem_ids = {}
- self.report_stat = {}
- self.num_fatal = int()
- self.num_warning = int()
- self.num_logical = int()
-
- def page(self):
- pb = _m.ToolPageBuilder(self)
- pb.title = "Input Checker"
- pb.description = """
- Reviews all inputs to SANDAG ABM for possible issues that could result
- in model errors. List of inputs and checks are read from two CSV files:
-
-