{
"cells": [
{
"cell_type": "markdown",
"id": "623cbc23-45bf-4dfd-9f49-8d814d0394ba",
"metadata": {
"papermill": {
"duration": 0.00591,
"end_time": "2025-12-10T17:14:14.462980",
"exception": false,
"start_time": "2025-12-10T17:14:14.457070",
"status": "completed"
},
"tags": []
},
"source": [
"# COMPASS Model Diagnostics 2: Electric Bogaloo\n",
"\n",
"A number of plots are provided from ADF. The full output from the stand-alone ADF configuration is in the link below.\n",
"\n",
"\n",
"Note that in standalone format (eg, CUPiD run not through CESM workflow), ADF is currently run by users via the following process:\n",
"1) Install ADF and activate cupid-analysis\n",
"2) Use the `CUPiD/helper_scripts/generate_adf_config_file.py` script to generate an ADF config file based on a CUPiD configuration file.\n",
" * `cd CUPiD/examples/external_diag_packages`\n",
" * `../../helper_scripts/generate_adf_config_file.py --cupid-config-loc . --adf-template ../../externals/ADF/config_amwg_default_plots.yaml --out-file ADF_config.yaml`\n",
"3) Run ADF with the newly created configuration file.\n",
" * `../../externals/ADF/run_adf_diag ADF_config.yaml`"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "2a759f1b-eca7-4eec-a16a-eede1a6ab36c",
"metadata": {
"editable": true,
"execution": {
"iopub.execute_input": "2025-12-10T17:14:14.474741Z",
"iopub.status.busy": "2025-12-10T17:14:14.474526Z",
"iopub.status.idle": "2025-12-10T17:14:14.480709Z",
"shell.execute_reply": "2025-12-10T17:14:14.480274Z"
},
"papermill": {
"duration": 0.012765,
"end_time": "2025-12-10T17:14:14.481441",
"exception": false,
"start_time": "2025-12-10T17:14:14.468676",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"parameters",
"hide-cell"
]
},
"outputs": [],
"source": [
"adf_root = \".\"\n",
"case_name = None\n",
"base_case_name = None\n",
"start_date = \"\"\n",
"end_date = \"\"\n",
"base_start_date = None\n",
"base_end_date = None\n",
"key_plots = None\n",
"compare_obs = False\n",
"var_list = [\"T\"]\n",
"compass_root = \".\"\n",
"runs_dict = {}\n",
"\n",
"# adf_root will be external_diag_packages/computed_notebooks/ADF/"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "f6b3203b",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T17:14:14.492723Z",
"iopub.status.busy": "2025-12-10T17:14:14.492566Z",
"iopub.status.idle": "2025-12-10T17:14:14.496149Z",
"shell.execute_reply": "2025-12-10T17:14:14.495792Z"
},
"papermill": {
"duration": 0.009938,
"end_time": "2025-12-10T17:14:14.496739",
"exception": false,
"start_time": "2025-12-10T17:14:14.486801",
"status": "completed"
},
"tags": [
"injected-parameters"
]
},
"outputs": [],
"source": [
"# Parameters\n",
"case_name = \"b.e23_alpha17f.BLT1850.ne30_t232.092\"\n",
"base_case_name = \"b.e30_beta02.BLT1850.ne30_t232.104\"\n",
"case_nickname = \"BLT1850_92\"\n",
"base_case_nickname = \"BLT1850_104\"\n",
"CESM_output_dir = \"/glade/campaign/cesm/development/cross-wg/diagnostic_framework/CESM_output_for_testing\"\n",
"start_date = \"0001-01-01\"\n",
"end_date = \"0021-01-01\"\n",
"climo_start_date = \"0001-01-01\"\n",
"climo_end_date = \"0021-01-01\"\n",
"base_start_date = \"0001-01-01\"\n",
"base_end_date = \"0045-01-01\"\n",
"base_climo_start_date = \"0001-01-01\"\n",
"base_climo_end_date = \"0021-01-01\"\n",
"obs_data_dir = (\n",
" \"/glade/campaign/cesm/development/cross-wg/diagnostic_framework/CUPiD_obs_data\"\n",
")\n",
"ts_dir = None\n",
"lc_kwargs = {\"threads_per_worker\": 1}\n",
"serial = False\n",
"compass_root = \"/glade/work/richling/ADF/ADF_dev/Justin_ADF_2/ADF/adf_try_plots/f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull/T/ERA5/RF13/\"\n",
"runs_dict = {\n",
" \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull\": [\n",
" \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau12h.001\",\n",
" \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau24h.001\",\n",
" ],\n",
" \"f.e30_cam6_4_120.FHISTC_LTso.ne30pg3_ne30pg3_mg17.SOCRATES_nudgeUVTfull_withCOSP\": [\n",
" \"f.e30_cam6_4_120.FHISTC_LTso.ne30pg3_ne30pg3_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau6h.001\",\n",
" \"f.e30_cam6_4_120.FHISTC_LTso.ne30pg3_ne30pg3_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau12h.001\",\n",
" ],\n",
"}\n",
"subset_kwargs = {}\n",
"product = \"/glade/derecho/scratch/richling/compass-cupid/CUPiD/examples/external_diag_packages/computed_notebooks//atm/COMPASS_model_diags_2.ipynb\"\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "84925f9d",
"metadata": {
"editable": true,
"execution": {
"iopub.execute_input": "2025-12-10T17:14:14.508112Z",
"iopub.status.busy": "2025-12-10T17:14:14.507953Z",
"iopub.status.idle": "2025-12-10T17:14:14.510316Z",
"shell.execute_reply": "2025-12-10T17:14:14.509986Z"
},
"papermill": {
"duration": 0.008913,
"end_time": "2025-12-10T17:14:14.510926",
"exception": false,
"start_time": "2025-12-10T17:14:14.502013",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"parameters",
"hide-cell"
]
},
"outputs": [],
"source": [
"runs_dict_tmp = {}\n",
"if isinstance(runs_dict, list):\n",
" for run in runs_dict:\n",
" runs_dict_tmp[run] = [run]\n",
" runs_dict = runs_dict_tmp"
]
},
{
"cell_type": "markdown",
"id": "f9234aec-1fe5-4bbf-ad6c-fb565297afbe",
"metadata": {
"papermill": {
"duration": 0.00513,
"end_time": "2025-12-10T17:14:14.521448",
"exception": false,
"start_time": "2025-12-10T17:14:14.516318",
"status": "completed"
},
"tags": []
},
"source": [
"## Key Metrics from COMPASS Model Diagnostics (CMD)\n",
"\n",
"Some important things to look at from CMD include a slap to the face and then a hug:"
]
},