@@ -8,39 +8,49 @@ configurations or code to fail to run correctly.
88
99## Upcoming Changes
1010
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
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
1414released versions.
1515
16+ ### Changed Default for Sharrow "Fastmath" Optimization
17+
18+ The default setting for the "fastmath" optimization in sharrow has been changed
19+ from ` True ` to ` False ` . This optimization can improve performance in some cases,
20+ but can also cause subtle and hard to diagnose bugs, particularly when the
21+ data being processed contains ` NaN ` or ` Inf ` values. By defaulting to
22+ ` False ` , we aim to improve platform stability for most users. Users who wish
23+ to enable the "fastmath" optimization can do so by setting the ` fastmath ` option
24+ to ` True ` in the ` compute_settings ` for each model component where it is desired.
25+
1626
1727## v1.5.1
1828
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
29+ This release includes a handful of minor updates and fixes, as well as enhancements
30+ to the ActivtySim documentation. Users should generally not expect any breaking
31+ changes relative to v1.5.0, except that when running a simulation there will be a
2232significant reduction in logging messages displayed on screen and written to the run log.
2333
2434
2535## v1.5
2636
27- This release includes most of the new features and enhancements developed as part
37+ This release includes most of the new features and enhancements developed as part
2838of the Phase 10 work.
2939
3040### Preprocessing & Annotation
3141
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.
42+ We have expanded preprocessing & annotation functionality, which is now standardized
43+ in formatting and available on most model components. Existing model implementations
44+ may need to make minor upgrades to model configuration files to conform with the new
45+ standardized formatting.
3646
3747### Estimation Mode
3848
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
49+ Estimation mode has been updated to work with Larch v6. This new version of Larch
50+ is modernized and more stable across platforms, and is more consistent with ActivitySim
51+ spec files (as both are now built on Sharrow). The overall workflow for re-estimating
52+ model parameters is very similar to before, but users will need to use Larch v6 instead
53+ of Larch v5. In addition, some new capabilities have been added for modifying model
4454specifications in Larch (instead of re-running ActivitySim).
4555
4656### Using UV for Dependency Management
@@ -52,21 +62,21 @@ for details on how to install ActivitySim using UV.
5262
5363### Skim Naming Conflict Resolution
5464
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,
65+ The SkimDataset structure (required when using sharrow, optional in legacy mode)
66+ requires every skim variable to have a unique name. It also merges OMX variables
67+ based on time period, so that e.g. ` BIKETIME__AM ` and ` BIKETIME__PM ` , which would
68+ be 2-d arrays in the OMX file, become just two different parts of a 3-d array
69+ called ` BIKETIME ` in the SkimDataset. This is problematic when the skims also
70+ contain a 2-d array called ` BIKETIME ` , as that has no temporal dimension, and it
71+ gets loaded into a 2-d array in the SkimDataset, with the same name as the 3-d array,
6272and thus one is overwritten and lost.
6373
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
74+ ActivitySim now includes a skims input check to identify this overwriting condition,
75+ and raise an error if it is happening, so that the user can correct the condition
76+ via (1) the ` omx_ignore_patterns ` setting, (2) revising the skim generation process
77+ to not create the overlapping named skims in the file in the first place,
78+ or (3) renaming one or both skims if the users actually wants both skims variables
79+ in the model. The error message generated includes a link to instructions and
7080discussion of these alternatives.
7181
7282### Settings Checker
@@ -93,12 +103,12 @@ See [Expression Profiling](Expression-Profiling) for details.
93103
94104A new telecommute status model component has been added to ActivitySim. This component
95105models 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
106+ whether a worker telecommutes full-time, part-time, or not at all. A simple
107+ implementation of the telecommute status model can be based on the worker's telecommute
108+ frequency. For example, if a worker telecommutes 4 days a week, then there is
109+ a 80% probability for them to telecommute on the simulation day. The telecommute
110+ status model software can accommodate more complex model forms if needed. An example
111+ telecommute status model specification can be found in
102112[ ActivitySim/sandag-abm3-example #30 ] ( https://github.com/ActivitySim/sandag-abm3-example/pull/30 ) .
103113
104114
0 commit comments