Skip to content

Commit

Permalink
fix(timestep): Ensure that timestep is accounted for in direct results
Browse files Browse the repository at this point in the history
  • Loading branch information
chriswmackey authored and Chris Mackey committed Jun 6, 2022
1 parent d41ebfc commit 94a3600
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -432,7 +432,7 @@ def output_artifacts(self):
}]


class _AnnualIrradianceRayTracing_41c3cd0bOrchestrator(luigi.WrapperTask):
class _AnnualIrradianceRayTracing_cf993373Orchestrator(luigi.WrapperTask):
"""Runs all the tasks in this module."""
# user input for this module
_input_params = luigi.DictParameter()
Expand Down
64 changes: 59 additions & 5 deletions lbt_recipes/annual_irradiance/flow/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@
import pathlib
from queenbee_local import QueenbeeTask
from queenbee_local import load_input_param as qb_load_input_param
from .dependencies.annual_irradiance_ray_tracing import _AnnualIrradianceRayTracing_41c3cd0bOrchestrator as AnnualIrradianceRayTracing_41c3cd0bWorkerbee
from .dependencies.annual_irradiance_ray_tracing import _AnnualIrradianceRayTracing_cf993373Orchestrator as AnnualIrradianceRayTracing_cf993373Workerbee


_default_inputs = { 'cpu_count': 50,
'grid_filter': '*',
'min_sensor_count': 1,
'min_sensor_count': 500,
'model': None,
'north': 0.0,
'output_type': 'solar',
Expand Down Expand Up @@ -156,7 +156,7 @@ def map_dag_inputs(self):
return inputs

def run(self):
yield [AnnualIrradianceRayTracing_41c3cd0bWorkerbee(_input_params=self.map_dag_inputs)]
yield [AnnualIrradianceRayTracing_cf993373Workerbee(_input_params=self.map_dag_inputs)]
done_file = pathlib.Path(self.execution_folder, 'annual_irradiance_raytracing.done')
done_file.parent.mkdir(parents=True, exist_ok=True)
done_file.write_text('done!')
Expand Down Expand Up @@ -454,6 +454,60 @@ def output_artifacts(self):
}]


class CopyTimestepFile(QueenbeeTask):
"""Copy a file or folder to a destination."""

# DAG Input parameters
_input_params = luigi.DictParameter()

# Task inputs
@property
def src(self):
value = pathlib.Path(self.input()['CalculateMetrics']['timestep_file'].path)
return value.as_posix() if value.is_absolute() \
else pathlib.Path(self.initiation_folder, value).resolve().as_posix()

@property
def execution_folder(self):
return pathlib.Path(self._input_params['simulation_folder']).as_posix()

@property
def initiation_folder(self):
return pathlib.Path(self._input_params['simulation_folder']).as_posix()

@property
def params_folder(self):
return pathlib.Path(self.execution_folder, self._input_params['params_folder']).resolve().as_posix()

def command(self):
return 'echo copying input path...'

def requires(self):
return {'CalculateMetrics': CalculateMetrics(_input_params=self._input_params)}

def output(self):
return {
'dst': luigi.LocalTarget(
pathlib.Path(self.execution_folder, 'results/direct/timestep.txt').resolve().as_posix()
)
}

@property
def input_artifacts(self):
return [
{'name': 'src', 'to': 'input_path', 'from': self.src, 'optional': False}]

@property
def output_artifacts(self):
return [
{
'name': 'dst', 'from': 'input_path',
'to': pathlib.Path(self.execution_folder, 'results/direct/timestep.txt').resolve().as_posix(),
'optional': False,
'type': 'folder'
}]


class CreateDirectSky(QueenbeeTask):
"""Generate a sun-up sky matrix."""

Expand Down Expand Up @@ -1184,7 +1238,7 @@ def output_parameters(self):
return [{'name': 'sensor-grids', 'from': 'output_folder/_info.json', 'to': pathlib.Path(self.params_folder, 'output_folder/_info.json').resolve().as_posix()}]


class _Main_41c3cd0bOrchestrator(luigi.WrapperTask):
class _Main_cf993373Orchestrator(luigi.WrapperTask):
"""Runs all the tasks in this module."""
# user input for this module
_input_params = luigi.DictParameter()
Expand All @@ -1196,4 +1250,4 @@ def input_values(self):
return params

def requires(self):
yield [CalculateMetrics(_input_params=self.input_values), CopyGridInfo(_input_params=self.input_values), CopyRedistInfo(_input_params=self.input_values), CopySunUpHours(_input_params=self.input_values), RestructureDirectResults(_input_params=self.input_values)]
yield [CopyGridInfo(_input_params=self.input_values), CopyRedistInfo(_input_params=self.input_values), CopySunUpHours(_input_params=self.input_values), CopyTimestepFile(_input_params=self.input_values), RestructureDirectResults(_input_params=self.input_values)]
4 changes: 2 additions & 2 deletions lbt_recipes/annual_irradiance/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"type": "MetaData",
"annotations": {},
"name": "annual-irradiance",
"tag": "0.3.1",
"tag": "0.3.8",
"app_version": null,
"keywords": [
"honeybee",
Expand Down Expand Up @@ -101,7 +101,7 @@
"annotations": {},
"name": "min-sensor-count",
"description": "The minimum number of sensors in each sensor grid after redistributing the sensors based on cpu_count. This value takes precedence over the cpu_count and can be used to ensure that the parallelization does not result in generating unnecessarily small sensor grids. The default value is set to 1, which means that the cpu_count is always respected.",
"default": 1,
"default": 500,
"alias": [
{
"type": "DAGIntegerInputAlias",
Expand Down
4 changes: 2 additions & 2 deletions lbt_recipes/annual_irradiance/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

_recipe_default_inputs = { 'cpu_count': 50,
'grid_filter': '*',
'min_sensor_count': 1,
'min_sensor_count': 500,
'model': None,
'north': 0.0,
'output_type': 'solar',
Expand All @@ -39,7 +39,7 @@ class LetAnnualIrradianceFly(luigi.WrapperTask):
_input_params = luigi.DictParameter()

def requires(self):
yield [annual_irradiance_workerbee._Main_41c3cd0bOrchestrator(_input_params=self._input_params)]
yield [annual_irradiance_workerbee._Main_cf993373Orchestrator(_input_params=self._input_params)]


def start(project_folder, user_values, workers):
Expand Down

0 comments on commit 94a3600

Please sign in to comment.