|
5 | 5 |
|
6 | 6 | from vtools.data.timeseries import datetime_elapsed |
7 | 7 | from schimpy import schism_yaml as syml |
| 8 | +from schimpy.th_io import write_th as th_io_write_th |
8 | 9 |
|
9 | 10 |
|
10 | 11 | role_to_sign = {"source_tracer": 1, "source_flux": 1, "sink_flux": -1} |
@@ -46,18 +47,34 @@ def read_locations_from_input(fname, role): |
46 | 47 | # Assume sourc |
47 | 48 |
|
48 | 49 |
|
49 | | -def write_th(df, fname, elapsed, ref_time=None): |
| 50 | +def write_th_merge(df, fname, elapsed, ref_time=None): |
| 51 | + """Write a time-series to a .th file using common th_io formatting.""" |
50 | 52 | print("writing ", fname) |
51 | 53 | print(f"dataframe dimensions: {df.shape}") |
| 54 | + |
52 | 55 | if elapsed: |
53 | | - dfe = datetime_elapsed(df, reftime=ref_time, dtype=float) |
54 | | - dfe.index.name = "time" |
55 | | - with open(fname, mode="w", newline="\n") as outfile: |
56 | | - dfe.to_csv(outfile, sep=" ", float_format="%.3f", header=False) |
57 | | - # outfile.write("#"+str(dfe.columns.values.join(","))+"\n") |
| 56 | + th_io_write_th( |
| 57 | + df, |
| 58 | + fname, |
| 59 | + elapsed=True, |
| 60 | + ref_time=ref_time, |
| 61 | + elapsed_format="%.3f", |
| 62 | + float_format="%.3f", |
| 63 | + include_header=False, |
| 64 | + ) |
58 | 65 | else: |
59 | | - sep = " " if fname.endswith("th") else "," |
60 | | - df.to_csv(fname, sep=sep, float_format="%.3f", date_format="%Y-%m-%dT%H:%M") |
| 66 | + th_io_write_th( |
| 67 | + df, |
| 68 | + fname, |
| 69 | + elapsed=False, |
| 70 | + time_format="%Y-%m-%dT%H:%M", |
| 71 | + float_format="%.3f", |
| 72 | + include_header=True, |
| 73 | + ) |
| 74 | + |
| 75 | + |
| 76 | +# Backwards compatibility |
| 77 | +write_th = write_th_merge |
61 | 78 |
|
62 | 79 |
|
63 | 80 | def read_data(fname, variable): |
|
0 commit comments