
{
"cell_type": "markdown",
"id": "be819352-c723-4f48-afac-d93f6d192f96",
"metadata": {
"editable": true,
"papermill": {
"duration": 0.005377,
"end_time": "2025-12-10T17:14:14.532269",
"exception": false,
"start_time": "2025-12-10T17:14:14.526892",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"hide-input"
]
},
"source": [
"for path_to_key_plot in key_plots:\n",
" full_path = os.path.join(adf_root, path_to_key_plot)\n",
" if os.path.isfile(full_path):\n",
" display(Image(full_pbath))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "06d29973",
"metadata": {
"editable": true,
"execution": {
"iopub.execute_input": "2025-12-10T17:14:14.543954Z",
"iopub.status.busy": "2025-12-10T17:14:14.543770Z",
"iopub.status.idle": "2025-12-10T17:14:14.566461Z",
"shell.execute_reply": "2025-12-10T17:14:14.566093Z"
},
"papermill": {
"duration": 0.029644,
"end_time": "2025-12-10T17:14:14.567139",
"exception": false,
"start_time": "2025-12-10T17:14:14.537495",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"parameters",
"hide-cell"
]
},
"outputs": [],
"source": [
"def slider(case_name, image_dir, ldrop=None, settings_list=None, rdrop=None):\n",
" import os\n",
" import re\n",
" from glob import glob\n",
" from PIL import Image\n",
" from io import BytesIO\n",
" import base64\n",
" from IPython.display import display, HTML\n",
" import ipywidgets as widgets\n",
" from ipywidgets import Layout\n",
"\n",
" tooltip_dict = {\n",
" \"Nudge_Uprof\": \"\"\"Selectively apply nudging to U:\n",
"\n",
" OFF = Switch off nudging\n",
" ON = Apply nudging everywhere\n",
" WINDOW = Apply window function to\n",
" nudging tendencies.\n",
" \n",
" 0 = OFF\n",
" 1 = ON\n",
" 2 = WINDOW\n",
" \"\"\",\n",
" #\"nudge_uprof\": \"Profile of zonal wind nudging\",\n",
" \"Nudge_Ucoef\": \"\"\"Selectively adjust the nudging strength applied to U. (normalized) [0.,1.]\n",
" \"\"\",\n",
" \"Nudge_Hwin_lat0\": \"\"\"Specify the horizontal center of the\n",
" window (lat0) in degrees. [-90., +90.]\"\"\",\n",
" \"Nudge_Hwin_lon0\":\"\"\"Specify the horizontal center of the\n",
" window (lon0) in degrees. [ 0. , 360.]\"\"\",\n",
" \"Nudge_Hwin_latWidth\": \"\"\"Specify the lat width of the\n",
" horizontal window in degrees.\n",
" Setting a width to a large value\n",
" (e.g. 999.) renders the window\n",
" constant in that direction.\n",
" \n",
" >0\"\"\",\n",
" \"Nudge_Hwin_lonWidth\": \"\"\"Specify the lon width of the\n",
" horizontal window in degrees.\n",
" Setting a width to a large value\n",
" (e.g. 999.) renders the window\n",
" constant in that direction.\n",
" \n",
" >0\"\"\",\n",
" \"Nudge_Vwin_Hindex\": \"Vertical window high index\",\n",
" \"Nudge_Vwin_Lindex\": \"Vertical window low index\",\n",
" \"Nudge_Vwin_Hdelta\": \"Vertical window high delta\",\n",
" \"Nudge_Vwin_Ldelta\": \"Vertical window low delta\",\n",
" \"Nudge_Vwin_Invert\":\"\"\"A logical flag used to invert the\n",
" horizontal window function to get its\n",
" compliment.\n",
" \n",
" True/False\"\"\",\n",
" \"Nudge_Hwin_latDelta\": \"Horizontal lat delta\",\n",
" \"Nudge_Hwin_lonDelta\": \"Horizontal lon delta\",\n",
" \"Nudge_Hwin_Invert\":\"\"\"A logical flag used to invert the\n",
" horizontal window function to get its\n",
" compliment.\n",
" (e.g. to nudge outside a given window)\n",
" \n",
" True/False\"\"\",\n",
" \"Nudge_TimeScale_Opt\":\"\"\"Select the timescale for the relaxation:\n",
"\n",
" WEAK = Constant time scale based in\n",
" the time interval of Target values.\n",
" \n",
" STRONG = Variable timescale which\n",
" gets stronger near each Target time.\n",
" \n",
" 0 = WEAK\n",
" 1 = STRONG\n",
" \"\"\",\n",
" \"Nudge_Force_Opt\":\"\"\"Select the form of the Target values:\n",
"\n",
" NEXT = Target at next future time\n",
" LINEAR = Linearly interpolate Target\n",
" values to current model time.\n",
"\n",
" 0 = NEXT\n",
" 1 = LINEAR\n",
" \"\"\"\n",
" }\n",
"\n",
"\n",
" link_dict = {\n",
" \"Nudge_Uprof\": \"https://ncar.github.io/CAM/doc/build/html/users_guide/physics-modifications-via-the-namelist.html?highlight=nudge#namelist-values\",\n",
" \"Nudge_Ucoef\": \"https://ncar.github.io/CAM/doc/build/html/users_guide/physics-modifications-via-the-namelist.html?highlight=nudge#namelist-values\",\n",
" \"Nudge_TimeScale_Opt\":\"www.google.com\",\n",
" #\"nudge_timescale_opt\":\"www.google.com\"\n",
" }\n",
"\n",
" if not image_dir:\n",
" print(\"No image directory :/\")\n",
" return\n",
"\n",
" # --- Detect levels ---\n",
" lev_pattern = re.compile(r'(\\d+)hPa\\.png$')\n",
" all_files = os.listdir(image_dir)\n",
" levels = sorted({lev_pattern.search(f).group(1) for f in all_files if lev_pattern.search(f)})\n",
"\n",
" if not levels:\n",
" print(\"No level-specific image files found.\")\n",
" return\n",
"\n",
" # Grab all PNG files\n",
" files = glob(os.path.join(image_dir, \"*.png\"))\n",
"\n",
" # Regex to extract timestamp after hPa_ and before .png\n",
" timestamp_pattern = re.compile(r\"hPa_(\\d{4}_\\d{2}_\\d{2}_\\d{2}:\\d{2})\\.png$\")\n",
"\n",
" timestamps = []\n",
" for f in all_files:\n",
" base = os.path.basename(f)\n",
" m = timestamp_pattern.search(base)\n",
" if m:\n",
" timestamps.append(m.group(1))\n",
"\n",
" # Optional: sort by timestamp\n",
" timestamps = sorted(timestamps)\n",
" print(timestamps)\n",
" # Widgets\n",
" level_dropdown = widgets.Dropdown(options=levels, value=levels[0], description=\"Level (hPa)\")\n",
" slider = widgets.IntSlider(min=0, max=0, step=1, description='Time Step')\n",
" #time_label = widgets.Label(value=str(timestamps[0]))\n",
" #def update_label(change):\n",
" # time_label.value = timestamps[slider.value].strftime(\"%Y-%m-%d %H:%M\")\n",
" html_widget = widgets.HTML()\n",
"\n",
" def get_images_for_level(level):\n",
" level = str(level)\n",
" level_files = sorted([\n",
" os.path.join(image_dir, f) for f in os.listdir(image_dir)\n",
" if f.endswith(f'{level}hPa.png')\n",
" ])\n",
" timestamps = [\n",
" '-'.join(os.path.basename(f).split('_')[1:4]) + ' ' + os.path.basename(f).split('_')[4]\n",
" for f in level_files\n",
" ]\n",
" return level_files, timestamps\n",
"\n",
" image_files, timestamps = get_images_for_level(levels[0])\n",
" print(timestamps)\n",
" #image_files = get_images_for_level(levels[0])\n",
" slider.max = max(0, len(image_files) - 1)\n",
"\n",
" def image_to_html(path):\n",
" img = Image.open(path).resize((1000, 300))\n",
" buffer = BytesIO()\n",
" img.save(buffer, format='PNG')\n",
" b64 = base64.b64encode(buffer.getvalue()).decode()\n",
" return f\"\"\n",
"\n",
" def update_display(change=None):\n",
" if not image_files:\n",
" html_widget.value = \"No images found for this level.\"\n",
" return\n",
" html_img = image_to_html(image_files[slider.value])\n",
" html_ts = f\"
for search\n",
" processed_lines.append(line)\n",
" \n",
" html_output = \"
\".join(processed_lines)\n",
" \n",
" with settings_output:\n",
" # Use + HTML for easy copy/search\n",
" display(HTML(f\"{html_output}\"))\n",
" \n",
" elif settings_dropdown.value == f\"Subset {fname}\":\n",
" with settings_output:\n",
" display(HTML(f\"{subset_text}\"))\n",
" elif settings_dropdown.value == f\"Full {fname}\":\n",
" with settings_output:\n",
" display(HTML(f\"{full_text}\"))\n",
"\n",
" \n",
" \n",
" \n",
" \"\"\"\n",
" def update_settings(change):\n",
" settings_output.clear_output()\n",
" if settings_dropdown.value == \"Nudge Params\":\n",
" processed_lines = []\n",
" for line in nudge_text.splitlines():\n",
" #for key in set(link_dict.keys()).union(tooltip_dict.keys()): #use as an intersection of both dict kyes\n",
" for key in tooltip_dict.keys():\n",
" #match = next((k for k in tooltip_dict if k.upper() == key.upper()), None)\n",
" #if k.upper() == key\n",
" if key.lower() in line:\n",
" title = tooltip_dict.get(key, \"\")\n",
" href = link_dict.get(key, \"\")\n",
" if href:\n",
" replacement = f'{key.lower()}'\n",
" else:\n",
" replacement = f'{key.lower()}'\n",
" line = line.replace(key.lower(), replacement)\n",
" processed_lines.append(line)\n",
" html_output = \"
\".join(processed_lines)\n",
" with settings_output:\n",
" display(HTML(html_output))\n",
" elif settings_dropdown.value == f\"Subset {fname}\":\n",
" with settings_output:\n",
" display(HTML(\"\" + subset_text + \"
\"))\n",
" elif settings_dropdown.value == f\"Full {fname}\":\n",
" with settings_output:\n",
" display(HTML(\"\" + full_text + \"
\"))\n",
" \"\"\"\n",
"\n",
" def update_status(change):\n",
" with status_output:\n",
" status_output.clear_output()\n",
" if status_dropdown.value == \"CaseStatus\":\n",
" print(status_text)\n",
"\n",
" slider.observe(update_display, names='value')\n",
" settings_dropdown.observe(update_settings, names='value')\n",
" status_dropdown.observe(update_status, names='value')\n",
" level_dropdown.observe(on_level_change, names='value')\n",
"\n",
" # Layout\n",
" settings_output.layout = Layout(margin='0 20px 0 0')\n",
" status_output.layout = Layout(margin='0 0 0 20px')\n",
" output_row = widgets.HBox([settings_output, status_output])\n",
" dropdown_row = widgets.HBox([settings_dropdown, status_dropdown], layout=Layout(margin='10px 0 10px 0'))\n",
" control_row = widgets.HBox([level_dropdown, slider])\n",
" title = widgets.HTML(\n",
" value=f\"{case_name}
\"\n",
" )\n",
" ui = widgets.VBox([title, control_row, html_widget, dropdown_row, output_row])\n",
"\n",
" #display(ui)\n",
" #update_display()\n",
"\n",
" update_display()\n",
" return ui\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "bdb5e7b0",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T17:14:14.578863Z",
"iopub.status.busy": "2025-12-10T17:14:14.578702Z",
"iopub.status.idle": "2025-12-10T17:14:15.555262Z",
"shell.execute_reply": "2025-12-10T17:14:15.554870Z"
},
"papermill": {
"duration": 0.983751,
"end_time": "2025-12-10T17:14:15.556730",
"exception": false,
"start_time": "2025-12-10T17:14:14.572979",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[]\n",
"['2018-02-19 17:00', '2018-02-19 18:00', '2018-02-19 19:00', '2018-02-19 20:00', '2018-02-19 21:00', '2018-02-19 22:00', '2018-02-19 23:00', '2018-02-20 00:00', '2018-02-20 01:00', '2018-02-20 02:00', '2018-02-20 03:00', '2018-02-20 04:00', '2018-02-20 05:00', '2018-02-20 06:00', '2018-02-20 07:00']\n",
"[]\n",
"['2018-02-19 17:00', '2018-02-19 18:00', '2018-02-19 19:00', '2018-02-19 20:00', '2018-02-19 21:00', '2018-02-19 22:00', '2018-02-19 23:00', '2018-02-20 00:00', '2018-02-20 01:00', '2018-02-20 02:00', '2018-02-20 03:00', '2018-02-20 04:00', '2018-02-20 05:00', '2018-02-20 06:00', '2018-02-20 07:00']\n",
"[]\n",
"['2018-02-19 17:00', '2018-02-19 18:00', '2018-02-19 19:00', '2018-02-19 20:00', '2018-02-19 21:00', '2018-02-19 22:00', '2018-02-19 23:00', '2018-02-20 00:00', '2018-02-20 01:00', '2018-02-20 02:00', '2018-02-20 03:00', '2018-02-20 04:00', '2018-02-20 05:00', '2018-02-20 06:00', '2018-02-20 07:00']\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "85ba19fcb6f248ee8262a7d7f91c2072",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Tab(children=(Tab(children=(VBox(children=(HTML(value=\"f.e21.FH…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import ipywidgets as widgets\n",
"from IPython.display import display\n",
"from pathlib import Path\n",
"\n",
"# ----------------------------------------------------------\n",
"# Define your case *families* and runs\n",
"# ----------------------------------------------------------\n",
"case_groups = {\n",
" \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull\": [\n",
" \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau12h.001\",\n",
" \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau24h.001\",\n",
" ],\n",
" \"f.e30_cam6_4_120.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_withCOSP\": [\n",
" \"f.e30_cam6_4_120.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau6h.001\",\n",
" #\"f.e30_cam6_4_120.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau48h.001\",\n",
" ]\n",
"}\n",
"\n",
"# ----------------------------------------------------------\n",
"# Create nested tabs\n",
"# ----------------------------------------------------------\n",
"top_tabs = widgets.Tab()\n",
"\n",
"top_level_children = []\n",
"top_titles = []\n",
"for var in var_list:\n",
" plot_type = \"T\"\n",
" #file_path = Path(f\"/glade/derecho/scratch/islas/{caze}/run/atm_in\")\n",
"for case_family, run_list in case_groups.items():\n",
"\n",
" # Create sub-tab for each family\n",
" sub_tab = widgets.Tab()\n",
"\n",
" sub_children = []\n",
" sub_titles = []\n",
"\n",
" for run in run_list:\n",
" # Replace this with: widget = slider(...)\n",
" #widget = fake_slider(run)\n",
" #caze = \"f.e30_cam6_4_120.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau6h.001\"\n",
" file_path = Path(f\"/glade/derecho/scratch/islas/{run}/run/atm_in\")\n",
" widget = slider(run,\n",
" #f\"plots/{run}/{plot_type}/ERA5/RF13/\",\n",
" compass_root,\n",
" f\"{str(file_path)}\",\n",
" #settings_list=[\"fincl\",\"mfilt\",\"nhtfrq\",\"ncdata\",\"cld\",\"cosp\"],\n",
" settings_list=[\"cosp\"],\n",
" #rdrop=\"/glade/derecho/scratch/richling/cases/F2000climo.f09_f09_mg17.window.exp.6hrInit.R13.003/CaseStatus\"\n",
" )\n",
"\n",
" sub_children.append(widget)\n",
" sub_titles.append(run)\n",
"\n",
" sub_tab.children = sub_children\n",
"\n",
" # Name the sub-tabs (each run)\n",
" for i, title in enumerate(sub_titles):\n",
" sub_tab.set_title(i, title)\n",
"\n",
" # Add subtab into top tab\n",
" top_level_children.append(sub_tab)\n",
" top_titles.append(case_family)\n",
"\n",
"# Assign to top-level tab\n",
"top_tabs.children = top_level_children\n",
"\n",
"# Name top-level tabs (each case family)\n",
"for i, title in enumerate(top_titles):\n",
" top_tabs.set_title(i, title)\n",
"\n",
"display(top_tabs)\n"
]
},