Source code for oasislmf.pytools.converters.bintocsv.utils.amplifications

from pathlib import Path
from oasislmf.pytools.common.data import DEFAULT_BUFFER_SIZE, write_ndarray_to_fmt_csv
from oasislmf.pytools.common.input_files import read_amplifications
from oasislmf.pytools.converters.data import TOOL_INFO


[docs] def amplifications_tocsv(stack, file_in, file_out, file_type, noheader): headers = TOOL_INFO[file_type]["headers"] dtype = TOOL_INFO[file_type]["dtype"] fmt = TOOL_INFO[file_type]["fmt"] if str(file_in) == "-": raw = read_amplifications(use_stdin=True, raw=True) else: amps_fp = Path(file_in) raw = read_amplifications(run_dir=amps_fp.parent, filename=amps_fp.name, raw=True) data = raw.view(dtype) if not noheader: file_out.write(",".join(headers) + "\n") for start in range(0, len(data), DEFAULT_BUFFER_SIZE): write_ndarray_to_fmt_csv(file_out, data[start:start + DEFAULT_BUFFER_SIZE], headers, fmt)