Skip to content

Commit

Permalink
migrate some folders to pathlib
Browse files Browse the repository at this point in the history
  • Loading branch information
jensdebruijn committed Feb 22, 2024
1 parent c546f7c commit b3352eb
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 15 deletions.
10 changes: 8 additions & 2 deletions honeybees/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,18 @@

class Model:
def __init__(
self, current_time, timestep_length, config_path, n_timesteps=None, args=None
self,
current_time,
timestep_length,
config_path=None,
n_timesteps=None,
args=None,
):
self._current_time = current_time
self.timestep_length = timestep_length
self.n_timesteps = n_timesteps
self.config = self.setup_config(config_path)
if config_path is not None:
self.config = self.setup_config(config_path)
self.args = args
self.logger = self.create_logger()
self.logger.info("Initializing model")
Expand Down
22 changes: 9 additions & 13 deletions honeybees/reporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from collections.abc import Iterable
import os
import numpy as np
from pathlib import Path

try:
import cupy as cp
Expand Down Expand Up @@ -52,20 +53,13 @@ def __init__(self, model, subfolder: Union[None, str] = None) -> None:
self.variables = {}
self.timesteps = []

self.export_folder = self.model.config["general"]["report_folder"]
self.export_folder = Path(self.model.config["general"]["report_folder"])
if subfolder:
self.export_folder = os.path.join(self.export_folder, subfolder)
self.maybe_create_export_folder()
self.export_folder = self.export_folder / subfolder
self.export_folder.mkdir(parents=True, exist_ok=True)

self.step()

def maybe_create_export_folder(self) -> None:
"""If required, create folder export folder"""
try:
os.makedirs(self.export_folder)
except OSError:
pass

def check_value(self, value: Any):
"""Check whether the value is a Python integer or float, and is not infinite.
Expand Down Expand Up @@ -134,9 +128,11 @@ def report_value(
# check if value is of numpy type and check if size is 1. If so, convert to native python type.
if isinstance(
value,
(np.ndarray, np.generic, cp.ndarray, cp.generic)
if "cupy" in sys.modules
else (np.ndarray, np.generic),
(
(np.ndarray, np.generic, cp.ndarray, cp.generic)
if "cupy" in sys.modules
else (np.ndarray, np.generic)
),
):
if value.size == 1:
value = value.item()
Expand Down

0 comments on commit b3352eb

Please sign in to comment.