{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Parametric Analysis with `MorphingIterator` (v4 Update)\n", "\n", "This notebook demonstrates the most powerful feature of the `pyfwg` library: the `MorphingIterator` class. \n", "\n", "This class is designed for running **parametric studies**, where you need to execute the morphing process multiple times with different parameters (e.g., different GCMs, interpolation methods, or even different EPW files). It uses a Pandas DataFrame to define all the runs in a structured and easy-to-manage way.\n", "\n", "**Note:** `pyfwg` now fully supports **FutureWeatherGenerator v4.0.x** (Global) and **v2.0.x** (Europe), which include a new keyword-based CLI, support for string-based parameter options, and additional output formats (like `'MET'` or `'CSV'`)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Iterator Workflow\n", "\n", "The iterator is designed to be used in a clear, multi-step process that provides control and visibility at each stage:\n", "\n", "1. **Instantiate the Iterator**: Choose which tool you want to work with (`MorphingWorkflowGlobal` or `MorphingWorkflowEurope`).\n", "2. **Set Default Values**: Define parameters that are common to all runs in your batch.\n", "3. **Define the Runs DataFrame**: Specify the parameters that will change for each run, using either an Excel file or a Pandas DataFrame directly.\n", "4. **Generate the Plan & Prepare Workflows**: A single command that applies all defaults, validates the plan, and prepares all the workflow instances for execution.\n", "5. **Execute the Workflows**: A final command to run the entire batch of simulations." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 1: Instantiate the Iterator\n", "\n", "First, we import the necessary classes and create an instance of the `MorphingIterator`. We must tell it which workflow class it will be managing. In this example, we'll use `MorphingWorkflowGlobal`." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-12-31T07:49:54.409973Z", "start_time": "2025-12-31T07:49:53.771645Z" } }, "source": [ "import pandas as pd\n", "import os\n", "from pyfwg import MorphingIterator, MorphingWorkflowGlobal, export_template_to_excel, load_runs_from_excel, get_available_lczs, DEFAULT_GLOBAL_GCMS\n", "\n", "# We specify that we want to use the Global tool for all runs.\n", "iterator = MorphingIterator(workflow_class=MorphingWorkflowGlobal)" ], "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001B[32m2025-12-31 08:49:54 - INFO - MorphingIterator initialized for MorphingWorkflowGlobal.\u001B[0m\n" ] } ], "execution_count": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 2: Pre-flight Checks & Common Parameters\n", "\n", "Before defining a large batch of runs, it's good practice to check which parameters are valid. Here, we'll get the available LCZs for our weather files. Then, we'll use `set_default_values` to define parameters that will be the same for all runs, such as the JAR path and the LCZs we just validated." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-12-31T07:51:16.573898Z", "start_time": "2025-12-31T07:50:48.180831Z" } }, "source": [ "# !!! IMPORTANT: Update this path to your V4 JAR !!!\n", "jar_path = r\"D:\\OneDrive - Universidad de Cádiz (uca.es)\\Programas\\FutureWeatherGenerator_v4.0.2.jar\"\n", "epw_files_dir = 'epws/wo_pattern'\n", "epw_files = [os.path.join(epw_files_dir, f) for f in os.listdir(epw_files_dir) if f.endswith('.epw')]\n", "\n", "# Get available LCZs for each EPW file to ensure our choices are valid.\n", "available_lczs = get_available_lczs(\n", " epw_paths=epw_files,\n", " fwg_jar_path=jar_path,\n", ")" ], "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001B[32m2025-12-31 08:50:48 - INFO - --- Fetching available LCZs for 2 EPW file(s) ---\u001B[0m\n", "\u001B[32m2025-12-31 08:50:48 - INFO - Checking LCZ pair (Original: 0, Target: 0) availability for GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw...\u001B[0m\n", "\u001B[32m2025-12-31 08:50:48 - INFO - --- Applying UHI effect to GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw ---\u001B[0m\n", "\u001B[32m2025-12-31 08:50:48 - INFO - Executing command: java -jar \"D:\\OneDrive - Universidad de Cádiz (uca.es)\\Programas\\FutureWeatherGenerator_v4.0.2.jar\" -u -epw=C:\\Users\\sanga\\AppData\\Local\\Temp\\tmpi4zkf7rl\\GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw -output_folder=C:\\Users\\sanga\\AppData\\Local\\Temp\\tmpi4zkf7rl\\ -uhi=true:0:0 -output_type=EPW\u001B[0m\n", "\u001B[32m2025-12-31 08:51:02 - INFO - Available LCZs for 'GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw': [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 17]\u001B[0m\n", "\u001B[32m2025-12-31 08:51:02 - INFO - Checking LCZ pair (Original: 0, Target: 0) availability for sevilla_in_this_one_the_uhi_is_type-1.epw...\u001B[0m\n", "\u001B[32m2025-12-31 08:51:02 - INFO - --- Applying UHI effect to sevilla_in_this_one_the_uhi_is_type-1.epw ---\u001B[0m\n", "\u001B[32m2025-12-31 08:51:02 - INFO - Executing command: java -jar \"D:\\OneDrive - Universidad de Cádiz (uca.es)\\Programas\\FutureWeatherGenerator_v4.0.2.jar\" -u -epw=C:\\Users\\sanga\\AppData\\Local\\Temp\\tmpilqkeeuq\\sevilla_in_this_one_the_uhi_is_type-1.epw -output_folder=C:\\Users\\sanga\\AppData\\Local\\Temp\\tmpilqkeeuq\\ -uhi=true:0:0 -output_type=EPW\u001B[0m\n", "\u001B[32m2025-12-31 08:51:16 - INFO - Available LCZs for 'sevilla_in_this_one_the_uhi_is_type-1.epw': [2, 3, 6, 8, 9, 11, 12, 13, 14, 16]\u001B[0m\n" ] } ], "execution_count": 2 }, { "metadata": {}, "cell_type": "markdown", "source": "The available LCZs for the epw files are:" }, { "metadata": { "ExecuteTime": { "end_time": "2025-12-31T07:52:07.698523Z", "start_time": "2025-12-31T07:52:07.682253Z" } }, "cell_type": "code", "source": "print(available_lczs)", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw': [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 17], 'sevilla_in_this_one_the_uhi_is_type-1.epw': [2, 3, 6, 8, 9, 11, 12, 13, 14, 16]}\n" ] } ], "execution_count": 3 }, { "metadata": {}, "cell_type": "code", "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001B[32m2025-12-30 10:30:11 - INFO - --- Fetching available LCZs for 2 EPW file(s) ---\u001B[0m\n", "\u001B[32m2025-12-30 10:30:11 - INFO - Checking LCZ pair (Original: 0, Target: 0) availability for GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw...\u001B[0m\n", "\u001B[32m2025-12-30 10:30:11 - INFO - --- Applying UHI effect to GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw ---\u001B[0m\n", "\u001B[32m2025-12-30 10:30:11 - INFO - Executing command: java -jar \"D:\\OneDrive - Universidad de Cádiz (uca.es)\\Programas\\FutureWeatherGenerator_v4.0.2.jar\" -u -epw=C:\\Users\\sanga\\AppData\\Local\\Temp\\tmps4z54yza\\GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw -output_folder=C:\\Users\\sanga\\AppData\\Local\\Temp\\tmps4z54yza\\ -uhi=true:0:0 -output_type=EPW\u001B[0m\n", "\u001B[32m2025-12-30 10:30:26 - INFO - Available LCZs for 'GBR_London.Gatwick.037760_IWEC_uhi_type-2.epw': [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14, 15, 17]\u001B[0m\n", "\u001B[32m2025-12-30 10:30:26 - INFO - Checking LCZ pair (Original: 0, Target: 0) availability for sevilla_in_this_one_the_uhi_is_type-1.epw...\u001B[0m\n", "\u001B[32m2025-12-30 10:30:26 - INFO - --- Applying UHI effect to sevilla_in_this_one_the_uhi_is_type-1.epw ---\u001B[0m\n", "\u001B[32m2025-12-30 10:30:26 - INFO - Executing command: java -jar \"D:\\OneDrive - Universidad de Cádiz (uca.es)\\Programas\\FutureWeatherGenerator_v4.0.2.jar\" -u -epw=C:\\Users\\sanga\\AppData\\Local\\Temp\\tmpyvd_1evq\\sevilla_in_this_one_the_uhi_is_type-1.epw -output_folder=C:\\Users\\sanga\\AppData\\Local\\Temp\\tmpyvd_1evq\\ -uhi=true:0:0 -output_type=EPW\u001B[0m\n", "\u001B[32m2025-12-30 10:30:40 - INFO - Available LCZs for 'sevilla_in_this_one_the_uhi_is_type-1.epw': [3, 6, 8, 9, 11, 12, 13, 14, 16]\u001B[0m\n" ] } ], "execution_count": 2, "source": [ "\n", "# Define the keyword mapping rules that will be used for all runs in this batch.\n", "mapping_rules = {\n", " 'city': {\n", " 'seville': ['sevilla', 'SVQ'],\n", " 'london': ['london', 'gatwick']\n", " },\n", " 'uhi': {\n", " 'type-1': 'type-1',\n", " 'type-2': 'type-2'\n", " }\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### `set_default_values` Parameters\n", "\n", "This method allows you to define parameters that are common to all runs in your batch, so you don't have to repeat them in every row of your DataFrame. All arguments are optional.\n", "\n", "##### Workflow Control Parameters\n", "* `final_output_dir` (`str`): A default output directory for runs that don't specify one.\n", "* `output_filename_pattern` (`str`): A default renaming pattern. **Must contain** `{ssp}`/`{rcp}` and `{year}`.\n", "* `scenario_mapping` (`Dict`): A default dictionary for mapping scenario names.\n", "* `fwg_jar_path` (`str`): The path to the Future Weather Generator `.jar` file.\n", "* `run_incomplete_files` (`bool`, default: `False`): If `True`, also processes partially categorized files.\n", "* `delete_temp_files` (`bool`, default: `True`): If `True`, deletes temporary folders after processing.\n", "* `temp_base_dir` (`str`): A default base directory for temporary files.\n", "* `fwg_show_tool_output` (`bool`, default: `False`): If `True`, prints the FWG tool's console output in real-time.\n", "* `fwg_params` (`Dict`, default: `None`): A dictionary for base FWG parameters.\n", "\n", "##### Future Weather Generator Tool Parameters\n", "* `fwg_gcms` (`List[str]`, default: `None`): **For Global tool only.** A default list of GCMs to use.\n", "* `fwg_rcm_pairs` (`List[str]`, default: `None`): **For Europe tool only.** A default list of GCM-RCM pairs to use.\n", "* `fwg_create_ensemble` (`bool`, default: `True`): If `True`, creates an ensemble from the selected models.\n", "* `fwg_winter_sd_shift` (`float`, default: `0.0`): Winter standard deviation shift.\n", "* `fwg_summer_sd_shift` (`float`, default: `0.0`): Summer standard deviation shift.\n", "* `fwg_month_transition_hours` (`int`, default: `72`): Hours for month transition.\n", "* `fwg_use_multithreading` (`bool`, default: `True`): Use multithreading.\n", "* `fwg_interpolation_method_id` (`Union[int, str]`, default: `0`): Interpolation method ID or string (e.g., `'AVG4P'` for V4).\n", "* `fwg_limit_variables` (`bool`, default: `True`): Limit variables to physical bounds.\n", "* `fwg_solar_hour_adjustment` (`Union[int, str]`, default: `1`): Solar hour adjustment option (e.g., `'By_Month'` for V4).\n", "* `fwg_diffuse_irradiation_model` (`Union[int, str]`, default: `1`): Diffuse irradiation model option (e.g., `'Engerer_2015'` for V4).\n", "* `fwg_add_uhi` (`bool`, default: `True`): Add UHI effect.\n", "* `fwg_epw_original_lcz` (`int`, default: `14`): Original EPW LCZ.\n", "* `fwg_target_uhi_lcz` (`int`, default: `1`): Target UHI LCZ.\n", "* `fwg_output_type` (`str`, default: `'EPW'`): **V4 feature.** Format of output files: `'EPW'`, `'MET'`, or `'CSV'`.\n", "* `fwg_version` (`Optional[str]`, default: `None`): Force a specific version CLI (e.g., `'4'`)." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-12-30T09:30:41.095462Z", "start_time": "2025-12-30T09:30:41.088965Z" } }, "source": [ "# Set the default values that will be common to all runs.\n", "iterator.set_default_values(\n", " fwg_jar_path=jar_path,\n", " output_filename_pattern='{city}_{uhi}_gcm-{fwg_gcms}_{ssp}_{year}',\n", " # We just checked that LCZs 2 and 3 are available in all epws, so we can use them as defaults.\n", " fwg_epw_original_lcz=2,\n", " fwg_target_uhi_lcz=3,\n", " fwg_version='4' # We are using v4\n", ")" ], "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001B[32m2025-12-30 10:30:41 - INFO - Custom default values have been set for the iterator: {'output_filename_pattern': '{city}_{uhi}_gcm-{fwg_gcms}_{ssp}_{year}', 'fwg_jar_path': 'D:\\\\OneDrive - Universidad de Cádiz (uca.es)\\\\Programas\\\\FutureWeatherGenerator_v4.0.2.jar', 'fwg_epw_original_lcz': 2, 'fwg_target_uhi_lcz': 3, 'fwg_version': '4'}\u001B[0m\n" ] } ], "execution_count": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 3: Define the Runs DataFrame\n", "\n", "This is where you specify what will change between each run. You have three flexible options for this." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Step 3.1: Option A - Using an Excel Template\n", "\n", "This is the recommended approach for non-programmers or for managing a large number of runs. You can export a blank template, fill it in with your scenarios, and load it back into `pyfwg`." ] }, { "cell_type": "code", "metadata": { "ExecuteTime": { "end_time": "2025-12-30T09:30:42.187780Z", "start_time": "2025-12-30T09:30:41.165267Z" } }, "source": [ "# 1. Export the blank template to an Excel file.\n", "template_path = 'my_parametric_study.xlsx'\n", "export_template_to_excel(iterator, file_path=template_path)\n", "\n", "print(f\"--- Original Template Structure (saved to '{template_path}') ---\")\n", "# Read and display the empty template to show the available columns.\n", "pd.read_excel(template_path)" ], "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001B[32m2025-12-30 10:30:41 - INFO - Generating Excel template for MorphingWorkflowGlobal...\u001B[0m\n", "\u001B[32m2025-12-30 10:30:41 - INFO - Template successfully exported to 'D:\\Python\\pyfwg\\docs\\source\\tutorials\\my_parametric_study.xlsx'\u001B[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "--- Original Template Structure (saved to 'my_parametric_study.xlsx') ---\n" ] }, { "data": { "text/plain": [ "Empty DataFrame\n", "Columns: [epw_paths, input_filename_pattern, keyword_mapping, final_output_dir, output_filename_pattern, scenario_mapping, fwg_jar_path, run_incomplete_files, delete_temp_files, temp_base_dir, fwg_show_tool_output, fwg_params, fwg_gcms, fwg_create_ensemble, fwg_winter_sd_shift, fwg_summer_sd_shift, fwg_month_transition_hours, fwg_use_multithreading, fwg_interpolation_method_id, fwg_limit_variables, fwg_solar_hour_adjustment, fwg_diffuse_irradiation_model, fwg_add_uhi, fwg_epw_original_lcz, fwg_target_uhi_lcz, fwg_output_type, fwg_version]\n", "Index: []\n", "\n", "[0 rows x 27 columns]" ], "text/html": [ "
| \n", " | epw_paths | \n", "input_filename_pattern | \n", "keyword_mapping | \n", "final_output_dir | \n", "output_filename_pattern | \n", "scenario_mapping | \n", "fwg_jar_path | \n", "run_incomplete_files | \n", "delete_temp_files | \n", "temp_base_dir | \n", "... | \n", "fwg_use_multithreading | \n", "fwg_interpolation_method_id | \n", "fwg_limit_variables | \n", "fwg_solar_hour_adjustment | \n", "fwg_diffuse_irradiation_model | \n", "fwg_add_uhi | \n", "fwg_epw_original_lcz | \n", "fwg_target_uhi_lcz | \n", "fwg_output_type | \n", "fwg_version | \n", "
|---|
0 rows × 27 columns
\n", "| \n", " | epw_paths | \n", "input_filename_pattern | \n", "keyword_mapping | \n", "final_output_dir | \n", "output_filename_pattern | \n", "scenario_mapping | \n", "fwg_jar_path | \n", "run_incomplete_files | \n", "delete_temp_files | \n", "temp_base_dir | \n", "... | \n", "fwg_summer_sd_shift | \n", "fwg_month_transition_hours | \n", "fwg_use_multithreading | \n", "fwg_interpolation_method_id | \n", "fwg_limit_variables | \n", "fwg_solar_hour_adjustment | \n", "fwg_diffuse_irradiation_model | \n", "fwg_add_uhi | \n", "fwg_epw_original_lcz | \n", "fwg_target_uhi_lcz | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "epws/wo_pattern/GBR_London.Gatwick.037760_IWEC... | \n", "NaN | \n", "NaN | \n", "results_using_excel/london | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 1 | \n", "epws/wo_pattern/sevilla_in_this_one_the_uhi_is... | \n", "NaN | \n", "NaN | \n", "results_using_excel/seville | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
2 rows × 25 columns
\n", "| \n", " | epw_paths | \n", "input_filename_pattern | \n", "keyword_mapping | \n", "final_output_dir | \n", "output_filename_pattern | \n", "scenario_mapping | \n", "fwg_jar_path | \n", "run_incomplete_files | \n", "delete_temp_files | \n", "temp_base_dir | \n", "... | \n", "fwg_use_multithreading | \n", "fwg_interpolation_method_id | \n", "fwg_limit_variables | \n", "fwg_solar_hour_adjustment | \n", "fwg_diffuse_irradiation_model | \n", "fwg_add_uhi | \n", "fwg_epw_original_lcz | \n", "fwg_target_uhi_lcz | \n", "fwg_output_type | \n", "fwg_version | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "epws/wo_pattern\\GBR_London.Gatwick.037760_IWEC... | \n", "NaN | \n", "NaN | \n", "./results/0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 1 | \n", "epws/wo_pattern\\sevilla_in_this_one_the_uhi_is... | \n", "NaN | \n", "NaN | \n", "./results/1 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
2 rows × 27 columns
\n", "| \n", " | epw_paths | \n", "input_filename_pattern | \n", "keyword_mapping | \n", "final_output_dir | \n", "output_filename_pattern | \n", "scenario_mapping | \n", "fwg_jar_path | \n", "run_incomplete_files | \n", "delete_temp_files | \n", "temp_base_dir | \n", "... | \n", "fwg_summer_sd_shift | \n", "fwg_month_transition_hours | \n", "fwg_use_multithreading | \n", "fwg_interpolation_method_id | \n", "fwg_limit_variables | \n", "fwg_solar_hour_adjustment | \n", "fwg_diffuse_irradiation_model | \n", "fwg_add_uhi | \n", "fwg_epw_original_lcz | \n", "fwg_target_uhi_lcz | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "epws/wo_pattern/GBR_London.Gatwick.037760_IWEC... | \n", "NaN | \n", "NaN | \n", "results_using_excel/london | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 1 | \n", "epws/wo_pattern/sevilla_in_this_one_the_uhi_is... | \n", "NaN | \n", "NaN | \n", "results_using_excel/seville | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 2 | \n", "epws/wo_pattern\\sevilla_in_this_one_the_uhi_is... | \n", "NaN | \n", "NaN | \n", "results_hybrid/seville | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
3 rows × 25 columns
\n", "| \n", " | epw_paths | \n", "final_output_dir | \n", "fwg_gcms | \n", "cat_city | \n", "cat_uhi | \n", "
|---|---|---|---|---|---|
| 0 | \n", "epws/wo_pattern/GBR_London.Gatwick.037760_IWEC... | \n", "results_using_excel/london | \n", "[CanESM5] | \n", "[london] | \n", "[type-2] | \n", "
| 1 | \n", "epws/wo_pattern/sevilla_in_this_one_the_uhi_is... | \n", "results_using_excel/seville | \n", "[MIROC6] | \n", "[seville] | \n", "[type-1] | \n", "
| 2 | \n", "epws/wo_pattern\\sevilla_in_this_one_the_uhi_is... | \n", "results_hybrid/seville | \n", "[EC_Earth3] | \n", "[seville] | \n", "[type-1] | \n", "
| \n", " | epw_paths | \n", "input_filename_pattern | \n", "keyword_mapping | \n", "cat_city | \n", "cat_uhi | \n", "final_output_dir | \n", "output_filename_pattern | \n", "scenario_mapping | \n", "fwg_jar_path | \n", "run_incomplete_files | \n", "... | \n", "fwg_use_multithreading | \n", "fwg_interpolation_method_id | \n", "fwg_limit_variables | \n", "fwg_solar_hour_adjustment | \n", "fwg_diffuse_irradiation_model | \n", "fwg_add_uhi | \n", "fwg_epw_original_lcz | \n", "fwg_target_uhi_lcz | \n", "fwg_output_type | \n", "fwg_version | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "epws/wo_pattern/GBR_London.Gatwick.037760_IWEC... | \n", "None | \n", "{'city': {'seville': ['sevilla', 'SVQ'], 'lond... | \n", "[london] | \n", "[type-2] | \n", "results_using_excel/london | \n", "{city}_{uhi}_gcm-{fwg_gcms}_{ssp}_{year} | \n", "NaN | \n", "D:\\OneDrive - Universidad de Cádiz (uca.es)\\Pr... | \n", "False | \n", "... | \n", "True | \n", "0 | \n", "True | \n", "1 | \n", "1 | \n", "True | \n", "2 | \n", "3 | \n", "EPW | \n", "4 | \n", "
| 1 | \n", "epws/wo_pattern/sevilla_in_this_one_the_uhi_is... | \n", "None | \n", "{'city': {'seville': ['sevilla', 'SVQ'], 'lond... | \n", "[seville] | \n", "[type-1] | \n", "results_using_excel/seville | \n", "{city}_{uhi}_gcm-{fwg_gcms}_{ssp}_{year} | \n", "NaN | \n", "D:\\OneDrive - Universidad de Cádiz (uca.es)\\Pr... | \n", "False | \n", "... | \n", "True | \n", "0 | \n", "True | \n", "1 | \n", "1 | \n", "True | \n", "2 | \n", "3 | \n", "EPW | \n", "4 | \n", "
| 2 | \n", "epws/wo_pattern\\sevilla_in_this_one_the_uhi_is... | \n", "None | \n", "{'city': {'seville': ['sevilla', 'SVQ'], 'lond... | \n", "[seville] | \n", "[type-1] | \n", "results_hybrid/seville | \n", "{city}_{uhi}_gcm-{fwg_gcms}_{ssp}_{year} | \n", "NaN | \n", "D:\\OneDrive - Universidad de Cádiz (uca.es)\\Pr... | \n", "False | \n", "... | \n", "True | \n", "0 | \n", "True | \n", "1 | \n", "1 | \n", "True | \n", "2 | \n", "3 | \n", "EPW | \n", "4 | \n", "
3 rows × 29 columns
\n", "