Skip to content

Commit 098fb6b

Browse files
committed
wip(catalog): convert all config elements to strings explicitly, better hashing for ID
1 parent 2c62442 commit 098fb6b

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

src/esm_runscripts/catalog.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import datetime
2+
import getpass
3+
import hashlib
24
import pathlib
35

46
import dpath
@@ -78,8 +80,12 @@ def create_intake_esm_catalog(config):
7880
},
7981
],
8082
}
81-
catalog["id"] = "testcat"
82-
catalog["description"] = f"Test Catalog for Experiment {config['general']['expid']}"
83+
catalog["id"] = hashlib.sha256(
84+
f"{config['general']['expid']}_{datetime.datetime.now()}_{getpass.getuser()}".encode()
85+
).hexdigest()
86+
catalog[
87+
"description"
88+
] = f"Intake-ESM Catalog for Experiment {config['general']['expid']}"
8389
catalog["title"] = None
8490
catalog["last_updated"] = str(datetime.datetime.now())
8591
catalog_dict = catalog["catalog_dict"] = []
@@ -112,12 +118,13 @@ def create_intake_esm_catalog(config):
112118
project=config["general"].get("project", "esm_tools"),
113119
institution_id="AWI",
114120
source_id=f"{config['general']['model']}-{config['general']['version']}",
115-
experiment_id=config["general"]["expid"],
116-
realm=mconfig.get("type", "UNKNOWN"),
117-
time_min=config["general"]["start_date"],
118-
time_max=config["general"]["end_date"],
121+
experiment_id=str(config["general"]["expid"]),
122+
realm=str(mconfig.get("type", "UNKNOWN")),
123+
time_min=str(config["general"]["start_date"]),
124+
time_max=str(config["general"]["end_date"]),
119125
uri=f"file://{output_file}",
120-
_data_format_=xarray_engine, # NOTE(PG): I don't like needing this...
126+
# _data_format_=xarray_engine, # NOTE(PG): I don't like needing this...
127+
format=xarray_engine,
121128
variable_id=var_list,
122129
)
123130
catalog_dict.append(this_asset)

0 commit comments

Comments
 (0)