def runRoutesOverDays(s, dates, routesFile): messageLimit = 10 warningLimit = 10 rawInstructions = Serialization.loadInstructionsFromFile(routesFile) # if Array.length parseWarnings > 0 then # printfn "%d instruction parse warnings" (Array.length parseWarnings) routes = InstructionParser.ConvertRawInstructions(s.projection, rawInstructions) flightCountsAndCosts = {} for date in dates: # weather = s.weather[date] flights = s.flights[date] airports = s.airports #.[date] airspace = s.airspace[date] print "Simulating " + str(date) # airports = None # print routes # raw_input('routes') weather = None results = Simulator.simulateFlights(s.simulationParameters, airports, airspace, weather, flights, routes) # return a map of FlightId to # print results # raw_input('next') # countArrived = [ x.ReachedDestination for x in results] # cost = [x.Cost for x in results] flightCosts = {} cost = [] countArrived = 0 for k, v in results.iteritems(): flightCosts[k] = v['CostDetail'] countArrived += 1 if v['ReachedDestination'] else 0 cost.append(v['Cost']) print 'countArrived' print countArrived print 'cost' print cost flightCountsAndCosts[date] = { 'date': date, 'flightCount': countArrived, 'meanCost': sum(cost) / len(cost), #flightLogs = logs 'flightCosts': flightCosts } return flightCountsAndCosts
airports = Serialization.loadAirportsFromFile(airportsFile) #, landingFile, taxiFile) # timeStampPrint sw "Loading date-specific info " (flightsDates, airspaceDates) = Serialization.loadDateMaps( flightPattern, restrictedAirspace, turbulentZonesPattern, dates) # // config contains references to pre-loaded objects/maps configL = config.Config(projection, airports, flightsDates, airspaceDates, simulationParameters) submission = config.settings['submissions'] print submission routesFile = basePath + '/' + submission rawInstructions = Serialization.loadInstructionsFromFile(routesFile) # rawInstructions is a dict routes = InstructionParser.ConvertRawInstructions(configL.projection, rawInstructions) weather = None airports = configL.airports airportEnvironment = None fullCoreFunctions = SimulationTypes.SimulationCoreFunctions( FuelModel.fuelBurn, WeightModel.grossWeight, AirSpeedLimiter.limitAirSpeed, AirSpeedLimiter.limitAltitude, Arrival.arrivalModel) output_file = basePath + "USTC9600_final_submission.csv' with open(output_file, "w") as f: f.write("FlightId,Ordinal,Latitude,Longitude,Altitude,AirSpeed\n") count_miss =0