Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zppy pcmdi new #656

Draft
wants to merge 19 commits into
base: zppy_pcmdi
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 95 additions & 94 deletions zppy/defaults/default.ini
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notes from Shixuan: The changes made in this file are to a. clean up the redundant setup parameters and 2. add a new block "synthetic_plots" that is to create the summary metrics (portrait plots and parallel coordinate plots for comparison of e3sm with existing cmip6 diagnostics).

Original file line number Diff line number Diff line change
Expand Up @@ -138,20 +138,14 @@ scratch = string(default="")
[pcmdi_diags]
backend = string(default="mpl")
cfg = string(default="")
# File of cmip variable lists (cmip6 convention)
cmip_variables = string(default="pcmdi_diags/cmip_variables.json")
# File of specified regions for mean climate calculation
regions_specs = string(default="pcmdi_diags/regions_specs.json")
# File of derived variables
derived_variable = string(default="pcmdi_diags/derived_variable.json")
regions_specs = string(default="pcmdi_data/region/regions_specs.json")
# File of observation data name for mean climate calculation
reference_alias = string(default="pcmdi_diags/reference_alias.json")
# File of fuction to generate land/sea mask
process_sftlf = string(default="pcmdi_diags/process_sftlf.py")
# File of fuction to generate mean climate metrics figure
clim_plot_parser = string(default="pcmdi_diags/mean_climate_plot_parser.py")
# File of module to plot mean climate metrics figure
clim_plot_driver = string(default="pcmdi_diags/mean_climate_plot_driver.py")
reference_alias = string(default="pcmdi_data/reference/reference_alias.json")
# Utility file with functions for zppy-pcmdi data processing
pcmdi_zppy_util = string(default="pcmdi_data/utility/pcmdi_zppy_util.py")
# File of variable list to generate synthetic metrics plot
synthetic_metrics = string(default="pcmdi_data/synthetic_metrics/synthetic_metrics_list.json")
# Path to observation time-series data
# Required for "mean_climate","variability_mode","enso"
obs_ts = string(default="")
Expand All @@ -160,69 +154,71 @@ obs_ts = string(default="")
obs_sets = string(default="default")
# options specific for constructing pcmdi preferred file name conventions
# required for "model_vs_obs" comparison
cmip_name = string(default="e3sm.historical.v3-LR.0051")
model_name = string(default="e3sm.historical.v3-LR.0051")
model_tableID = string(default="Amon")
# required for "model_vs_model" comparison
cmip_name_ref = string(default="e3sm.historical.v3-LR.0051")
# options shared by pcmdi
pmp_debug = string(default=False)
model_name_ref = string(default="")
model_tableID_ref = string(default="")
# variables in the cmip6 table that can be potentially used by pcmdi
# this list depends on the definition of cmip variable
# required for "mean climate" diagnostics
cmip_vars = string(default="pr,prw,psl,rlds,rldscs,rlut,rlutcs,rsut,rsutcs,rsds,rsdscs,rsdt,rsus,rsuscs,rlus,rtmt,sfcWind,tas,tauu,tauv,ts,ta,ua,va,zg")
# flag to process the land/sea mask within pcmdi
generate_sftlf = string(default=True)
# variables to be used by the pcmdi diagnostics
# needs to setup for each subsections
vars = string(default="")
# needs to setup for each subsections, defalut setup is the mean climate metrics
vars = string(default="pr,prw,psl,rlds,rldscs,rltcre,rstcre,rlut,rlutcs,rsds,rsdscs,rsdt,rsus,rsuscs,rlus,rsut,rtmt,sfcWind,tas,tauu,tauv,ts,ta-200,ta-850,ua-200,ua-850,va-200,va-850,zg-500")
# sets of diagnostics from pcmdi package
sets = string_list(default=list("mean_climate","variability_mode_atm","variability_mode_cpl","enso"))
sets = string_list(default=list("mean_climate","variability_modes_atm","variability_modes_cpl","enso","synthetic_plots"))
# options to identify subset of pcmdi drivers ("mean_climate","variability_mode","enso")
subset = string(default="")
#options for cmip model metrics data from pcmdi
#group of pcmdi generated cmip metrics data (mip.exp.version)
pcmdi_data_set=string(default="cmip6.historical.v20220928")
# path to pcmdi generated cmip metrics data
pcmdi_data_path=string(default="")
##########################################################################################
# below followed the setup in e3sm_diag but used for PCMDI workflow
##########################################################################################
# See url<need to work on document later>
multiprocessing = boolean(default=True)
# See url<need to work on document later>
num_workers = integer(default=24)
# See url<need to work on document later>
figure_format = string(default="png")
# comparision type (same as e3sm_diag)
run_type = string(default="model_vs_obs")
# Used to label the results directory
# Options are "model_vs_obs" and "model_vs_model"
tag = string(default="model_vs_obs")
subsets = string_list(default=list("mean_climate","variability_modes","enso"))
###########################################################################################
# Required for run_type="model_vs_model" runs, different from e3sm_diag,
# model_vs_model in pcmdi referred to the comparision of two model simulations
# with observations and cmip models.
###########################################################################################
#path for reference model data (time series)
reference_data_path = string(default="")
reference_data_path_ts = string(default="")
# pcmdi_diags.py will set to match `years` if not specified
ref_years = string_list(default=list(""))
# End year (i.e., the last year to use) for the reference data
ref_end_yr = string(default="")
# The years increment for reference data
ts_num_years_ref = integer(default=5)
# Final year (i.e., the last available year) for the reference data
ref_final_yr = string(default="")
# Start year for the reference data
ref_start_yr = string(default="")
# reference model name
ref_name = string(default="")
# The years increment for reference data
ts_num_years_ref = integer(default=5)
# The years range for test model data
ts_years = string_list(default=list(""))
# The years increment for test model data
ts_num_years = integer(default=5)
# Set to true to swap test and ref when run_type="model_vs_model"
swap_test_ref = boolean(default=False)
##########################################################################################
# below followed the setup in e3sm_diag but used for PCMDI workflow
##########################################################################################
# See url<need to work on document later>
multiprocessing = boolean(default=True)
# See url<need to work on document later>
num_workers = integer(default=24)
# See url<need to work on document later>
figure_format = string(default="png")
# comparision type (same as e3sm_diag)
run_type = string(default="model_vs_obs")
# Used to label the results directory
# Options are "model_vs_obs" and "model_vs_model"
tag = string(default="model_vs_obs")
##########################################################################################
# options for pcmdi mode varibility diagnostics
# vars = "psl" for atm_modes
# vars = "ts" for cpl_modes
#########################################################################################
#name of atmospheric modes varibility
atm_modes = string_list(default=list("NAM","NAO","PNA","NPO","SAM","PSA1","PSA2"))
atm_modes = string(default="NAM,NAO,PNA,NPO,SAM,PSA1,PSA2")
#name of coupled modes varibility
cpl_modes = string_list(default=list("PDO","NPGO","AMO"))
cpl_modes = string(default="PDO,NPGO,AMO")
#keywards for unit conversion in pcmdi (model)
ModUnitsAdjust = string(default="")
#keywards for unit conversion in pcmdi (observation)
Expand All @@ -236,17 +232,15 @@ RmDomainMean = string(default=True)
EofScaling = string(default=False)
ConvEOF = string(default=True)
CBF = string(default=True)
cmec = string(default=True)
update_json = string(default=False)
plot_obs = string(default=True)
plot = string(default=True)
nc_out_obs = string(default=True)
nc_out = string(default=True)
mov_plot_obs = string(default=True)
mov_plot_model = string(default=True)
mov_nc_out_obs = string(default=True)
mov_nc_out_model = string(default=True)
##########################################################################################
# options for pcmdi enso diagnostics
# vars = "psl,pr,prsn,ts,tas,tauu,tauv,hflx,hfss,rlds,rsds,rlus,rlut,rsdt"
##########################################################################################
groups = string_list(default=list("ENSO_perf","ENSO_proc","ENSO_tel"))
enso_groups = string(default="ENSO_perf,ENSO_proc,ENSO_tel")
##########################################################################################
# optional for mean climate diagnostics
# vars = "pr,prw,psl,rlds,rldscs,rltcre,rstcre,rlut,rlutcs,rsds,rsdscs,rsdt,rsus,rsuscs,
Expand All @@ -255,95 +249,102 @@ groups = string_list(default=list("ENSO_perf","ENSO_proc","ENSO_tel"))
##########################################################################################
# model data grid after remapping
grid = string(default="180x360_aave")
#flag to turn on regional mean climate metrics
regional = string(default="y")
#default regions for mean climate metrics data
regions = string(default="global,ocean,land,NHEX,SHEX,TROPICS,NHEX_ocean,SHEX_ocean,NHEX_land,SHEX_land,ocean_50S50N")
#more options can be found at "regions_specs"
#regions = string(default="global,ocean,land,NHEX,SHEX,TROPICS,NHEX_ocean,SHEX_ocean,NHEX_land,SHEX_land,ocean_50S50N")
regions = string(default="global,ocean,land,NHEX,SHEX,TROPICS")
# save derived climatology data
save_test_clims = string(default=True)
# method to determine the way to process mean climate data
# default used nco instead of pcmdi built-in function
climatology_process_method = string(default="nco")
# Regridding by pcmdi (default is to regrid data to 2.5x2.5 grid for diagnostic metrics)
# Required for mean climate
# OPTIONS: '2.5x2.5' or an actual cdms2 grid object
target_grid = string(default="2.5x2.5")
# OPTIONS: String for description on the selected grid
target_grid_string = string(default="2p5x2p5")
# Regridding by pcmdi (required for mean climate)
# OPTIONS: '1x1' for e3sm, '2.5x2.5' for cmip, or an actual cdms2 grid object,
target_grid = string(default="1x1")
# OPTIONS: "1px1p" for e3sm, "2p5x2p5" for cmip, description on the selected grid
target_grid_string = string(default="1px1p")
# OPTIONS: 'regrid2','esmf'
regrid_tool = string(default="esmf")
# OPTIONS: 'linear','conservative', only if tool is esmf
regrid_method = string(default="regrid2")
# OPTIONS: 'linear','conservative', only if tool is esmf
regrid_method_ocn = string(default="conservative")
# setup for parallel coordinate plots (hide makers for sigle model)
parcord_show_markers = string(default=False)
# setup for portrait plots (add vertical line to separate test and reference models)
portrait_vertical_line = string(default=True)
###################################################################
#options for synthetic plots with exisiting pcmdi cmip model metrics
###################################################################
synthetic_sets = string(default="portrait,parcoord")
# path to pcmdi generated cmip metrics data
cmip_enso_dir = string(default="")
cmip_clim_dir = string(default="")
cmip_movs_dir = string(default="")
#group of pcmdi generated cmip metrics data (mip.exp.version)
cmip_clim_set = string(default="cmip6.historical.v20250108")
cmip_movs_set = string(default="cmip6.historical.v20220825")
cmip_enso_set = string(default="cmip6.historical.v20210620")
# options shared by pcmdi
pcmdi_debug = string(default=False)

[[__many__]]
backend = string(default=None)
cfg = string(default=None)
vars = string(default=None)
grid = string(default=None)
cmip_metadata = string(default=None)
cmip_variables = string(default=None)
pcmdi_data_set = string(default=None)
pcmdi_data_path = string(default=None)
derived_variable = string(default=None)
cmip_enso_set = string(default=None)
cmip_clim__set = string(default=None)
cmip_movs_set = string(default=None)
cmip_enso_dir = string(default=None)
cmip_clim_dir = string(default=None)
cmip_movs_dir = string(default=None)
synthetic_sets = string(default=None)
reference_alias = string(default=None)
regions_specs = string(default=None)
process_sftlf = string(default=None)
pcmdi_zppy_util = string(default=None)
synthetic_metrics = string(default=None)
multiprocessing = boolean(default=None)
num_workers = integer(default=None)
obs_ts = string(default=None)
figure_format = string(default=None)
ref_end_yr = string(default=None)
ref_final_yr = string(default=None)
ref_name = string(default=None)
ref_start_yr = string(default=None)
ref_years = string_list(default=None)
ref_start_yr = string(default=None)
ref_final_yr = string(default=None)
reference_data_path = string(default=None)
reference_data_path_ts = string(default=None)
run_type = string(default=None)
sets = string_list(default=None)
swap_test_ref = boolean(default=None)
tag = string(default=None)
ts_years = string_list(default=None)
ts_num_years = integer(default=None)
ts_num_years_ref = integer(default=None)
climatology_process_method = string(default=None)
target_grid = string(default=None)
target_grid_string = string(default=None)
regrid_tool = string(default=None)
regrid_method = string(default=None)
regrid_method_ocn = string(default=None)
obs_sets = string(default=None)
regions = string(default=None)
regional = string(default=None)
save_test_clims = string(default=None)
seasons = string(default=None)
RmDomainMean = string(default=None)
EofScaling = string(default=None)
ConvEOF = string(default=None)
CBF = string(default=None)
cmec = string(default=None)
update_json = string(default=None)
subset = string(default=None)
subsets = string_list(default=None)
landmask = string(default=None)
frequency = string(default=None)
generate_sftlf = string(default=None)
atm_modes = string_list(default=None)
cpl_modes = string_list(default=None)
groups = string_list(default=None)
atm_modes = string(default=None)
cpl_modes = string(default=None)
enso_groups = string(default=None)
ModUnitsAdjust = string(default=None)
ObsUnitsAdjust = string(default=None)
cmip_name = string(default=None)
cmip_name_ref = string(default=None)
pmp_debug = string(default=None)
nc_out_obs = string(default=None)
nc_out = string(default=None)
plot_obs = string(default=None)
plot = string(default=None)
parcord_show_markers = string(default=None)
portrait_vertical_line = string(default=None)
model_name = string(default=None)
model_name_ref = string(default=None)
model_tableID = string(default=None)
model_vars = string(default=None)
mov_nc_out_obs = string(default=None)
mov_nc_out_model = string(default=None)
mov_plot_obs = string(default=None)
mov_plot_model = string(default=None)
pcmdi_debug = string(default=None)

[e3sm_diags]
# See https://e3sm-project.github.io/e3sm_diags/_build/html/master/available-parameters.html
Expand Down
Loading