
{
"cell_type": "raw",
"id": "c083b669",
"metadata": {
"editable": true,
"papermill": {
"duration": 0.005622,
"end_time": "2025-12-10T17:14:15.568987",
"exception": false,
"start_time": "2025-12-10T17:14:15.563365",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"parameters",
"hide-cell"
],
"vscode": {
"languageId": "raw"
}
},
"source": [
"%%html\n",
"\n",
"\n",
"\n",
"\n",
" \n",
" \n",
"\n",
" \n",
" \n",
"\n",
" \n",
"\n",
" \n",
" Run 1 content
\n",
" You can inject HTML here (images, case settings, anything).
\n",
" \n",
"\n",
" \n",
" Run 2 content
\n",
" \n",
"\n",
" \n",
"\n",
" \n",
" \n",
"\n",
" \n",
"\n",
" \n",
" Run 3 content
\n",
" \n",
"\n",
" \n",
" Run 4 content
\n",
" \n",
" \n",
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "raw",
"id": "24f946cc",
"metadata": {
"editable": true,
"papermill": {
"duration": 0.005574,
"end_time": "2025-12-10T17:14:15.579965",
"exception": false,
"start_time": "2025-12-10T17:14:15.574391",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"parameters",
"hide-cell"
],
"vscode": {
"languageId": "raw"
}
},
"source": [
"from IPython.display import HTML, display\n",
"import os, re, json\n",
"from glob import glob\n",
"from PIL import Image\n",
"from io import BytesIO\n",
"import base64\n",
"from html import escape\n",
"\n",
"def build_slider_html(case_name, image_dir, ldrop=None, settings_list=None, rdrop=None):\n",
" \"\"\"\n",
" Convert your slider(...) to a pure HTML/CSS/JS blob returned as IPython.display.HTML.\n",
" - case_name: string\n",
" - image_dir: directory containing images named like ..._hPa.png and with timestamps after 'hPa_'\n",
" - ldrop: path to user_nl (optional)\n",
" - settings_list: list of additional keywords to include in subset (optional)\n",
" - rdrop: path to CaseStatus (optional)\n",
" \"\"\"\n",
" # --- tooltip / link dicts from your function ---\n",
" tooltip_dict = {\n",
" \"Nudge_Uprof\": \"\"\"Selectively apply nudging to U:\n",
"\n",
"OFF = Switch off nudging\n",
"ON = Apply nudging everywhere\n",
"WINDOW = Apply window function to\n",
"nudging tendencies.\n",
"\n",
"0 = OFF\n",
"1 = ON\n",
"2 = WINDOW\n",
"\"\"\",\n",
" \"Nudge_Ucoef\": \"Selectively adjust the nudging strength applied to U. (normalized) [0.,1.]\",\n",
" \"Nudge_Hwin_lat0\": \"Specify the horizontal center of the window (lat0) in degrees. [-90., +90.]\",\n",
" \"Nudge_Hwin_lon0\": \"Specify the horizontal center of the window (lon0) in degrees. [ 0. , 360.]\",\n",
" \"Nudge_Hwin_latWidth\": \"Specify the lat width of the horizontal window in degrees. >0\",\n",
" \"Nudge_Hwin_lonWidth\": \"Specify the lon width of the horizontal window in degrees. >0\",\n",
" \"Nudge_Vwin_Hindex\": \"Vertical window high index\",\n",
" \"Nudge_Vwin_Lindex\": \"Vertical window low index\",\n",
" \"Nudge_Vwin_Hdelta\": \"Vertical window high delta\",\n",
" \"Nudge_Vwin_Ldelta\": \"Vertical window low delta\",\n",
" \"Nudge_Vwin_Invert\": \"A logical flag used to invert the horizontal window function to get its compliment. True/False\",\n",
" \"Nudge_Hwin_latDelta\": \"Horizontal lat delta\",\n",
" \"Nudge_Hwin_lonDelta\": \"Horizontal lon delta\",\n",
" \"Nudge_Hwin_Invert\": \"A logical flag used to invert the horizontal window function to get its compliment. (e.g. to nudge outside a given window) True/False\",\n",
" \"Nudge_TimeScale_Opt\": \"Select the timescale for the relaxation: WEAK / STRONG (0=WEAK,1=STRONG)\",\n",
" \"Nudge_Force_Opt\": \"Select the form of the Target values: NEXT / LINEAR (0=NEXT,1=LINEAR)\"\n",
" }\n",
"\n",
" link_dict = {\n",
" \"Nudge_Uprof\": \"https://ncar.github.io/CAM/doc/build/html/users_guide/physics-modifications-via-the-namelist.html?highlight=nudge#namelist-values\",\n",
" \"Nudge_Ucoef\": \"https://ncar.github.io/CAM/doc/build/html/users_guide/physics-modifications-via-the-namelist.html?highlight=nudge#namelist-values\",\n",
" \"Nudge_TimeScale_Opt\": \"https://www.google.com\"\n",
" }\n",
"\n",
" # --- guard ---\n",
" if not image_dir or not os.path.isdir(image_dir):\n",
" return HTML(f\"No valid image_dir: {escape(str(image_dir))}\")\n",
"\n",
" # --- detect levels and image files per level ---\n",
" lev_pattern = re.compile(r'(\\d+)hPa\\.png$')\n",
" all_files = os.listdir(image_dir)\n",
" levels = sorted({lev_pattern.search(f).group(1) for f in all_files if lev_pattern.search(f)})\n",
" if not levels:\n",
" return HTML(\"No level-specific image files found (expecting '*hPa.png').\")\n",
"\n",
" # helper to extract timestamp like your original code\n",
" timestamp_pattern = re.compile(r\"hPa_(\\d{4}_\\d{2}_\\d{2}_\\d{2}:\\d{2})\\.png$\")\n",
"\n",
" def get_images_for_level(level):\n",
" level = str(level)\n",
" level_files = sorted([\n",
" os.path.join(image_dir, f) for f in os.listdir(image_dir)\n",
" if f.endswith(f'{level}hPa.png')\n",
" ])\n",
" timestamps = [\n",
" '-'.join(os.path.basename(f).split('_')[1:4]) + ' ' + os.path.basename(f).split('_')[4]\n",
" for f in level_files\n",
" ]\n",
" return level_files, timestamps\n",
"\n",
" # --- build base64-encoded images per level (list of lists) ---\n",
" images_per_level = {}\n",
" timestamps_per_level = {}\n",
" for lev in levels:\n",
" files, tss = get_images_for_level(lev)\n",
" b64_list = []\n",
" for p in files:\n",
" try:\n",
" img = Image.open(p)\n",
" # keep aspect similar to your original resize (1000x300) but scale if smaller\n",
" #img = img.resize((1000, 300))\n",
" img = img.resize((1200, 400))\n",
" buf = BytesIO()\n",
" img.save(buf, format='PNG')\n",
" b64 = base64.b64encode(buf.getvalue()).decode()\n",
" b64_list.append(b64)\n",
" except Exception as e:\n",
" b64_list.append(\"\") # placeholder if something fails\n",
" images_per_level[lev] = b64_list\n",
" timestamps_per_level[lev] = tss\n",
"\n",
" # --- load and process settings and status text like your original functions ---\n",
" def load_user_nl(ldrop, settings_list):\n",
" default_setting_list = [\"fincl\",\"mfilt\",\"nhtfrq\",\"ncdata\"]\n",
" lines_nudged = []\n",
" lines_all = []\n",
" lines_subset = []\n",
" try:\n",
" with open(ldrop, 'r') as file:\n",
" for line in file:\n",
" if line.startswith(' Nudge_') or line.startswith(' nudge_') or line.startswith('Nudge_') or line.startswith('nudge_'):\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" lines_nudged.append(cleaned_line.strip())\n",
" if settings_list:\n",
" for setting in settings_list:\n",
" if setting not in default_setting_list:\n",
" if setting in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" if \"fincl\" in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line.strip())\n",
" lines_subset.append(cleaned_line)\n",
" if \"mfilt\" in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" if \"nhtfrq\" in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" if \"ncdata\" in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" lines_all.append(line.strip())\n",
" except Exception as e:\n",
" lines_all = [f\"Error reading user_nl_cam: {e}\"]\n",
" return \"\\n\".join(lines_nudged), \"\\n\".join(lines_all), \"\\n\".join(lines_subset)\n",
"\n",
" def load_case_status(case_status):\n",
" lines = []\n",
" try:\n",
" with open(case_status, 'r') as file:\n",
" lines = [re.sub(r'\\s{3,}', ' ', line).strip() for line in file]\n",
" except Exception as e:\n",
" lines = [f\"Error reading CaseStatus: {e}\"]\n",
" return \"\\n\".join(lines)\n",
"\n",
" ldrop_opts = [\"Hide Settings\", \"Nudge Params\"]\n",
" fname = \"\"\n",
" nudge_text = full_text = subset_text = \"\"\n",
" if ldrop and os.path.isfile(ldrop):\n",
" nudge_text, full_text, subset_text = load_user_nl(ldrop, settings_list)\n",
" if \"atm_in\" in ldrop:\n",
" ldrop_opts += [\"Full atm_in\", \"Subset atm_in\"]\n",
" fname = \"atm_in\"\n",
" if \"user_nl_cam\" in ldrop:\n",
" ldrop_opts.append(\"Full user_nl_cam\")\n",
" fname = \"user_nl_cam\"\n",
"\n",
" if rdrop and os.path.isfile(rdrop):\n",
" status_text = load_case_status(rdrop)\n",
" else:\n",
" status_text = \"Nothing here...\"\n",
"\n",
" # --- sanitized HTML snippets ready for insertion (escape content except where we want HTML links) ---\n",
" # For settings Nudge Params we will replace keys with or including title attributes.\n",
" def process_nudge_html(text):\n",
" lines = []\n",
" for line in text.splitlines():\n",
" original = line\n",
" for key in tooltip_dict.keys():\n",
" pattern = re.compile(re.escape(key), re.IGNORECASE)\n",
" title = tooltip_dict.get(key, \"\")\n",
" href = link_dict.get(key, \"\")\n",
" if href:\n",
" repl = f'{escape(key)}'\n",
" else:\n",
" repl = f'{escape(key)}'\n",
" line = pattern.sub(repl, line)\n",
" # escape leftover content\n",
" # we assume replacements already escaped; ensure any other characters are safe\n",
" lines.append(escape(line, quote=False))\n",
" # join with
and then unescape the already-constructed / by replacing their escaped forms\n",
" html_out = \"
\".join(lines)\n",
" # fix the escaped and by unescaping their tags (they were double-escaped)\n",
" # (we purposely escaped the full line earlier — now restore tags)\n",
" for key in tooltip_dict.keys():\n",
" # replace the escaped anchor/span (they contain <a ... >) with actual tags by searching for the escaped substring\n",
" if key in html_out:\n",
" # anchors contain the key text; replace the escaped key-only instances with unescaped link/span\n",
" # This step is conservative and will mainly restore our inserted tags.\n",
" pass\n",
" # simpler: since we already constructed repl with proper tags and then escaped the whole line,\n",
" # we need to instead rebuild from original again but carefully:\n",
" processed = []\n",
" for line in text.splitlines():\n",
" line2 = line\n",
" for key in tooltip_dict.keys():\n",
" pattern = re.compile(re.escape(key), re.IGNORECASE)\n",
" title = tooltip_dict.get(key, \"\")\n",
" href = link_dict.get(key, \"\")\n",
" if href:\n",
" repl = f'{escape(key)}'\n",
" else:\n",
" repl = f'{escape(key)}'\n",
" line2 = pattern.sub(repl, line2)\n",
" processed.append(escape(line2))\n",
" # Now processed contains escaped content with tags escaped; we must insert the tags verbatim.\n",
" # So we'll take the original lines and perform the substitution without escaping the replacements.\n",
" final_lines = []\n",
" for line in text.splitlines():\n",
" ln = line\n",
" for key in tooltip_dict.keys():\n",
" pattern = re.compile(re.escape(key), re.IGNORECASE)\n",
" title = tooltip_dict.get(key, \"\")\n",
" href = link_dict.get(key, \"\")\n",
" if href:\n",
" repl = f'{escape(key)}'\n",
" else:\n",
" repl = f'{escape(key)}'\n",
" ln = pattern.sub(repl, ln)\n",
" final_lines.append(escape(ln))\n",
" # convert to HTML with styling preserved\n",
" return \"\" + \"
\".join(final_lines) + \"
\"\n",
"\n",
" nudge_html = process_nudge_html(nudge_text) if nudge_text else \"No nudge params found.\"\n",
" subset_html = \"\" + escape(subset_text) + \"
\" if subset_text else \"No subset.\"\n",
" full_html = \"\" + escape(full_text) + \"
\" if full_text else \"No full text.\"\n",
" status_html = \"\" + escape(status_text) + \"
\"\n",
"\n",
" # --- Build an HTML blob and inject JSON data for JS ---\n",
" data = {\n",
" \"case_name\": case_name,\n",
" \"levels\": levels,\n",
" \"images_per_level\": images_per_level,\n",
" \"timestamps_per_level\": timestamps_per_level,\n",
" \"nudge_html\": nudge_html,\n",
" \"subset_html\": subset_html,\n",
" \"full_html\": full_html,\n",
" \"status_html\": status_html,\n",
" \"ldrop_opts\": ldrop_opts,\n",
" \"fname\": fname\n",
" }\n",
"\n",
" # Convert data to JSON safely for embedding\n",
" data_json = json.dumps(data)\n",
"\n",
" # HTML/CSS/JS template\n",
" html = f\"\"\"\n",
"\n",
"\n",
"\n",
" \"\"\"\n",
"\n",
" return HTML(html)\n",
"\n",
"# Example usage:\n",
"# display(build_slider_html(\"CASE_NAME\", \"/path/to/images\", ldrop=\"/path/to/user_nl_cam\", settings_list=[\"cosp\"], rdrop=\"/path/to/CaseStatus\"))\n",
"\"\"\"\n",
"\"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull\": [\n",
" \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau12h.001\",\n",
" \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau24h.001\",\n",
" ],\n",
"\"\"\"\n",
"from pathlib import Path\n",
"run = \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau12h.001\"\n",
"#for run in [\"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau12h.001\", \n",
"# \"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau24h.001\"]:\n",
"file_path = Path(f\"/glade/derecho/scratch/islas/{run}/run/atm_in\")\n",
"display(build_slider_html(run,\n",
" #f\"plots/{run}/{plot_type}/ERA5/RF13/\",\n",
" compass_root,\n",
" f\"{str(file_path)}\",\n",
" #settings_list=[\"fincl\",\"mfilt\",\"nhtfrq\",\"ncdata\",\"cld\",\"cosp\"],\n",
" settings_list=[\"cosp\"],\n",
" #rdrop=\"/glade/derecho/scratch/richling/cases/F2000climo.f09_f09_mg17.window.exp.6hrInit.R13.003/CaseStatus\"\n",
" )\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "a6de11ef",
"metadata": {
"editable": true,
"execution": {
"iopub.execute_input": "2025-12-10T17:14:15.595841Z",
"iopub.status.busy": "2025-12-10T17:14:15.595625Z",
"iopub.status.idle": "2025-12-10T17:14:15.620379Z",
"shell.execute_reply": "2025-12-10T17:14:15.619967Z"
},
"papermill": {
"duration": 0.032103,
"end_time": "2025-12-10T17:14:15.621154",
"exception": false,
"start_time": "2025-12-10T17:14:15.589051",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"parameters",
"hide-cell"
]
},
"outputs": [],
"source": [
"#GOOD FUNCTION\n",
"from IPython.display import HTML, display\n",
"import os, re, json\n",
"from glob import glob\n",
"from PIL import Image\n",
"from io import BytesIO\n",
"import base64\n",
"from html import escape\n",
"\n",
"def build_slider_html(case_name, image_dir, ldrop=None, settings_list=None, rdrop=None):\n",
" \"\"\"\n",
" Convert your slider(...) to a pure HTML/CSS/JS blob returned as IPython.display.HTML.\n",
" - case_name: string\n",
" - image_dir: directory containing images named like ..._hPa.png and with timestamps after 'hPa_'\n",
" - ldrop: path to user_nl (optional)\n",
" - settings_list: list of additional keywords to include in subset (optional)\n",
" - rdrop: path to CaseStatus (optional)\n",
" \"\"\"\n",
" # --- tooltip / link dicts from your function ---\n",
" tooltip_dict = {\n",
" \"Nudge_Uprof\": \"\"\"Selectively apply nudging to U:\n",
"\n",
"OFF = Switch off nudging\n",
"ON = Apply nudging everywhere\n",
"WINDOW = Apply window function to\n",
"nudging tendencies.\n",
"\n",
"0 = OFF\n",
"1 = ON\n",
"2 = WINDOW\n",
"\"\"\",\n",
" \"Nudge_Ucoef\": \"Selectively adjust the nudging strength applied to U. (normalized) [0.,1.]\",\n",
" \"Nudge_Hwin_lat0\": \"Specify the horizontal center of the window (lat0) in degrees. [-90., +90.]\",\n",
" \"Nudge_Hwin_lon0\": \"Specify the horizontal center of the window (lon0) in degrees. [ 0. , 360.]\",\n",
" \"Nudge_Hwin_latWidth\": \"Specify the lat width of the horizontal window in degrees. >0\",\n",
" \"Nudge_Hwin_lonWidth\": \"Specify the lon width of the horizontal window in degrees. >0\",\n",
" \"Nudge_Vwin_Hindex\": \"Vertical window high index\",\n",
" \"Nudge_Vwin_Lindex\": \"Vertical window low index\",\n",
" \"Nudge_Vwin_Hdelta\": \"Vertical window high delta\",\n",
" \"Nudge_Vwin_Ldelta\": \"Vertical window low delta\",\n",
" \"Nudge_Vwin_Invert\": \"A logical flag used to invert the horizontal window function to get its compliment. True/False\",\n",
" \"Nudge_Hwin_latDelta\": \"Horizontal lat delta\",\n",
" \"Nudge_Hwin_lonDelta\": \"Horizontal lon delta\",\n",
" \"Nudge_Hwin_Invert\": \"A logical flag used to invert the horizontal window function to get its compliment. (e.g. to nudge outside a given window) True/False\",\n",
" \"Nudge_TimeScale_Opt\": \"Select the timescale for the relaxation: WEAK / STRONG (0=WEAK,1=STRONG)\",\n",
" \"Nudge_Force_Opt\": \"Select the form of the Target values: NEXT / LINEAR (0=NEXT,1=LINEAR)\"\n",
" }\n",
"\n",
" link_dict = {\n",
" \"Nudge_Uprof\": \"https://ncar.github.io/CAM/doc/build/html/users_guide/physics-modifications-via-the-namelist.html?highlight=nudge#namelist-values\",\n",
" \"Nudge_Ucoef\": \"https://ncar.github.io/CAM/doc/build/html/users_guide/physics-modifications-via-the-namelist.html?highlight=nudge#namelist-values\",\n",
" \"Nudge_TimeScale_Opt\": \"https://www.google.com\"\n",
" }\n",
"\n",
" # --- guard ---\n",
" if not image_dir or not os.path.isdir(image_dir):\n",
" return HTML(f\"No valid image_dir: {escape(str(image_dir))}\")\n",
"\n",
" # --- detect levels and image files per level ---\n",
" lev_pattern = re.compile(r'(\\d+)hPa\\.png$')\n",
" all_files = os.listdir(image_dir)\n",
" levels = sorted({lev_pattern.search(f).group(1) for f in all_files if lev_pattern.search(f)})\n",
" if not levels:\n",
" return HTML(\"No level-specific image files found (expecting '*hPa.png').\")\n",
"\n",
" # helper to extract timestamp like your original code\n",
" timestamp_pattern = re.compile(r\"hPa_(\\d{4}_\\d{2}_\\d{2}_\\d{2}:\\d{2})\\.png$\")\n",
"\n",
" def get_images_for_level(level):\n",
" level = str(level)\n",
" level_files = sorted([\n",
" os.path.join(image_dir, f) for f in os.listdir(image_dir)\n",
" if f.endswith(f'{level}hPa.png')\n",
" ])\n",
" timestamps = [\n",
" '-'.join(os.path.basename(f).split('_')[1:4]) + ' ' + os.path.basename(f).split('_')[4]\n",
" for f in level_files\n",
" ]\n",
" return level_files, timestamps\n",
"\n",
" # --- build base64-encoded images per level (list of lists) ---\n",
" images_per_level = {}\n",
" timestamps_per_level = {}\n",
" for lev in levels:\n",
" files, tss = get_images_for_level(lev)\n",
" b64_list = []\n",
" for p in files:\n",
" try:\n",
" img = Image.open(p)\n",
" # keep aspect similar to your original resize (1000x300) but scale if smaller\n",
" #img = img.resize((1000, 300))\n",
" img = img.resize((1200, 400))\n",
" buf = BytesIO()\n",
" img.save(buf, format='PNG')\n",
" b64 = base64.b64encode(buf.getvalue()).decode()\n",
" b64_list.append(b64)\n",
" except Exception as e:\n",
" b64_list.append(\"\") # placeholder if something fails\n",
" images_per_level[lev] = b64_list\n",
" timestamps_per_level[lev] = tss\n",
"\n",
" # --- load and process settings and status text like your original functions ---\n",
" def load_user_nl(ldrop, settings_list):\n",
" default_setting_list = [\"fincl\",\"mfilt\",\"nhtfrq\",\"ncdata\"]\n",
" lines_nudged = []\n",
" lines_all = []\n",
" lines_subset = []\n",
" try:\n",
" with open(ldrop, 'r') as file:\n",
" for line in file:\n",
" if line.startswith(' Nudge_') or line.startswith(' nudge_') or line.startswith('Nudge_') or line.startswith('nudge_'):\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" lines_nudged.append(cleaned_line.strip())\n",
" if settings_list:\n",
" for setting in settings_list:\n",
" if setting not in default_setting_list:\n",
" if setting in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" if \"fincl\" in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line.strip())\n",
" lines_subset.append(cleaned_line)\n",
" if \"mfilt\" in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" if \"nhtfrq\" in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" if \"ncdata\" in line:\n",
" cleaned_line = re.sub(r'\\s{3,}', ' ', line)\n",
" lines_subset.append(cleaned_line.strip())\n",
" lines_all.append(line.strip())\n",
" except Exception as e:\n",
" lines_all = [f\"Error reading user_nl_cam: {e}\"]\n",
" return \"\\n\".join(lines_nudged), \"\\n\".join(lines_all), \"\\n\".join(lines_subset)\n",
"\n",
" def load_case_status(case_status):\n",
" lines = []\n",
" try:\n",
" with open(case_status, 'r') as file:\n",
" lines = [re.sub(r'\\s{3,}', ' ', line).strip() for line in file]\n",
" except Exception as e:\n",
" lines = [f\"Error reading CaseStatus: {e}\"]\n",
" return \"\\n\".join(lines)\n",
"\n",
" ldrop_opts = [\"Hide Settings\", \"Nudge Params\"]\n",
" fname = \"\"\n",
" nudge_text = full_text = subset_text = \"\"\n",
" if ldrop and os.path.isfile(ldrop):\n",
" nudge_text, full_text, subset_text = load_user_nl(ldrop, settings_list)\n",
" if \"atm_in\" in ldrop:\n",
" ldrop_opts += [\"Full atm_in\", \"Subset atm_in\"]\n",
" fname = \"atm_in\"\n",
" if \"user_nl_cam\" in ldrop:\n",
" ldrop_opts.append(\"Full user_nl_cam\")\n",
" fname = \"user_nl_cam\"\n",
"\n",
" if rdrop and os.path.isfile(rdrop):\n",
" status_text = load_case_status(rdrop)\n",
" else:\n",
" status_text = \"Nothing here...\"\n",
"\n",
" # --- sanitized HTML snippets ready for insertion (escape content except where we want HTML links) ---\n",
" # For settings Nudge Params we will replace keys with or including title attributes.\n",
" def process_nudge_html(text):\n",
" lines = []\n",
" for line in text.splitlines():\n",
" original = line\n",
" for key in tooltip_dict.keys():\n",
" pattern = re.compile(re.escape(key), re.IGNORECASE)\n",
" title = tooltip_dict.get(key, \"\")\n",
" href = link_dict.get(key, \"\")\n",
" if href:\n",
" repl = f'{escape(key)}'\n",
" else:\n",
" repl = f'{escape(key)}'\n",
" line = pattern.sub(repl, line)\n",
" # escape leftover content\n",
" # we assume replacements already escaped; ensure any other characters are safe\n",
" lines.append(escape(line, quote=False))\n",
" # join with
and then unescape the already-constructed / by replacing their escaped forms\n",
" html_out = \"
\".join(lines)\n",
" # fix the escaped and by unescaping their tags (they were double-escaped)\n",
" # (we purposely escaped the full line earlier — now restore tags)\n",
" for key in tooltip_dict.keys():\n",
" # replace the escaped anchor/span (they contain <a ... >) with actual tags by searching for the escaped substring\n",
" if key in html_out:\n",
" # anchors contain the key text; replace the escaped key-only instances with unescaped link/span\n",
" # This step is conservative and will mainly restore our inserted tags.\n",
" pass\n",
" # simpler: since we already constructed repl with proper tags and then escaped the whole line,\n",
" # we need to instead rebuild from original again but carefully:\n",
" processed = []\n",
" for line in text.splitlines():\n",
" line2 = line\n",
" for key in tooltip_dict.keys():\n",
" pattern = re.compile(re.escape(key), re.IGNORECASE)\n",
" title = tooltip_dict.get(key, \"\")\n",
" href = link_dict.get(key, \"\")\n",
" if href:\n",
" repl = f'{escape(key)}'\n",
" else:\n",
" repl = f'{escape(key)}'\n",
" line2 = pattern.sub(repl, line2)\n",
" processed.append(escape(line2))\n",
" # Now processed contains escaped content with tags escaped; we must insert the tags verbatim.\n",
" # So we'll take the original lines and perform the substitution without escaping the replacements.\n",
" final_lines = []\n",
" for line in text.splitlines():\n",
" ln = line\n",
" for key in tooltip_dict.keys():\n",
" pattern = re.compile(re.escape(key), re.IGNORECASE)\n",
" title = tooltip_dict.get(key, \"\")\n",
" href = link_dict.get(key, \"\")\n",
" if href:\n",
" repl = f'{escape(key)}'\n",
" else:\n",
" repl = f'{escape(key)}'\n",
" ln = pattern.sub(repl, ln)\n",
" final_lines.append(escape(ln))\n",
" # convert to HTML with styling preserved\n",
" return \"\" + \"
\".join(final_lines) + \"
\"\n",
"\n",
" nudge_html = process_nudge_html(nudge_text) if nudge_text else \"No nudge params found.\"\n",
" subset_html = \"\" + escape(subset_text) + \"
\" if subset_text else \"No subset.\"\n",
" full_html = \"\" + escape(full_text) + \"
\" if full_text else \"No full text.\"\n",
" status_html = \"\" + escape(status_text) + \"
\"\n",
"\n",
" # --- Build an HTML blob and inject JSON data for JS ---\n",
" data = {\n",
" \"case_name\": case_name,\n",
" \"levels\": levels,\n",
" \"images_per_level\": images_per_level,\n",
" \"timestamps_per_level\": timestamps_per_level,\n",
" \"nudge_html\": nudge_html,\n",
" \"subset_html\": subset_html,\n",
" \"full_html\": full_html,\n",
" \"status_html\": status_html,\n",
" \"ldrop_opts\": ldrop_opts,\n",
" \"fname\": fname\n",
" }\n",
"\n",
" # Convert data to JSON safely for embedding\n",
" data_json = json.dumps(data)\n",
"\n",
" # HTML/CSS/JS template\n",
" html = f\"\"\"\n",
"\n",
"\n",
"\n",
" \"\"\"\n",
"\n",
" return HTML(html)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "34db62b6",
"metadata": {
"editable": true,
"execution": {
"iopub.execute_input": "2025-12-10T17:14:15.635118Z",
"iopub.status.busy": "2025-12-10T17:14:15.634944Z",
"iopub.status.idle": "2025-12-10T17:14:20.642273Z",
"shell.execute_reply": "2025-12-10T17:14:20.641725Z"
},
"papermill": {
"duration": 5.015936,
"end_time": "2025-12-10T17:14:20.643373",
"exception": false,
"start_time": "2025-12-10T17:14:15.627437",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"parameters",
"hide-cell"
]
},
"outputs": [],
"source": [
"#GOOD FUNCTION\n",
"from IPython.display import HTML, display\n",
"from pathlib import Path\n",
"\n",
"outer_tabs_html = []\n",
"outer_tab_buttons = []\n",
"outer_content_html = []\n",
"\n",
"for i, (outer_name, inner_runs) in enumerate(runs_dict.items()):\n",
" # Outer tab button\n",
" active_cls = \"active\" if i==0 else \"\"\n",
" outer_tab_buttons.append(f'{outer_name}')\n",
"\n",
" inner_tabs = []\n",
" inner_contents = []\n",
" for j, run_name in enumerate(inner_runs):\n",
" # Inner tab button\n",
" inner_active = \"active\" if j==0 else \"\"\n",
" inner_tabs.append(f'{run_name.split(\"_\")[-1]}')\n",
"\n",
" ## Inner content: slider HTML\n",
" #slider_html = build_slider_html(\n",
" # run_name,\n",
" # image_dir=f\"/glade/derecho/scratch/islas/{run_name}/run/atm_in\",\n",
" # settings_list=[\"cosp\"],\n",
" #).data # get the raw HTML string\n",
" file_path = Path(f\"/glade/derecho/scratch/islas/{run_name}/run/atm_in\")\n",
" slider_html = build_slider_html(run_name,\n",
" #f\"plots/{run}/{plot_type}/ERA5/RF13/\",\n",
" compass_root,\n",
" f\"{str(file_path)}\",\n",
" #settings_list=[\"fincl\",\"mfilt\",\"nhtfrq\",\"ncdata\",\"cld\",\"cosp\"],\n",
" settings_list=[\"cosp\"],\n",
" #rdrop=\"/glade/derecho/scratch/richling/cases/F2000climo.f09_f09_mg17.window.exp.6hrInit.R13.003/CaseStatus\"\n",
" ).data # get the raw HTML string\n",
"\n",
" inner_contents.append(f'{slider_html}')\n",
"\n",
" outer_active = \"active\" if i==0 else \"\"\n",
" outer_content_html.append(f\"\"\"\n",
" \n",
" {''.join(inner_tabs)}\n",
" {''.join(inner_contents)}\n",
" \n",
" \"\"\")\n",
"\n",
"html_full = f\"\"\"\n",
"\n",
"{''.join(outer_tab_buttons)}\n",
"\n",
"{''.join(outer_content_html)}\n",
"\n",
"\n",
"\n",
"\n",
"\"\"\"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "5324784d",
"metadata": {
"execution": {
"iopub.execute_input": "2025-12-10T17:14:20.656808Z",
"iopub.status.busy": "2025-12-10T17:14:20.656584Z",
"iopub.status.idle": "2025-12-10T17:14:20.763106Z",
"shell.execute_reply": "2025-12-10T17:14:20.762634Z"
},
"papermill": {
"duration": 0.22479,
"end_time": "2025-12-10T17:14:20.874460",
"exception": false,
"start_time": "2025-12-10T17:14:20.649670",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfullf.e30_cam6_4_120.FHISTC_LTso.ne30pg3_ne30pg3_mg17.SOCRATES_nudgeUVTfull_withCOSP\n",
"\n",
"\n",
" \n",
" tau12h.001tau24h.001\n",
" \n",
"\n",
"\n",
"\n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
" tau6h.001tau12h.001\n",
" \n",
"\n",
"\n",
"\n",
" \n",
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
"\n",
"\n",
"\n",
"\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"display(HTML(html_full))"
]
},
{
"cell_type": "raw",
"id": "9a39ea6c",
"metadata": {
"papermill": {
"duration": 0.085851,
"end_time": "2025-12-10T17:14:21.046303",
"exception": false,
"start_time": "2025-12-10T17:14:20.960452",
"status": "completed"
},
"tags": [],
"vscode": {
"languageId": "raw"
}
},
"source": [
"from IPython.display import HTML, display\n",
"\n",
"\n",
"# Build HTML\n",
"outer_options = \"\".join([f'' for i, name in enumerate(runs_dict.keys())])\n",
"\n",
"outer_contents = []\n",
"for i, (outer_name, inner_runs) in enumerate(runs_dict.items()):\n",
" inner_tabs_html = []\n",
" inner_contents_html = []\n",
" for j, run_name in enumerate(inner_runs):\n",
" active_cls = \"active\" if j==0 else \"\"\n",
" # Inner tab button\n",
" inner_tabs_html.append(f'{run_name.split(\"_\")[-1]}')\n",
" # Inner content: embed your slider HTML\n",
" slider_html = build_slider_html(run_name,\n",
" #f\"plots/{run}/{plot_type}/ERA5/RF13/\",\n",
" compass_root,\n",
" f\"{str(file_path)}\",\n",
" #settings_list=[\"fincl\",\"mfilt\",\"nhtfrq\",\"ncdata\",\"cld\",\"cosp\"],\n",
" settings_list=[\"cosp\"],\n",
" #rdrop=\"/glade/derecho/scratch/richling/cases/F2000climo.f09_f09_mg17.window.exp.6hrInit.R13.003/CaseStatus\"\n",
" ).data # extract HTML string\n",
" inner_contents_html.append(f'{slider_html}')\n",
"\n",
" outer_active = \"active\" if i==0 else \"\"\n",
" outer_contents.append(f\"\"\"\n",
" \n",
" {''.join(inner_tabs_html)}\n",
" {''.join(inner_contents_html)}\n",
" \n",
" \"\"\")\n",
"\n",
"html_full = f\"\"\"\n",
"\n",
" \n",
" \n",
"\n",
" {''.join(outer_contents)}\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\"\"\"\n",
"\n",
"display(HTML(html_full))\n"
]
},