Source code for pyts.io.sum

import numpy as np
from pyts.io.formatter import SuperFormatter
import pkg_resources
import pyts._version as ver
from .base import convname


[docs]class SumFormatter(SuperFormatter): default_format_prfx = '>10' def _format_f(self, value): return format(value, '10.3f') def _format_b(self, value): return format('FT'[value], '>10s') def _format_ScaleIECtxt(self, value): return format({0: 'None', 1: 'HUB', 2: 'ALL'}[value], '>5s') def _format_TurbModelstr(self, value): return format(value, '>10s') def _format_WindProfilestr(self, value): return format(value, '>10s') def _format_stringlist(self, value): out = '' for v in value: out += v + '\n' return out def _format_grid(self, value, form): out = '' if isinstance(value, (np.ndarray)) and value.ndim > 1: for v in value: out += self._format_grid(v, form) + '\n' return out n = len(value) form = form.split(',') # Extrapolate the last value to the last n points: form = form + [form[-1]] * (n - len(form)) for v, f in zip(value, form): out += format(v, f) return out def _format_tup(self, value): return '( %8.3f, %8.3f )' % tuple(value)
# This is the input-file template object: template = SumFormatter( pkg_resources.resource_string(ver.pkg_name, 'io/templates/sum'))
[docs]def write(filename, in_dict): """ Write a sum file. """ with open(convname(filename, '.sum'), 'w') as outfl: outfl.write(template(**in_dict))
if __name__ == '__main__': from .input import read as readInput from ..runInput import run inp = readInput('tmp/TurbSim.inp') tsdat = run(inp) write('tmp/TurbSim.sum', tsdat._sumdict) tsdat.writeSum('tmp/TurbSim_alt.sum')