Skip to content

Commit ca9ad7c

Browse files
committed
changelog note
1 parent 2aded62 commit ca9ad7c

File tree

1 file changed

+45
-35
lines changed

1 file changed

+45
-35
lines changed

docs/dev-guide/changes.md

Lines changed: 45 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -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
1414
released 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
2232
significant 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
2838
of 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
4454
specifications 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,
6272
and 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
7080
discussion of these alternatives.
7181

7282
### Settings Checker
@@ -93,12 +103,12 @@ See [Expression Profiling](Expression-Profiling) for details.
93103

94104
A new telecommute status model component has been added to ActivitySim. This component
95105
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
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

Comments
 (0)