Description =========== Wiver is a Business Trip Model based upon the model developed by Sonntag et al. (1998). It is a macroscopic, tour-based model, that calculates demand matrices for different economic sectors and vehicle types. It consists of the steps:: * Tour Generation * Destination Choice Model * Tour Optimization (Savings Algorithm) * Trip Balancing The model has the following dimensions:: * n_zones: the number of transport analysis zones (TAZ) * n_groups: the number of demand groups defined by economic sectors and vehicle types * n_modes: the number of vehicle types * n_time_slices: the number of time slices to stratify the demand by time of day * n_time_series: the number of time series * n_threads: the number of threads to use for parallel computation. Defaults to all available threads Dimensions: (n_groups: 2, n_modes: 3, n_threads: 2, n_sectors: 2, n_time_slices: 3, n_time_series: 5, n_zones: 5) Coordinates: * n_groups (n_groups) object 'Gruppe 0' 'Gruppe 1' * n_modes (n_modes) object 'Rad' 'Pkw' 'OV' * n_sectors (n_sectors) object 'Industrie' 'DL' * n_time_slices (n_time_slices) object 'morgens', 'mittags', 'abends' * n_time_series (n_time_series) object 'Hin1' 'Hin2' ... 'Home2' * n_zones (n_zones) object 'A-Stadt' 'B-Stadt' ... Dimensions without coordinates: n_threads The input data is to be provided as a `xarray-Dataset `_ with the following Data variables: wiver in VISUM ################ There is a AddIn for PTV VISUM, that uses this wiver-model to calculate commercial travel demand. The data structure of the "4-Step-Demand-Model" of VISUM is used to represent the input- and result data of the Wiver-model. The following Visum-Elements are represented in this wiver-package: | VISUM | WIVER | | -------- | ------- | | Zone | Zone | | PersonGroup | Sector | | DemandStratum | Group | | DemandSegment | Mode | | AnalysisTimeInterval | Time Slice | | TimeSeries | Time Series | | NumPersons(PersonGroup) per Zone | source_potential_gh | | Attraction(DemandStratum) per Zone | sink_potential_gj | Tour Generation ################ For each economic sector the number of employees per travel analysis zone (TAZ) is required:: source_potential_gh (n_groups, n_zones) float64 Destination Choice Model ######################## For each economic sector a destination choice model is calculated between all TAZ. The important factors are the trip attraction-potential of the destination zone j, the trip distance between zone i and j and the travel impedance coefficient which depends on the economic sector. The destination choice model produces a matrix of trips between zones. Tour Optimization (Savings Algorithm) ##################################### The tour optimization step appies a savings algorithm in order to simulate that linking trips are more or less efficiently planned (depending on the economic sector). Trip Balancing ############## The trip balancing step checks if the number of trips to a destination zone is higher or lower than its relative trip attraction potential. In a next iteration, the attraction potential is then adjusted. Installation ============= The easiest way to handle dependencies is to use `conda `_. There conda packages for python 3.8 to 3.12 for windown and linux are generated in the channel *MaxBo* in `Anaconda Cloud `_:: conda create -n wiver python=3.11 activate wiver conda config --add channels conda-forge conda config --add channels MaxBo conda install wiver Or you install it in an virtual environment with `pip install wiver`:: pip install wiver Test the package:: pip install pytest-benchmark py.test --pyargs wiver