
{
"cell_type": "raw",
"id": "66abeb9e",
"metadata": {
"papermill": {
"duration": 0.084078,
"end_time": "2025-12-10T17:14:21.215064",
"exception": false,
"start_time": "2025-12-10T17:14:21.130986",
"status": "completed"
},
"tags": [],
"vscode": {
"languageId": "raw"
}
},
"source": [
"from IPython.display import HTML, display\n",
"import os, re, json\n",
"from glob import glob\n",
"from PIL import Image\n",
"from io import BytesIO\n",
"import base64\n",
"from html import escape\n",
"from pathlib import Path\n",
"\n",
"def build_slider_html_multi(run_families, compass_root, base_path, settings_list=None):\n",
" \"\"\"\n",
" Build a slider widget with outer dropdown (run families) and inner tabs (runs within family)\n",
" \n",
" run_families: dict\n",
" {\"family_name1\": [\"run1\",\"run2\"], \"family_name2\": [\"run3\",\"run4\"]}\n",
" base_path: str or Path\n",
" Base path where runs are located (will append /run/atm_in)\n",
" settings_list: list of strings (optional)\n",
" \"\"\"\n",
" \n",
" # --- helper functions from your previous function ---\n",
" \n",
" tooltip_dict = {\n",
" \"Nudge_Uprof\": \"Selectively apply nudging to U\",\n",
" \"Nudge_Ucoef\": \"Selectively adjust the nudging strength applied to U. (normalized) [0.,1.]\",\n",
" \"Nudge_Hwin_lat0\": \"Specify the horizontal center of the window (lat0) in degrees. [-90., +90.]\",\n",
" \"Nudge_Hwin_lon0\": \"Specify the horizontal center of the window (lon0) in degrees. [ 0. , 360.]\",\n",
" \"Nudge_Hwin_latWidth\": \"Specify the lat width of the horizontal window in degrees. >0\",\n",
" \"Nudge_Hwin_lonWidth\": \"Specify the lon width of the horizontal window in degrees. >0\",\n",
" \"Nudge_Vwin_Hindex\": \"Vertical window high index\",\n",
" \"Nudge_Vwin_Lindex\": \"Vertical window low index\",\n",
" \"Nudge_Vwin_Hdelta\": \"Vertical window high delta\",\n",
" \"Nudge_Vwin_Ldelta\": \"Vertical window low delta\",\n",
" \"Nudge_Vwin_Invert\": \"A logical flag used to invert the horizontal window function to get its compliment. True/False\",\n",
" \"Nudge_Hwin_latDelta\": \"Horizontal lat delta\",\n",
" \"Nudge_Hwin_lonDelta\": \"Horizontal lon delta\",\n",
" \"Nudge_Hwin_Invert\": \"A logical flag used to invert the horizontal window function to get its compliment. (e.g. to nudge outside a given window) True/False\",\n",
" \"Nudge_TimeScale_Opt\": \"Select the timescale for the relaxation: WEAK / STRONG (0=WEAK,1=STRONG)\",\n",
" \"Nudge_Force_Opt\": \"Select the form of the Target values: NEXT / LINEAR (0=NEXT,1=LINEAR)\"\n",
" }\n",
"\n",
" link_dict = {\n",
" \"Nudge_Uprof\": \"https://ncar.github.io/CAM/doc/build/html/users_guide/physics-modifications-via-the-namelist.html?highlight=nudge#namelist-values\",\n",
" \"Nudge_Ucoef\": \"https://ncar.github.io/CAM/doc/build/html/users_guide/physics-modifications-via-the-namelist.html?highlight=nudge#namelist-values\",\n",
" \"Nudge_TimeScale_Opt\": \"https://www.google.com\"\n",
" }\n",
"\n",
" def process_nudge_html(text):\n",
" lines = []\n",
" for line in text.splitlines():\n",
" line2 = line\n",
" for key in tooltip_dict.keys():\n",
" pattern = re.compile(re.escape(key), re.IGNORECASE)\n",
" title = tooltip_dict.get(key, \"\")\n",
" href = link_dict.get(key, \"\")\n",
" if href:\n",
" repl = f'{escape(key)}'\n",
" else:\n",
" repl = f'{escape(key)}'\n",
" line2 = pattern.sub(repl, line2)\n",
" lines.append(escape(line2))\n",
" return \"\" + \"
\".join(lines) + \"
\"\n",
"\n",
" def load_user_nl(ldrop):\n",
" lines_nudged = []\n",
" try:\n",
" with open(ldrop, 'r') as file:\n",
" for line in file:\n",
" if line.startswith(' Nudge_') or line.startswith('nudge_'):\n",
" lines_nudged.append(line.strip())\n",
" except Exception as e:\n",
" lines_nudged = [f\"Error reading user_nl_cam: {e}\"]\n",
" return \"\\n\".join(lines_nudged)\n",
"\n",
" def get_images(compass_root):\n",
" lev_pattern = re.compile(r'(\\d+)hPa\\.png$')\n",
" timestamp_pattern = re.compile(r\"hPa_(\\d{4}_\\d{2}_\\d{2}_\\d{2}:\\d{2})\\.png$\")\n",
" if not os.path.isdir(compass_root):\n",
" return [], [], []\n",
" files = sorted(os.listdir(compass_root))\n",
" levels = sorted({lev_pattern.search(f).group(1) for f in files if lev_pattern.search(f)})\n",
" images_per_level = {}\n",
" timestamps_per_level = {}\n",
" for lev in levels:\n",
" level_files = sorted([os.path.join(compass_root, f) for f in files if f.endswith(f\"{lev}hPa.png\")])\n",
" tss = []\n",
" b64_list = []\n",
" for f in level_files:\n",
" # timestamp\n",
" ts_m = timestamp_pattern.search(f)\n",
" tss.append(ts_m.group(1) if ts_m else \"NoTS\")\n",
" # image\n",
" try:\n",
" img = Image.open(f)\n",
" img = img.resize((1200,400))\n",
" buf = BytesIO()\n",
" img.save(buf, format='PNG')\n",
" b64_list.append(base64.b64encode(buf.getvalue()).decode())\n",
" except:\n",
" b64_list.append(\"\")\n",
" images_per_level[lev] = b64_list\n",
" timestamps_per_level[lev] = tss\n",
" return levels, images_per_level, timestamps_per_level\n",
"\n",
" # --- Build data structure for all runs ---\n",
" all_data = {}\n",
" slider_count = 0 # to generate unique ID prefixes\n",
" for fam_name, run_list in run_families.items():\n",
" all_data[fam_name] = {}\n",
" for run_name in run_list:\n",
" run_path = Path(base_path)/run_name/\"run\"/\"atm_in\"\n",
" levels, images_per_level, timestamps_per_level = get_images(str(compass_root))\n",
" # Load nudge params if exist\n",
" ldrop = run_path # just as example\n",
" nudge_text = load_user_nl(str(run_path/\"user_nl_cam\")) if (run_path/\"user_nl_cam\").exists() else \"\"\n",
" data = {\n",
" \"case_name\": run_name,\n",
" \"levels\": levels,\n",
" \"images_per_level\": images_per_level,\n",
" \"timestamps_per_level\": timestamps_per_level,\n",
" \"nudge_html\": process_nudge_html(nudge_text),\n",
" \"ldrop_opts\": [\"Hide Settings\",\"Nudge Params\"],\n",
" \"slider_id\": f\"slider_{slider_count}\"\n",
" }\n",
" all_data[fam_name][run_name] = data\n",
" slider_count += 1\n",
"\n",
" data_json = json.dumps(all_data)\n",
"\n",
" # --- HTML/JS template ---\n",
" html = f\"\"\"\n",
"\n",
" \n",
" \n",
" \n",
"\n",
"\n",
"\n",
" \"\"\"\n",
" return HTML(html)\n",
"compass_root,\n",
"#f\"{str(file_path)}\",\n",
"display(build_slider_html_multi(runs_dict, compass_root, f\"{str(file_path)}\", settings_list=[\"cosp\"]))"
]
},