diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 8b51784e22..d18a5a1ebf 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.0.4 +current_version = 1.1.0 commit = True tag = True parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\.(?P.*))? diff --git a/activitysim/__init__.py b/activitysim/__init__.py index cb6aaa9be1..497c4499e1 100644 --- a/activitysim/__init__.py +++ b/activitysim/__init__.py @@ -2,5 +2,5 @@ # See full license in LICENSE.txt. -__version__ = "1.0.4" +__version__ = "1.1.0" __doc__ = "Activity-Based Travel Modeling" diff --git a/activitysim/abm/models/tour_mode_choice.py b/activitysim/abm/models/tour_mode_choice.py index e563d0bef8..0dd2a64f54 100644 --- a/activitysim/abm/models/tour_mode_choice.py +++ b/activitysim/abm/models/tour_mode_choice.py @@ -293,7 +293,7 @@ def tour_mode_choice_simulate( # mtctm1 school tour_type includes univ, which has different coefficients from elementary and HS # we should either add this column when tours created or add univ to tour_types not_university = (primary_tours_merged.tour_type != "school") | ~( - primary_tours_merged.is_university + primary_tours_merged.is_university.astype(bool) if "is_university" in primary_tours_merged.columns else False ) diff --git a/activitysim/abm/test/conftest.py b/activitysim/abm/test/conftest.py index 9b0b384944..f14a69149d 100644 --- a/activitysim/abm/test/conftest.py +++ b/activitysim/abm/test/conftest.py @@ -41,13 +41,6 @@ def initialize_pipeline( net_los.load_data() orca.add_injectable("network_los", net_los) - # Add an output directory in current working directory if it's not already there - try: - os.makedirs("output") - except FileExistsError: - # directory already exists - pass - # Add the dataframes to the pipeline pipeline.open_pipeline() pipeline.add_checkpoint(module) diff --git a/activitysim/cli/create.py b/activitysim/cli/create.py index 2962fd1cb0..85187c63e6 100644 --- a/activitysim/cli/create.py +++ b/activitysim/cli/create.py @@ -200,6 +200,8 @@ def download_asset(url, target_path, sha256=None): f" expected checksum {sha256}\n" f" computed checksum {computed_sha256}" ) + elif not sha256: + print(f" computed checksum {computed_sha256}") def sha256_checksum(filename, block_size=65536): diff --git a/activitysim/core/config.py b/activitysim/core/config.py index eff9ebe11c..02d6fadea2 100644 --- a/activitysim/core/config.py +++ b/activitysim/core/config.py @@ -4,7 +4,8 @@ import glob import logging import os -import sys +import struct +import time import warnings import yaml @@ -340,13 +341,19 @@ def trace_file_path(file_name): output_dir = inject.get_injectable("output_dir") - # - check for optional trace subfolder - if os.path.exists(os.path.join(output_dir, "trace")): - output_dir = os.path.join(output_dir, "trace") - else: - file_name = "trace.%s" % (file_name,) + # - check for trace subfolder, create it if missing + trace_dir = os.path.join(output_dir, "trace") + if not os.path.exists(trace_dir): + os.makedirs(trace_dir) - file_path = os.path.join(output_dir, file_name) + # construct a unique tail string from the time + # this is a convenience for opening multiple similarly named trace files + tail = hex(struct.unpack("