From 5508a3537d648cf442a1f1c7cf2ca0a4a2c5cf6f Mon Sep 17 00:00:00 2001 From: Jiwoo Lee Date: Mon, 23 Feb 2026 21:30:34 -0800 Subject: [PATCH] initial commit --- .../diagnostics/annual_cycle.py | 24 +++++++++++++++++++ .../params/pmp_param_monsoon.py | 21 ++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 packages/climate-ref-pmp/src/climate_ref_pmp/params/pmp_param_monsoon.py diff --git a/packages/climate-ref-pmp/src/climate_ref_pmp/diagnostics/annual_cycle.py b/packages/climate-ref-pmp/src/climate_ref_pmp/diagnostics/annual_cycle.py index c2e2a8fe2..efaeacbf8 100644 --- a/packages/climate-ref-pmp/src/climate_ref_pmp/diagnostics/annual_cycle.py +++ b/packages/climate-ref-pmp/src/climate_ref_pmp/diagnostics/annual_cycle.py @@ -1,5 +1,6 @@ import datetime import json +import os from pathlib import Path from typing import Any @@ -371,6 +372,7 @@ class AnnualCycle(CommandLineDiagnostic): def __init__(self) -> None: self.parameter_file_1 = "pmp_param_annualcycle_1-clims.py" self.parameter_file_2 = "pmp_param_annualcycle_2-metrics.py" + self.parameter_file_3 = "pmp_param_monsoon.py" def build_cmds(self, definition: ExecutionDefinition) -> list[list[str]]: # noqa: PLR0915 """ @@ -499,6 +501,28 @@ def build_cmds(self, definition: ExecutionDefinition) -> list[list[str]]: # noq ) ) + # -------------------------------------------------- + # PART 3: Monsoon + # -------------------------------------------------- + if variable_id in ["pr"]: + params = { + "reference_dataset_path": reference_dataset_path, + "test_data_path": os.path.join( + output_directory_path, + f"{variable_id}_{data_name}_clims.198101-200512.AC.v{date_stamp}.nc", + ), + "modnames": [source_id], + "result_dir": output_directory_path, + } + + cmds.append( + build_pmp_command( + driver_file="monsoon_wang_driver.py", + parameter_file=self.parameter_file_3, + **params, + ) + ) + logger.debug("build_cmd end") logger.debug(f"cmds: {cmds}") diff --git a/packages/climate-ref-pmp/src/climate_ref_pmp/params/pmp_param_monsoon.py b/packages/climate-ref-pmp/src/climate_ref_pmp/params/pmp_param_monsoon.py new file mode 100644 index 000000000..185ec27a8 --- /dev/null +++ b/packages/climate-ref-pmp/src/climate_ref_pmp/params/pmp_param_monsoon.py @@ -0,0 +1,21 @@ +# +# OPTIONS ARE SET BY USER IN THIS FILE AS INDICATED BELOW BY: +# +# + +# LIST OF MODEL VERSIONS TO BE TESTED +modnames = ["CanCM4"] + +# ROOT PATH FOR MODELS CLIMATOLOGIES +test_data_path = ( + "demo_data_tmp/CMIP5_demo_clims/cmip5.historical.%(model).r1i1p1.mon.pr.198101-200512.AC.v20200426.nc" +) + +# ROOT PATH FOR OBSERVATIONS +reference_data_path = "NOAA-NCEI/GPCP-2-3/mon/pr/gn/v20210727/pr_mon_GPCP-2-3_PCMDI_gn_197901-201907.nc" + +# DIRECTORY WHERE TO PUT RESULTS +results_dir = "demo_output_tmp/monsoon_wang" + +# Threshold +threshold = 2.5 / 86400