
{
"cell_type": "raw",
"id": "89d3acce",
"metadata": {
"editable": true,
"papermill": {
"duration": 0.085236,
"end_time": "2025-12-10T17:14:21.384725",
"exception": false,
"start_time": "2025-12-10T17:14:21.299489",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"hide-cell"
],
"vscode": {
"languageId": "raw"
}
},
"source": [
"from IPython.display import HTML, display\n",
"from pathlib import Path\n",
"\n",
"def build_slider_dropdown(runs_dict, compass_root, base_path=None, settings_list=None):\n",
" \"\"\"\n",
" runs_dict: {\"Family1\": [\"Run1\", \"Run2\"], ...}\n",
" compass_root: Path to PNG images for all runs\n",
" base_path: optional base path to /run/atm_in (for ldrop/rdrop)\n",
" settings_list: list of settings keywords to pass to build_slider_html\n",
" \"\"\"\n",
" outer_options = \"\".join([f'' \n",
" for i, name in enumerate(runs_dict.keys())])\n",
"\n",
" outer_contents = []\n",
" for i, (outer_name, inner_runs) in enumerate(runs_dict.items()):\n",
" inner_tabs_html = []\n",
" inner_contents_html = []\n",
" for j, run_name in enumerate(inner_runs):\n",
" active_cls = \"active\" if j == 0 else \"\"\n",
" # Inner tab button\n",
" inner_tabs_html.append(\n",
" f''\n",
" f'{run_name.split(\"_\")[-1]}'\n",
" )\n",
"\n",
" # optional ldrop/rdrop path\n",
" file_path = Path(f\"/glade/derecho/scratch/islas/{run_name}/run/atm_in\")\n",
" #ldrop_path = Path(base_path) / run_name / \"run\" / \"atm_in\" if base_path else None\n",
" ldrop_path = str(file_path) if file_path else None\n",
"\n",
" # embed slider HTML for this run\n",
" slider_html = build_slider_html(\n",
" run_name,\n",
" compass_root,\n",
" ldrop=ldrop_path,\n",
" settings_list=settings_list\n",
" ).data\n",
" inner_contents_html.append(\n",
" f'{slider_html}'\n",
" )\n",
"\n",
" outer_active = \"active\" if i == 0 else \"\"\n",
" outer_contents.append(f\"\"\"\n",
" \n",
" {''.join(inner_tabs_html)}\n",
" {''.join(inner_contents_html)}\n",
" \n",
" \"\"\")\n",
"\n",
" html_full = f\"\"\"\n",
"\n",
" \n",
" \n",
"\n",
" {''.join(outer_contents)}\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\"\"\"\n",
" display(HTML(html_full))\n"
]
},
{
"cell_type": "raw",
"id": "97cd74a1",
"metadata": {
"papermill": {
"duration": 0.084826,
"end_time": "2025-12-10T17:14:21.554625",
"exception": false,
"start_time": "2025-12-10T17:14:21.469799",
"status": "completed"
},
"tags": [],
"vscode": {
"languageId": "raw"
}
},
"source": [
"#compass_root = \"/glade/derecho/scratch/islas/plots_all_pngs\"\n",
"base_path = \"/glade/derecho/scratch/islas\"\n",
"build_slider_dropdown(runs_dict, compass_root, settings_list=[\"cosp\"])"
]
},