Source code for pyharp.h2_cia_legacy.h2_cia_legacy

import torch
import numpy as np

[docs] def load_xiz_legacy_data(fname: str) -> dict: data = np.genfromtxt(fname) return { 'wavenumber': data[1:,0], 'temp': data[0,1:], 'kappa': -data[1:, 1:], }
[docs] def load_orton_legacy_data(fname: str) -> dict: data = np.genfromtxt(fname) return { 'wavenumber': data[1:,0], 'temp': data[0,1:], 'kappa': data[1:, 1:], }
[docs] def save_cia_legacy_wave_temp(fname: str, data: dict) -> None: out = { 'wavenumber': torch.tensor(data['wavenumber'], dtype=torch.float64), 'temp': torch.tensor(data['temp'], dtype=torch.float64), 'kappa': torch.tensor(data['kappa'], dtype=torch.float64), } class Container(torch.nn.Module): def __init__(self, values: dict): super().__init__() for key in values: setattr(self, key, values[key]) container = torch.jit.script(Container(out)) container.save(f'{fname}.pt')
if __name__ == '__main__': datafiles = [ 'H2-H2-eq.orton.txt', 'H2-H2-eq.xiz.txt', 'H2-He-eq.orton.txt', 'H2-He-eq.xiz.txt', 'H2-H2-nm.orton.txt', 'H2-H2-nm.xiz.txt', 'H2-He-nm.orton.txt', 'H2-He-nm.xiz.txt', ] for fname in datafiles: if fname.endswith('.xiz.txt'): data = load_xiz_legacy_data(fname) else: data = load_orton_legacy_data(fname) save_cia_legacy_wave_temp(fname[:-4], data)