qubed/backend/tests.ipynb
2024-10-08 12:13:10 +01:00

157 lines
3.8 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 5,
"id": "2f01a012-002a-465c-9b09-681bdb3fc26d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"class\n",
"type\n",
"stream\n",
"expver\n",
"dataset\n",
"model\n",
"repres\n",
"obsgroup\n",
"reportype\n",
"levtype\n",
"levelist\n",
"param\n",
"date\n",
"year\n",
"month\n",
"hdate\n",
"offsetdate\n",
"fcmonth\n",
"fcperiod\n",
"time\n",
"offsettime\n",
"step\n",
"anoffset\n",
"reference\n",
"number\n",
"quantile\n",
"domain\n",
"frequency\n",
"direction\n",
"diagnostic\n",
"iteration\n",
"channel\n",
"ident\n",
"instrument\n",
"method\n",
"origin\n",
"system\n",
"activity\n",
"experiment\n",
"generation\n",
"realization\n",
"resolution\n"
]
}
],
"source": [
"language_yaml = \"./language.yaml\"\n",
"import yaml\n",
"\n",
"with open(language_yaml, \"r\") as f:\n",
" mars_language = yaml.safe_load(f)[\"_field\"]\n",
"\n",
"for k in mars_language.keys(): print(k)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "be9074a8-a56f-4fd0-a466-de8904faaa1c",
"metadata": {},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "9dd26fe4-5da5-48a5-9e43-83ac1085f7e6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"([Key(key='class', value='od', key_spec=class=od, reason='Matches'),\n",
" Key(key='stream', value=5, key_spec=stream, reason='Matches'),\n",
" Key(key='date', value='', key_spec=date, reason='Key Missing')],\n",
" [Key(key='class', value='ensemble', key_spec=class=ensemble, reason='Matches'),\n",
" Key(key='number', value='2', key_spec=number, reason='Matches'),\n",
" Key(key='stream', value=5, key_spec=stream, reason='Matches'),\n",
" Key(key='date', value='', key_spec=date, reason='Key Missing')])"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from fdb_schema import FDBSchemaFile\n",
"schema = FDBSchemaFile(\"./test_schema\")\n",
"\n",
"r = {\n",
" \"class\" : [\"ensemble\", \"od\"],\n",
" \"number\" : \"2\",\n",
" \"stream\" : 5,\n",
"}\n",
"\n",
"a, b = schema.match_all(r)\n",
"a, b"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f46268e3-e197-47b9-bb6e-94f06e0bf648",
"metadata": {},
"outputs": [],
"source": [
"([],\n",
" [[Key(key='class', value='od', key_spec=class=od, reason='Matches'),\n",
" Key(key='stream', value=5, key_spec=stream, reason='Matches'),\n",
" Key(key='date', value='', key_spec=date, reason='Key Missing')],\n",
" \n",
" [Key(key='class', value='ensemble', key_spec=class=ensemble, reason='Matches'),\n",
" Key(key='number', value='2', key_spec=number, reason='Matches'),\n",
" Key(key='stream', value=5, key_spec=stream, reason='Matches'),\n",
" Key(key='date', value='', key_spec=date, reason='Key Missing')]])"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:micromamba-ionbeam]",
"language": "python",
"name": "conda-env-micromamba-ionbeam-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.0"
}
},
"nbformat": 4,
"nbformat_minor": 5
}