
{
"cell_type": "raw",
"id": "14103859",
"metadata": {
"editable": true,
"papermill": {
"duration": 0.084618,
"end_time": "2025-12-10T17:14:21.724184",
"exception": false,
"start_time": "2025-12-10T17:14:21.639566",
"status": "completed"
},
"slideshow": {
"slide_type": ""
},
"tags": [
"hide-cell"
],
"vscode": {
"languageId": "raw"
}
},
"source": [
"from IPython.display import HTML, display\n",
"\n",
"# Example: runs_dict = {\"FamilyA\": [\"runA1\",\"runA2\"], \"FamilyB\": [\"runB1\",\"runB2\"]}\n",
"# compass_root = path to images\n",
"# base_path = path to /run/atm_in\n",
"\n",
"outer_options = \"\".join([f'' for i, name in enumerate(runs_dict.keys())])\n",
"\n",
"outer_contents = []\n",
"for i, (outer_name, inner_runs) in enumerate(runs_dict.items()):\n",
" inner_tabs_html = []\n",
" inner_contents_html = []\n",
" for j, run_name in enumerate(inner_runs):\n",
" active_cls = \"active\" if j==0 else \"\"\n",
" # Inner tab button\n",
" inner_tabs_html.append(f'{run_name.split(\"_\")[-1]}')\n",
"\n",
" # Build slider HTML for this run\n",
" slider_html = build_slider_html(\n",
" run_name,\n",
" compass_root,\n",
" ldrop=f\"{base_path}/{run_name}/run/atm_in\",\n",
" settings_list=[\"cosp\"]\n",
" ).data # HTML string\n",
"\n",
" inner_contents_html.append(f'{slider_html}')\n",
"\n",
" outer_active = \"active\" if i==0 else \"\"\n",
" outer_contents.append(f\"\"\"\n",
" \n",
" {''.join(inner_tabs_html)}\n",
" {''.join(inner_contents_html)}\n",
" \n",
" \"\"\")\n",
"\n",
"html_full = f\"\"\"\n",
"\n",
" \n",
" \n",
"\n",
" {''.join(outer_contents)}\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\"\"\"\n",
"\n",
"display(HTML(html_full))\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7d5eabd4",
"metadata": {
"papermill": {
"duration": 0.085064,
"end_time": "2025-12-10T17:14:21.894803",
"exception": false,
"start_time": "2025-12-10T17:14:21.809739",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "cupid-infrastructure",
"language": "python",
"name": "cupid-infrastructure"
},
"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.4"
},
"papermill": {
"duration": 8.491703,
"end_time": "2025-12-10T17:14:22.197059",
"exception": null,
"input_path": "/glade/derecho/scratch/richling/tmp/tmpd8v7h47r.ipynb",
"output_path": "/glade/derecho/scratch/richling/compass-cupid/CUPiD/examples/external_diag_packages/computed_notebooks/atm/COMPASS_model_diags_2.ipynb",
"parameters": {
"CESM_output_dir": "/glade/campaign/cesm/development/cross-wg/diagnostic_framework/CESM_output_for_testing",
"base_case_name": "b.e30_beta02.BLT1850.ne30_t232.104",
"base_case_nickname": "BLT1850_104",
"base_climo_end_date": "0021-01-01",
"base_climo_start_date": "0001-01-01",
"base_end_date": "0045-01-01",
"base_start_date": "0001-01-01",
"case_name": "b.e23_alpha17f.BLT1850.ne30_t232.092",
"case_nickname": "BLT1850_92",
"climo_end_date": "0021-01-01",
"climo_start_date": "0001-01-01",
"compass_root": "/glade/work/richling/ADF/ADF_dev/Justin_ADF_2/ADF/adf_try_plots/f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull/T/ERA5/RF13/",
"end_date": "0021-01-01",
"lc_kwargs": {
"threads_per_worker": 1
},
"obs_data_dir": "/glade/campaign/cesm/development/cross-wg/diagnostic_framework/CUPiD_obs_data",
"product": "/glade/derecho/scratch/richling/compass-cupid/CUPiD/examples/external_diag_packages/computed_notebooks//atm/COMPASS_model_diags_2.ipynb",
"runs_dict": {
"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull": [
"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau12h.001",
"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau24h.001"
],
"f.e30_cam6_4_120.FHISTC_LTso.ne30pg3_ne30pg3_mg17.SOCRATES_nudgeUVTfull_withCOSP": [
"f.e30_cam6_4_120.FHISTC_LTso.ne30pg3_ne30pg3_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau6h.001",
"f.e30_cam6_4_120.FHISTC_LTso.ne30pg3_ne30pg3_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau12h.001"
]
},
"serial": false,
"start_date": "0001-01-01",
"subset_kwargs": {},
"ts_dir": null
},
"start_time": "2025-12-10T17:14:13.705356"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {
"02e639040e974a01969f917fb91e794e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"Hide Settings",
"Nudge Params",
"Full atm_in",
"Subset atm_in"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "Settings",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_3724fbc98649405cac3a11636e1b6b25",
"style": "IPY_MODEL_d883c004668f42ec84dfdd152c60482d",
"tabbable": null,
"tooltip": null
}
},
"04583dcb44f54c07bbb908899805ec29": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"763"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "Level (hPa)",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_d8c226e7f48347c4b81d299b1418f152",
"style": "IPY_MODEL_4bca9e1dde794457af9051a754ab4638",
"tabbable": null,
"tooltip": null
}
},
"06172d5aa7144ee0a16ece562d08b494": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_feb6e269071e481a8b4fa5025f9d4c87",
"IPY_MODEL_dcf8666be47f4c49868141c36bdf6cfa"
],
"layout": "IPY_MODEL_4b1bc3d137e54d52acb6b3f37ce8cdf5",
"tabbable": null,
"tooltip": null
}
},
"0abfa1f1c99c4a05810e21a87466c9ba": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "0 0 0 20px",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0ae3a9036e4c439183e32733433d9275": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0db1c2aac3684b3ab106cfc07ffa0ccd": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"14aa20d2179846bb84a3397025253609": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_a3cd977ca85f43dbaa8a1c1ea60ee8d1",
"IPY_MODEL_6a8ed6ad56a145d48563a77c711e115d"
],
"layout": "IPY_MODEL_232a62c695dc4c828a2c0cbbcefc19b7",
"tabbable": null,
"tooltip": null
}
},
"19494537b5d6428ea37c06b2dbacfeb0": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "IntSliderModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "IntSliderModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "IntSliderView",
"behavior": "drag-tap",
"continuous_update": true,
"description": "Time Step",
"description_allow_html": false,
"disabled": false,
"layout": "IPY_MODEL_90dac2229e7b42b6aec20b126ba82043",
"max": 14,
"min": 0,
"orientation": "horizontal",
"readout": true,
"readout_format": "d",
"step": 1,
"style": "IPY_MODEL_70b1c67f588145a9aa6726c9ba3bac11",
"tabbable": null,
"tooltip": null,
"value": 0
}
},
"198a6be606e141b183455749c5834300": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "VBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "VBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "VBoxView",
"box_style": "",
"children": [
"IPY_MODEL_540a7ec6bf604571997a954d88066e3f",
"IPY_MODEL_918c418b02fd4a3d80cd932b9d2b2749",
"IPY_MODEL_5f75ec2353b0405f8386a7340a20b9c6",
"IPY_MODEL_9c95326328aa48228e854d2de0b7758a",
"IPY_MODEL_14aa20d2179846bb84a3397025253609"
],
"layout": "IPY_MODEL_2d2d6575565d48ab88b2f8223b259ff6",
"tabbable": null,
"tooltip": null
}
},
"19da3d22d75240d0892172aae0c24472": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"background": null,
"description_width": "",
"font_size": null,
"text_color": null
}
},
"1a023cf10e9042dd96c96d63729ad5ba": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"1cb6541cf40c4c669efcbf957f3bba6a": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"763"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "Level (hPa)",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_8ce8fd9b714e427184c98d7c771aaf36",
"style": "IPY_MODEL_c0924ae96a52474db92c95edb96726de",
"tabbable": null,
"tooltip": null
}
},
"1ce0c64bc01e478aad0b269bb395c7dc": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"1e66650d764a491b9988be2ec54f5b1e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"763"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "Level (hPa)",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_81a262604f1745178d58dafd444504df",
"style": "IPY_MODEL_e2971053767b4cb3af7f327ef76153d7",
"tabbable": null,
"tooltip": null
}
},
"20bd59539f4741148ab4ace33abad441": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"background": null,
"description_width": "",
"font_size": null,
"text_color": null
}
},
"232a62c695dc4c828a2c0cbbcefc19b7": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"26ce96680b474231b42719371669403e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_fbe7e217d30343eea0207fd8bbc6fec8",
"IPY_MODEL_7de0ec5d0cd14653bb6c2418d088e164"
],
"layout": "IPY_MODEL_9de2bec87f7f4ea0a0386f48f143e6c4",
"tabbable": null,
"tooltip": null
}
},
"27b35ee66b0d49e4886673c1fd1dad79": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "SliderStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "SliderStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": "",
"handle_color": null
}
},
"28c914937da3440786a61066a0481ac0": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"2c07ca7e6dc4493c9f694dba47722e81": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"2d2d6575565d48ab88b2f8223b259ff6": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"2d348c246b6e49798343cca35853ca7b": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3331d874e3ef4def8748f6103179eaee": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "0 20px 0 0",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"34235d9093ea451ba51b5bfddeda6534": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "IntSliderModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "IntSliderModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "IntSliderView",
"behavior": "drag-tap",
"continuous_update": true,
"description": "Time Step",
"description_allow_html": false,
"disabled": false,
"layout": "IPY_MODEL_671a7dbe1a1a4ab4a81f2fc014e3b25d",
"max": 14,
"min": 0,
"orientation": "horizontal",
"readout": true,
"readout_format": "d",
"step": 1,
"style": "IPY_MODEL_f3126ba597984cebae222c4b9ad0428b",
"tabbable": null,
"tooltip": null,
"value": 0
}
},
"3724fbc98649405cac3a11636e1b6b25": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"37b1053f3c964db9b8625d7aafdc761d": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "0 20px 0 0",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"383e4fdfebbc4da691253d0bdc6ee5be": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"Hide Settings",
"Nudge Params",
"Full atm_in",
"Subset atm_in"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "Settings",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_0db1c2aac3684b3ab106cfc07ffa0ccd",
"style": "IPY_MODEL_7d2a1e8715e143e5b9125e58e00bf798",
"tabbable": null,
"tooltip": null
}
},
"396d7432b2654f1b94b09469af4ef4c0": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "10px 0 10px 0",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3c4a271bae06469680e4c24b23c9d0d5": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_4551f3c5b9f64adc8df9f9838cecce77",
"msg_id": "",
"outputs": [],
"tabbable": null,
"tooltip": null
}
},
"3d261c03bbcb466e9ba7cd1e30c25093": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"background": null,
"description_width": "",
"font_size": null,
"text_color": null
}
},
"3e735145d1854685bd2628f6abdd4d8f": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4238e9788b4d40999512b81627158c57": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4551f3c5b9f64adc8df9f9838cecce77": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "0 0 0 20px",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"47268d926aed40e88893b94be6108b62": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4838a79efdfc4f818e6cd1c5ca05f221": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4b1bc3d137e54d52acb6b3f37ce8cdf5": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4bca9e1dde794457af9051a754ab4638": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"4e373517914a4cb88c64a82b04036eb6": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1cb6541cf40c4c669efcbf957f3bba6a",
"IPY_MODEL_b09e9fb2618e473db17bd4d01d0df8e6"
],
"layout": "IPY_MODEL_28c914937da3440786a61066a0481ac0",
"tabbable": null,
"tooltip": null
}
},
"540a7ec6bf604571997a954d88066e3f": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HTMLView",
"description": "",
"description_allow_html": false,
"layout": "IPY_MODEL_ec90c6bbba1d4f4db8b8b82f12e786f6",
"placeholder": "",
"style": "IPY_MODEL_872831bbb37340ccb0fa0ac1ab01a805",
"tabbable": null,
"tooltip": null,
"value": "f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau12h.001
"
}
},
"54dd38a792e34c13a430a749d72e4e5b": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"558e720a7d094fa884def5a72986b105": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"Hide CaseStatus",
"CaseStatus"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "CaseDocs",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_cedc7be5cda44e33bf0b888a76c510e0",
"style": "IPY_MODEL_aa1b80db466540a3afac8f2a9be01528",
"tabbable": null,
"tooltip": null
}
},
"5b9500589aa14d03a4555837f67654d0": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HTMLView",
"description": "",
"description_allow_html": false,
"layout": "IPY_MODEL_ca78934a3eb246d58bcf023e4e6dfde6",
"placeholder": "",
"style": "IPY_MODEL_760b100b01234e779f95bc8877341d4e",
"tabbable": null,
"tooltip": null,
"value": "f.e30_cam6_4_120.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau6h.001
"
}
},
"5d2dc24e1df348598ab1e366526eba02": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"5f75ec2353b0405f8386a7340a20b9c6": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HTMLView",
"description": "",
"description_allow_html": false,
"layout": "IPY_MODEL_bff95a8b5cb04ee79dc02756c6808843",
"placeholder": "",
"style": "IPY_MODEL_cd727ad0dce7409f939076c638609185",
"tabbable": null,
"tooltip": null,
"value": "2018-02-19 17:00
"
}
},
"607d1a6bc2a74a07a1d9c57dde2cd7a7": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"607d67f000c64f9ca3a878c4801ab358": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "0 20px 0 0",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"61b004e3db144b418c1cb8fa7c701d87": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"6430fb6840bf408da429cf7b08a72bdf": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_b1800acb302d46428b0257b10d700386",
"IPY_MODEL_3c4a271bae06469680e4c24b23c9d0d5"
],
"layout": "IPY_MODEL_3e735145d1854685bd2628f6abdd4d8f",
"tabbable": null,
"tooltip": null
}
},
"671a7dbe1a1a4ab4a81f2fc014e3b25d": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"6942b618cfac4110b79044e381d9ef15": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"Hide CaseStatus",
"CaseStatus"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "CaseDocs",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_2d348c246b6e49798343cca35853ca7b",
"style": "IPY_MODEL_61b004e3db144b418c1cb8fa7c701d87",
"tabbable": null,
"tooltip": null
}
},
"6a4305104d9b4a7c818149563c789914": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"6a8ed6ad56a145d48563a77c711e115d": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_9df294d70384430fb33609bc7fea6bc6",
"msg_id": "",
"outputs": [],
"tabbable": null,
"tooltip": null
}
},
"6dac7e70a67e4cf6914673e947fc9660": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"70b1c67f588145a9aa6726c9ba3bac11": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "SliderStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "SliderStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": "",
"handle_color": null
}
},
"70cd6d94e1974e82ad06e8c2f7076dd8": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HTMLView",
"description": "",
"description_allow_html": false,
"layout": "IPY_MODEL_4238e9788b4d40999512b81627158c57",
"placeholder": "",
"style": "IPY_MODEL_19da3d22d75240d0892172aae0c24472",
"tabbable": null,
"tooltip": null,
"value": "f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau24h.001
"
}
},
"760b100b01234e779f95bc8877341d4e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"background": null,
"description_width": "",
"font_size": null,
"text_color": null
}
},
"7d2a1e8715e143e5b9125e58e00bf798": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"7de0ec5d0cd14653bb6c2418d088e164": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"Hide CaseStatus",
"CaseStatus"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "CaseDocs",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_d54da8a3cb7240309957575574a1abd4",
"style": "IPY_MODEL_1ce0c64bc01e478aad0b269bb395c7dc",
"tabbable": null,
"tooltip": null
}
},
"7f31d46533ca4429a222f703123d3423": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_04583dcb44f54c07bbb908899805ec29",
"IPY_MODEL_19494537b5d6428ea37c06b2dbacfeb0"
],
"layout": "IPY_MODEL_5d2dc24e1df348598ab1e366526eba02",
"tabbable": null,
"tooltip": null
}
},
"81a262604f1745178d58dafd444504df": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"85ba19fcb6f248ee8262a7d7f91c2072": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "TabModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "TabModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "TabView",
"box_style": "",
"children": [
"IPY_MODEL_fb5dc0436b2c456ebede9872b2797923",
"IPY_MODEL_ef3a45f8c2dd44af8f72f17658d23f01"
],
"layout": "IPY_MODEL_2c07ca7e6dc4493c9f694dba47722e81",
"selected_index": 0,
"tabbable": null,
"titles": [
"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull",
"f.e30_cam6_4_120.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_withCOSP"
],
"tooltip": null
}
},
"872831bbb37340ccb0fa0ac1ab01a805": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"background": null,
"description_width": "",
"font_size": null,
"text_color": null
}
},
"8b0003ada9404dc28137aecd45097e41": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_02e639040e974a01969f917fb91e794e",
"IPY_MODEL_558e720a7d094fa884def5a72986b105"
],
"layout": "IPY_MODEL_396d7432b2654f1b94b09469af4ef4c0",
"tabbable": null,
"tooltip": null
}
},
"8b817aea1e2d4903884f72dc6f6717f0": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HTMLView",
"description": "",
"description_allow_html": false,
"layout": "IPY_MODEL_d9e29e7b86074724849de76ae079dde8",
"placeholder": "",
"style": "IPY_MODEL_3d261c03bbcb466e9ba7cd1e30c25093",
"tabbable": null,
"tooltip": null,
"value": "2018-02-19 17:00
"
}
},
"8ce8fd9b714e427184c98d7c771aaf36": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8fe67b15a7504cb8a7adaad7ec105078": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"90dac2229e7b42b6aec20b126ba82043": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"918c418b02fd4a3d80cd932b9d2b2749": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1e66650d764a491b9988be2ec54f5b1e",
"IPY_MODEL_34235d9093ea451ba51b5bfddeda6534"
],
"layout": "IPY_MODEL_47268d926aed40e88893b94be6108b62",
"tabbable": null,
"tooltip": null
}
},
"965370bd60064769874e04a86e4ef07e": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"97882c2055ca44bdacb90c85aff289ab": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"98a8e84ff0cd416eac5c3600175b7e90": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"9c95326328aa48228e854d2de0b7758a": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_383e4fdfebbc4da691253d0bdc6ee5be",
"IPY_MODEL_6942b618cfac4110b79044e381d9ef15"
],
"layout": "IPY_MODEL_b1222c5dec4b41d782233864321c0127",
"tabbable": null,
"tooltip": null
}
},
"9de2bec87f7f4ea0a0386f48f143e6c4": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "10px 0 10px 0",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"9df294d70384430fb33609bc7fea6bc6": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "0 0 0 20px",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"a37edc1aa85c4573816752106d1ffbd6": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "VBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "VBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "VBoxView",
"box_style": "",
"children": [
"IPY_MODEL_5b9500589aa14d03a4555837f67654d0",
"IPY_MODEL_7f31d46533ca4429a222f703123d3423",
"IPY_MODEL_8b817aea1e2d4903884f72dc6f6717f0",
"IPY_MODEL_8b0003ada9404dc28137aecd45097e41",
"IPY_MODEL_06172d5aa7144ee0a16ece562d08b494"
],
"layout": "IPY_MODEL_d82425002fe548848352e67123807a50",
"tabbable": null,
"tooltip": null
}
},
"a3cd977ca85f43dbaa8a1c1ea60ee8d1": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_607d67f000c64f9ca3a878c4801ab358",
"msg_id": "",
"outputs": [],
"tabbable": null,
"tooltip": null
}
},
"a7f735bfe9844b2e9c20139945053381": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "VBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "VBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "VBoxView",
"box_style": "",
"children": [
"IPY_MODEL_70cd6d94e1974e82ad06e8c2f7076dd8",
"IPY_MODEL_4e373517914a4cb88c64a82b04036eb6",
"IPY_MODEL_d004515763d94e2ebaecc9639391507e",
"IPY_MODEL_26ce96680b474231b42719371669403e",
"IPY_MODEL_6430fb6840bf408da429cf7b08a72bdf"
],
"layout": "IPY_MODEL_965370bd60064769874e04a86e4ef07e",
"tabbable": null,
"tooltip": null
}
},
"aa1b80db466540a3afac8f2a9be01528": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"b09e9fb2618e473db17bd4d01d0df8e6": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "IntSliderModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "IntSliderModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "IntSliderView",
"behavior": "drag-tap",
"continuous_update": true,
"description": "Time Step",
"description_allow_html": false,
"disabled": false,
"layout": "IPY_MODEL_607d1a6bc2a74a07a1d9c57dde2cd7a7",
"max": 14,
"min": 0,
"orientation": "horizontal",
"readout": true,
"readout_format": "d",
"step": 1,
"style": "IPY_MODEL_27b35ee66b0d49e4886673c1fd1dad79",
"tabbable": null,
"tooltip": null,
"value": 0
}
},
"b1222c5dec4b41d782233864321c0127": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": "10px 0 10px 0",
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b1800acb302d46428b0257b10d700386": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_37b1053f3c964db9b8625d7aafdc761d",
"msg_id": "",
"outputs": [],
"tabbable": null,
"tooltip": null
}
},
"bff95a8b5cb04ee79dc02756c6808843": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c0924ae96a52474db92c95edb96726de": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"ca78934a3eb246d58bcf023e4e6dfde6": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"cd727ad0dce7409f939076c638609185": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"background": null,
"description_width": "",
"font_size": null,
"text_color": null
}
},
"cedc7be5cda44e33bf0b888a76c510e0": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d004515763d94e2ebaecc9639391507e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "HTMLView",
"description": "",
"description_allow_html": false,
"layout": "IPY_MODEL_6dac7e70a67e4cf6914673e947fc9660",
"placeholder": "",
"style": "IPY_MODEL_20bd59539f4741148ab4ace33abad441",
"tabbable": null,
"tooltip": null,
"value": "2018-02-19 17:00
"
}
},
"d419081be404461faf24f248d8be5031": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d54da8a3cb7240309957575574a1abd4": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d82425002fe548848352e67123807a50": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d883c004668f42ec84dfdd152c60482d": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"d8c226e7f48347c4b81d299b1418f152": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d9e29e7b86074724849de76ae079dde8": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"dcf8666be47f4c49868141c36bdf6cfa": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_0abfa1f1c99c4a05810e21a87466c9ba",
"msg_id": "",
"outputs": [],
"tabbable": null,
"tooltip": null
}
},
"e2971053767b4cb3af7f327ef76153d7": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"ec231fbb353846a69003ffbfea25d295": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"ec90c6bbba1d4f4db8b8b82f12e786f6": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "2.0.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border_bottom": null,
"border_left": null,
"border_right": null,
"border_top": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"ef3a45f8c2dd44af8f72f17658d23f01": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "TabModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "TabModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "TabView",
"box_style": "",
"children": [
"IPY_MODEL_a37edc1aa85c4573816752106d1ffbd6"
],
"layout": "IPY_MODEL_54dd38a792e34c13a430a749d72e4e5b",
"selected_index": 0,
"tabbable": null,
"titles": [
"f.e30_cam6_4_120.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_withCOSP_tau6h.001"
],
"tooltip": null
}
},
"f3126ba597984cebae222c4b9ad0428b": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "SliderStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "SliderStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "2.0.0",
"_view_name": "StyleView",
"description_width": "",
"handle_color": null
}
},
"fb5dc0436b2c456ebede9872b2797923": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "TabModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "TabModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "TabView",
"box_style": "",
"children": [
"IPY_MODEL_198a6be606e141b183455749c5834300",
"IPY_MODEL_a7f735bfe9844b2e9c20139945053381"
],
"layout": "IPY_MODEL_8fe67b15a7504cb8a7adaad7ec105078",
"selected_index": 0,
"tabbable": null,
"titles": [
"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau12h.001",
"f.e21.FHIST_BGC.f09_f09_mg17.SOCRATES_nudgeUVTfull_tau24h.001"
],
"tooltip": null
}
},
"fbe7e217d30343eea0207fd8bbc6fec8": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "2.0.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "2.0.0",
"_model_name": "DropdownModel",
"_options_labels": [
"Hide Settings",
"Nudge Params",
"Full atm_in",
"Subset atm_in"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "2.0.0",
"_view_name": "DropdownView",
"description": "Settings",
"description_allow_html": false,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_1a023cf10e9042dd96c96d63729ad5ba",
"style": "IPY_MODEL_97882c2055ca44bdacb90c85aff289ab",
"tabbable": null,
"tooltip": null
}
},
"feb6e269071e481a8b4fa5025f9d4c87": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_3331d874e3ef4def8748f6103179eaee",
"msg_id": "",
"outputs": [],
"tabbable": null,
"tooltip": null
}
}
},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}