Skip to content

Commit ef03e94

Browse files
authored
Merge branch 'main' into alt_file_formatting
2 parents 0b53853 + b91a64a commit ef03e94

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed

docs/dev-guide/changes.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,103 @@ major new features that may require modifications to existing model configuratio
55
or code to utilize, as well as breaking changes that may cause existing model
66
configurations or code to fail to run correctly.
77

8+
9+
## Upcoming Changes
10+
11+
This section describes changes that are implemented in current development
12+
branch (i.e., the main branch on GitHub), but not yet released in a stable version
13+
of ActivitySim. See below under the various version headings for changes in
14+
released versions.
15+
16+
17+
## v1.5.1
18+
19+
This release includes a handful of minor updates and fixes, as well as enhancements
20+
to the ActivtySim documentation. Users should generally not expect any breaking
21+
changes relative to v1.5.0, except that when running a simulation there will be a
22+
significant reduction in logging messages displayed on screen and written to the run log.
23+
24+
25+
## v1.5
26+
27+
This release includes most of the new features and enhancements developed as part
28+
of the Phase 10 work.
29+
30+
### Preprocessing & Annotation
31+
32+
We have expanded preprocessing & annotation functionality, which is now standardized
33+
in formatting and available on most model components. Existing model implementations
34+
may need to make minor upgrades to model configuration files to conform with the new
35+
standardized formatting.
36+
37+
### Estimation Mode
38+
39+
Estimation mode has been updated to work with Larch v6. This new version of Larch
40+
is modernized and more stable across platforms, and is more consistent with ActivitySim
41+
spec files (as both are now built on Sharrow). The overall workflow for re-estimating
42+
model parameters is very similar to before, but users will need to use Larch v6 instead
43+
of Larch v5. In addition, some new capabilities have been added for modifying model
44+
specifications in Larch (instead of re-running ActivitySim).
45+
46+
### Using UV for Dependency Management
47+
48+
Beginning with version 1.5, ActivitySim uses [UV](https://uv.dev/) for dependency
49+
management. UV is a modern dependency management tool that is designed to be
50+
simple to use and easy to understand. See [Installing ActivitySim](Installing-ActivitySim)
51+
for details on how to install ActivitySim using UV.
52+
53+
### Skim Naming Conflict Resolution
54+
55+
The SkimDataset structure (required when using sharrow, optional in legacy mode)
56+
requires every skim variable to have a unique name. It also merges OMX variables
57+
based on time period, so that e.g. `BIKETIME__AM` and `BIKETIME__PM`, which would
58+
be 2-d arrays in the OMX file, become just two different parts of a 3-d array
59+
called `BIKETIME` in the SkimDataset. This is problematic when the skims also
60+
contain a 2-d array called `BIKETIME`, as that has no temporal dimension, and it
61+
gets loaded into a 2-d array in the SkimDataset, with the same name as the 3-d array,
62+
and thus one is overwritten and lost.
63+
64+
ActivitySim now includes a skims input check to identify this overwriting condition,
65+
and raise an error if it is happening, so that the user can correct the condition
66+
via (1) the `omx_ignore_patterns` setting, (2) revising the skim generation process
67+
to not create the overlapping named skims in the file in the first place,
68+
or (3) renaming one or both skims if the users actually wants both skims variables
69+
in the model. The error message generated includes a link to instructions and
70+
discussion of these alternatives.
71+
72+
### Settings Checker
73+
74+
A new settings checker has been added to validate model configuration files
75+
before running the model. This tool checks for common configuration errors,
76+
such as missing required settings, incorrect data types, and invalid values.
77+
This can help users identify and fix configuration issues before running
78+
the model, which can save time and effort. In prior versions, configuration
79+
errors would often only be discovered when the model was run, which could
80+
lead to long run times before the error was encountered.
81+
82+
### Expression Profiling (legacy mode only)
83+
84+
ActivitySim now includes a new performance profiling feature for expression evaluation
85+
in the ActivitySim framework. The feature allows developers to track and log the
86+
runtime of individual expressions, providing insights into potential bottlenecks
87+
in complex models. Key changes include the integration of a performance timer,
88+
updates to various core functions to support profiling, and new configuration
89+
settings for controlling profiling behavior.
90+
See [Expression Profiling](Expression-Profiling) for details.
91+
92+
### Telecommute Status Model
93+
94+
A new telecommute status model component has been added to ActivitySim. This component
95+
models the telecommute status of workers, which can be used to determine
96+
whether a worker telecommutes full-time, part-time, or not at all. A simple
97+
implementation of the telecommute status model can be based on the worker's telecommute
98+
frequency. For example, if a worker telecommutes 4 days a week, then there is
99+
a 80% probability for them to telecommute on the simulation day. The telecommute
100+
status model software can accommodate more complex model forms if needed. An example
101+
telecommute status model specification can be found in
102+
[ActivitySim/sandag-abm3-example#30](https://github.com/ActivitySim/sandag-abm3-example/pull/30).
103+
104+
8105
## v1.4
9106

10107
### Improved Estimation Mode

0 commit comments

Comments
 (0)