Releases: VolpeUSDOT/FTOT-Public
FTOT 2022_4 public release
The FTOT 2022.4 public release includes updates related to candidate generation using network density reduction (NDR), Tableau and reporting enhancements, detailed reporting on shortest paths between origin and destination facilities, and other minor bug fixes. The following changes have been made:
- Implements a new method for candidate generation scenarios through network density reduction. The new method incorporates NetworkX shortest path algorithms into (1) selection of candidate processor locations and (2) calculation of the optimal routing solution. Running candidate generation using NDR significantly decreases runtime by pre-solving the network for shortest paths; see documentation for details on methodology and known issues.
- Adds metrics for processor capacity and utilization to the text report and CSV report.
- Updates the Tableau workbook with new information on facility sizes, processor efficiencies and utilizations, and other minor aesthetic improvements.
- Expands reporting on shortest path routes between facilities in the "all_routes" CSV report (formerly "optimal_routes") and a new Tableau routes dashboard when NDR is enabled. Reporting allows users to analyze routes across different scenarios, modes, facility pairs, and optimal vs non-optimal routes. The scenario comparison dashboard has also been updated to reflect these enhancements.
- Corrects a minor bug on converting candidate processor build costs to default units.
- Replaces "kgal" with "thousand_gallon" as default liquid units in the template and example scenario XML files.
See documentation files for additional details.
FTOT 2022_3 public release
The FTOT 2022.3 public release includes updates related to the FTOT multimodal GIS network, Tableau and reporting enhancements, user experience (including video tutorials and supplemental tools), and resilience analysis tools. The following changes have been made:
- Refreshes the default continental United States multimodal network accompanying FTOT for 2022. Key highlights include a more detailed road network, updated pipeline tariff data, and rail and waterway networks have also been updated. For capacity-constrained scenarios, continue to use the older (2019) version of the network.
- Updates the Tableau workbook. The new workbook replaces the “Material Moved” graphs on the “By Commodity & Mode” dashboard with “Miles” graphs to show the miles of network used in the optimal solution. The workbook includes additional minor bug fixes and design enhancements.
- Fixes processor available capacity and utilization reporting within text report. Processor conversion ratios are scaled correctly for capacity; scenarios with unconstrained capacity are now noted in output tables.
- Clarifies reporting on total flow and vehicles. For the scenarios that use intermodal facilities, FTOT now (1) adds a “includes multimodal flows” note to the “total_flow” measure in the CSV report and (2) suppresses modal reporting on the “total_flow” metric to prevent misattributing flows to a particular mode.
- Releases the “Installing FTOT” and “Running Your First Scenario” instruction videos as part of a new FTOT video tutorial series. Tutorial videos are posted to the FTOT landing page.
- Updates the suite of supplementary FTOT tools run through ftot_tools.py. Users can run these tools to help set up their own FTOT scenario by (1) creating new scenario XML files and updating old ones, (2) creating batch files, (3) creating facility-commodity input CSV files, (4) replacing XML elements across all XML files in a directory.
- Allows for either absolute file paths or relative file paths when specifying input CSV locations in the scenario XML. Relative paths should be expressed relative to the scenario XML file location.
- Resolves bug associated with running FTOT on a Basic/Standard license of ArcGIS Pro.
- Updates resilience tool repositories for link removal resilience testing and supply chain resilience.
See documentation files for additional details.
FTOT 2022_2 public release
The FTOT 2022.2 public release includes significant restructuring of user documentation and adds a landing page for the GitHub repository. There are four new documentation files:
- Technical documentation - description of how FTOT works, underlying data and assumptions, and FTOT structures and functions.
- User guide - instructions and details on how to customize and develop scenarios, how to create input files, and how to interpret results.
- Quick start tutorial - how-to guide for running pre-built quick start scenarios; also helps ensure or check that FTOT has been installed correctly.
- Reference scenarios documentation - how-to guide for running advanced reference scenarios to demonstrate specific FTOT functions.
The 2022.2 release also updates FTOT reporting, adds user-specified minimum processor capacity, and corrects facility summary post-processing to account for multi-commodity inputs. The following changes have been made:
- Reorganized text report and added a scenario summary section, clarified names of summary metrics, and added processor build costs.
- Added option for user-specified minimum processor capacity in processor facility-commodity input file. Minimum capacity can be specified in an optional column; if not specified, minimum capacity defaults to 1/2 of maximum processor capacity.
- Updated Tableau workbook with new reporting elements, bug fixes, and other enhancements.
- Fixed bug related to incorporating OC step logging into reports.
- Corrected calculation of commodity flow and facility utilization for facilities with multi-commodity inputs.
Finally, the 2022.2 release includes publication of a new repository, FTOT-SCR, to support analysis of supply chain resilience. The supply chain resilience assessment includes two parts: integrated risk assessment to capture the combined effects of multiple risk factors on supply chain performance, and resilience assessment to calculate the long-term supply chain resilience in planning horizon. The supply chain methodology and modifications to the FTOT code were developed at Washington State University (WSU). The FTOT-SCR fork is available at https://github.com/mark-mockett/FTOT-SCR/tree/FTOT-SCR.
See documentation files for additional details.
FTOT 2022_1 public release
The 2022.1 release provides updates related to emissions reporting, build costs for processors, and network density reduction (NDR). Supplementary FTOT-related resources and tools have also been expanded or updated. The following changes have been made:
- Expanded emissions report: Default emission factors for non-CO2 pollutants (CO, CO2e, CH4, N2O, PM10, PM2.5, and VOC) have been added for rail and water modes. Previously default emission factors were provided for just road. See Section 5.7 for more information.
- Commodity density input file: Users can include a new input file with a list of commodity densities to be used in emissions calculation. The pre-existing density conversion factor in the XML will be used as the default value in the absence of commodity-specific density information. See Section 5.2 for more information.
- Processor build costs: The user can now specify pre-defined candidate processors with unique build costs, in addition to or instead of FTOT-generated candidates. These pre-defined candidates are input as if they were existing processor facilities, but for the inclusion of a build cost that is added to the total scenario if they are used at all.
- Network Density Reduction (NDR) bug fixes: FTOT now calls the update_ndr_parameter() method in FTOT steps O, P, and D in addition to the original call in the G step to avoid a case where NDR is programmatically turned off in one step but not the others. Also, a SQL filter was added to prevent FTOT from trying to calculate the shortest path for an origin-destination pair that does not exist in the subgraph of accepted modes for a commodity.
- Changes to the scenario XML schema and templates: The scenario XML schema, template file, and Quick Start XMLs have been modified with (1) the addition of an optional element for a commodity densities input file and (2) updated default CO2 emission factors for rail and water modes.
- FTOT setup script: To ensure successful installation of FTOT’s Python dependencies, the file simple_setup.bat now specifies version 2.9.0 for the imageio package.
- New Resources on FTOT-Public Wiki: The “Guidance on Creating New Scenarios” Wiki page summarizes important steps and helpful tools for creating and updating FTOT scenarios. The “Adding Segments to the FTOT Network” Wiki page walks FTOT users through the process of adding segments to customize the existing FTOT Multimodal network. As part of this update, Section 3.2 of the main documentation was also updated to provide further information on the default FTOT network.
- Link Removal Tool: The Network Resiliency and Link Removal Tool is a separate tool that assesses network resilience by ranking and sequentially removing links in the optimal solution and rerunning scenarios in FTOT to evaluate the resilience of optimal solution costs in the face of disruption. The Link Removal tool has been updated to Python 3 and is now based on FTOT 2021.4. The original version of the tool was based on FTOT 2020.3.
FTOT 2021_4 public release
The 2021.4 release provides updates related to emissions reporting, transport costs, as well as enhancements to output files and runtime. The following changes have been made:
- Expanded emissions report: Users can now generate a separate emissions report with total emissions by commodity and mode for seven non-CO2 pollutants (CO, CO2e, CH4, N2O, PM10, PM2.5, and VOC). For this feature, FTOT includes a set of default non-CO2 emission factors for road which users can update. The CO2 emissions factor is still reported in the main FTOT outputs and the emissions factor can be adjusted in the XML.
- User-adjustable density conversion factor: An optional density conversion factor has been added to the scenario XML for calculating emissions for liquid commodities on rail, water, and pipeline modes.
- Additions to the scenario XML schema: (a) includes optional elements related to emissions reporting and a density conversion factor, (b) updates base transport costs for road, rail, and water modes based on most recent data available from BTS.
- Reporting outputs: The reports folder generated by FTOT has been streamlined. The primary FTOT outputs (excluding maps) have been consolidated in a timestamped reports folder for each scenario run. This includes the Tableau dashboard, the CSV file report, the main text report, and any supplementary text reports (e.g., artificial links summary, optimal routes, expanded emissions reporting).
- Runtime improvements: Runtime of the post-processing step in FTOT has been significantly reduced for scenarios with a large number of raw material producer facilities.
FTOT 2021_3 public release
The 2021.3 release adds functionality enhancements related to the scenario XML file and artificial links, along with more detailed documentation and user exercises for importing facility location data, capacity scenarios, and artificial links. The following changes have been made:
- A major update to the scenario XML schema: (a) includes optional elements related to disruption, schedules, commodity mode, and network density reduction by default, (b) allows users to customize units for more elements, (c) removes unused elements, and (d) adds elements for rail and water short haul penalties (previously hardcoded and not customizable). This is a breaking change—previous versions of the XML schema will no longer work with FTOT version 2021.3.
- Additional reporting of artificial links for each facility and mode has been added. A new artificial_links.csv file stored in the debug folder of the scenario reports the length in miles of each artificial link created, or reports “NA” if no artificial link was able to connect the facility to the modal network. Stranded facilities (e.g., those not connected to the multimodal network at all) are not reported in this file.
- New Quick Start examples have been added to walk the user through FTOT scenarios involving capacity availability and artificial link distances.
- The default truck CO2 emission factors and fuel efficiency have been updated based on data from EPA’s MOVES3 model.
- The Tableau dashboard has been updated. The “Supply Chain Summary” page now displays a more complete picture of the scenario’s input data with the capability to scale and filter facilities by commodity. Facility tooltips also list the user-specified commodities and quantities for a facility. In addition, minor enhancements to the dashboard include (a) corrections to other legend scaling and tooltip displays, (b) relabeling of Scenario Cost to Dollar cost on the “By Commodity & Mode” page to match FTOT reporting, and (c) a reordering of the FTOT steps presented on the “Runtimes” page.
- Fixed a bug in which the value for max_processor_input in the processors csv file was assigned the default scenario units instead of the processor input file’s units.
- Updated the bat tool: (a) added FTOT’s pre-set file locations to reduce the user inputs requested and (b) updated the v5 .bat file naming convention to v6.
FTOT 2021_2 Public Release
The 2021.2 release adds multiple functionality enhancements related to disruption, vehicle types, and routing. The following changes have been made:
- New functionality allowing the user to fully disrupt FTOT network segments (make segments unavailable) by leveraging a configurable disruption csv.
- An FTOT supporting tool automating the process of generating a disruption csv based on gridded exposure data (e.g., flooding data, HAZUS scenario outputs) has also been added.
- Ability to create custom vehicle types and assign them to individual commodities to enhance reporting. This feature introduces a new vehicle_types.csv file within FTOT and updates the functionality of the optional commodity_mode.csv input file.
- The network density reduction (NDR) functionality for identifying shortest paths (introduced in the 2020.4 release) has been refined to consider both phase of matter and commodity. With this additional development, NDR provides the optimal solution for all cases for which the functionality is allowed. The network presolve step for NDR remains disabled by default and is not compatible with candidate generation, the inclusion of modal capacity, and maximum allowable transport distance scenarios.
- Additional reporting of routes (shortest paths) included in the optimal solution has been added for scenarios where NDR has been enabled. A new optimal_routes.csv file stored in the debug folder of the scenario reports the starting and ending facility of each route, along with its routing cost and length in miles.
- The default background map for the Tableau dashboard has been changed from Dark to Streets to make it easier for the user to identify the local geography and path of the optimal solution.
FTOT 2021_1 Public Release
Documentation and Scenario Dataset Versions
The zip files below contain the Documentation
and Scenario
directories.
FTOT 2020_4_1 Public Release
The 2020.4.1 service pack release adds the ability to turn the network presolve step included in the 2020.4 release on or off through an optional network density reduction (NDR) function. The functionality is controlled by the NDR_On parameter in the scenario configuration file; the default is for the step to be disabled. Including the parameter in the scenario configuration file and setting it to True enables the network presolve step described below in v2020_4. An exercise has been added to Quick Start 6 to demonstrate the functionality and use cases of the NDR function. Additionally, the service pack release includes improvements to the shortest path algorithm used by the network presolve step. Finally, small fixes to handle unit conversion were made.
The 2020.4.1 public release is the last planned FTOT release using Python 2.
Documentation and Scenario Dataset Versions
The zip files below contain the Documentation
and Scenario
directories.
FTOT 2020_4 Public Release
The 2020.4 release includes a network presolve step that identifies links used in the shortest path
between sources and targets (e.g. RMP‐>Dest, RMP‐>Proc, Proc‐>Dest). It is enabled by default for
all scenarios except candidate generation and capacity. The presolve reduces the complexity of the
optimization and enhances performance. Mutli‐commodity input and Processor facilities were
enhanced to constrain the maximum capacity of the facility. Additionally, the release also includes
changes throughout for forward compatibility with Python 3.x in the future. Note however, that
2020.4 still requires Python 2.7 because of the ArcPy module dependency. Finally, several
miscellaneous fixes to improve the quality of the code base.
GENERAL
- Removed remaining references to xtot_objects module.
- Added Python3 forward compatibility and code cleanup
- Added compatibility for ArcGIS basic license for certain operations in ftot.py,
ftot_postprocess.py, and ftot_routing.py - The network is presolved for each appropriate source and target (e.g. Origin‐Destination pair)
using the shortest path algorithm in the NetworkX module. The links used in the shortest path
are stored in the shortest_path table in the main.db and used to speed up edge creation in the
O1 step and solving the optimization problem in the O2 step.
PULP MODULE
- The optimization problem only includes edges created for network links identified in the
shortest path network presolve, except for scenarios that include candidate generation or
capacity. - Multi‐commodity inputs for processors are properly constrained using a max_processor_input
field in the proc.csv input files.
TABLEAU DASHBOARDS
- Commas are removed from the scenario name to prevent errors when parsing the Tableau
report CSV file.
MAPS
- No changes to report in 2020.4