Skip to content

Commit 1dd6157

Browse files
update the definition of the variable list to be flexible for ploting
and viewer This comment contains update in the default.ini interms of the definition of "vars" in pcmdi diagnostic sections. I now explicitly defined "clim_vars", "mova_vars", "movc_vars" and "enso_vars" to explicitly pass the needed variables for corresponding diagnostics in pcmdi. This will be later on used to process the viewer page The corresponding changes were also made in pcmdi_diags.bash to accept the new variables defined in .cfg files and default.ini
1 parent a824086 commit 1dd6157

File tree

3 files changed

+42
-21
lines changed

3 files changed

+42
-21
lines changed

examples/post.v3.LR.amip.0101.cfg

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[default]
22
input = /lcrc/group/e3sm2/ac.wlin/E3SMv3/AMIP/v3.LR.amip_0101
3-
output = /lcrc/group/e3sm/ac.forsyth2/zppy_pr719_output/unique_id_51/v3.LR.amip_0101
4-
www = /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_pr719_output/unique_id_51
3+
output = /lcrc/group/e3sm/ac.szhang/acme_scratch/e3sm_project/zppy/zppy_pr719_output/unique_id_51/v3.LR.amip_0101
4+
www = /lcrc/group/e3sm/public_html/diagnostic_output/ac.szhang/zppy_pr719_output/unique_id_53
55
campaign = "water_cycle"
66
case = v3.LR.amip_0101
77
debug = False
@@ -32,7 +32,7 @@ years = "2005:2015:5"
3232
[[ atm_monthly_180x360_aave ]]
3333
# list of variables to be interpolated to pressure level; see e3sm_to_cmip/vrt_remap_plev19.nc
3434
# This defaults to cmip_plevdata = string(default="inclusions/e3sm_to_cmip/vrt_remap_plev19.nc")
35-
# cmip_plevdata = /lcrc/group/e3sm/ac.szhang/acme_scratch/e3sm_project/zppy/zppy/templates/inclusions/e3sm_to_cmip/vrt_remap_plev19.nc
35+
#cmip_plevdata = /lcrc/group/e3sm/ac.szhang/acme_scratch/e3sm_project/zppy/zppy/templates/inclusions/e3sm_to_cmip/vrt_remap_plev19.nc
3636
input_files = "eam.h0"
3737
interp_vars = "U,V,T,Z3"
3838
ts_subsection = "atm_monthly_180x360_aave"
@@ -41,7 +41,7 @@ years = "2005:2015:5"
4141
[pcmdi_diags]
4242
active = True
4343
environment_commands = "source /lcrc/soft/climate/e3sm-unified/load_latest_e3sm_unified_chrysalis.sh"
44-
environment_commands_secondary = "source /gpfs/fs1/home/ac.forsyth2/miniforge3/etc/profile.d/conda.sh; conda activate zi-pcmdi-diags-20250925"
44+
environment_commands_secondary = "source /lcrc/soft/climate/e3sm-unified/load_latest_e3sm_unified_chrysalis.sh; conda activate zi-pcmdi-diags-20250730"
4545
nodes = 1
4646
walltime = "4:00:00"
4747
figure_format = "png"
@@ -66,7 +66,8 @@ ts_years = "2005-2014",
6666
ref_years = "2005-2014",
6767
# Variables in current pcmdi-cmip list
6868
# rltcre and rstcre are derived variables as they are not included in cmip_ts
69-
vars = "pr,prw,psl,rlds,rldscs,rltcre,rstcre,rsus,rsuscs,rlus,rlut,rlutcs,rsds,rsdscs,rsdt,rsut,rsutcs,rtmt,sfcWind,tas,tauu,tauv,ts,ta-200,ta-850,ua-200,ua-850,va-200,va-850,zg-500"
69+
# define a new variable name to be flexible
70+
clim_vars = "pr,prw,psl,rlds,rldscs,rltcre,rstcre,rsus,rsuscs,rlus,rlut,rlutcs,rsds,rsdscs,rsdt,rsut,rsutcs,rtmt,sfcWind,tas,tauu,tauv,ts,ta-200,ta-850,ua-200,ua-850,va-200,va-850,zg-500"
7071
# See zppy/templates/pcmdi_diags/regions_specs.json for options of all regions
7172
# Below is default setup for global/regional mean climate metrics
7273
regions = "global,ocean,land,NHEX,SHEX,TROPICS"
@@ -80,7 +81,7 @@ ts_years = "2005-2014",
8081
ref_final_yr = 2019
8182
ref_start_yr = 1870
8283
ref_years = "2005-2014",
83-
vars = "ts"
84+
movc_vars = "ts"
8485
# Name of modes varibility
8586
cpl_modes = "PDO,NPGO,AMO"
8687
frequency = 'mo'
@@ -97,7 +98,7 @@ ts_years = "2005-2014",
9798
ref_final_yr = 2015
9899
ref_start_yr = 1853
99100
ref_years = "2005-2014",
100-
vars = "psl"
101+
mova_vars = "psl"
101102
# Varibility modes
102103
atm_modes = "NAM,NAO,PNA,NPO,SAM,PSA1,PSA2"
103104
frequency = 'mo'
@@ -114,7 +115,7 @@ ts_years = "2005-2014",
114115
ref_final_yr = 2018
115116
ref_start_yr = 1979
116117
ref_years = "2005-2014",
117-
vars = "psl,pr,prsn,ts,tas,tauu,tauv,hfls,hfss,rlds,rsds,rlus,rlut,rsdt"
118+
enso_vars = "psl,pr,prsn,ts,tas,tauu,tauv,hfls,hfss,rlds,rsds,rlus,rlut,rsdt"
118119
# See zppy/templates/pcmdi_diags/reference_alias.json for options
119120
enso_groups = "ENSO_perf,ENSO_proc,ENSO_tel"
120121

zppy/defaults/default.ini

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -431,16 +431,12 @@ ref_start_yr = string(default="")
431431
# zppy will then set it to match `figure_sets_period`
432432
# For other plots, zppy will set it to match `years`, if not specified
433433
ref_years = string_list(default=list(""))
434-
# Variables to be used by the pcmdi diagnostics
435-
# mean_climate AND synthetic_plots: vars = "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"
436-
# variability_modes_atm: vars = "psl"
437-
# variability_modes_cpl: vars = "ts"
438-
# enso: vars = "psl,pr,prsn,ts,tas,tauu,tauv,hflx,hfss,rlds,rsds,rlus,rlut,rsdt"
439-
# Default setup is for mean_climate:
440-
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")
441434
###########################################################################################
442435
# Specify these for the mean_climate subtask
443436
###########################################################################################
437+
# Variables to be used by the pcmdi diagnostics
438+
# mean_climate AND synthetic_plots: clim_vars = "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"
439+
clim_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")
444440
# variables in the cmip6 table that can be potentially used by pcmdi
445441
# this list depends on the definition of cmip variable
446442
# required for "mean climate" diagnostics
@@ -465,7 +461,11 @@ regrid_method_ocn = string(default="conservative")
465461
# Specify these for the variability_modes_cpl and variability_modes_atm subtasks
466462
###########################################################################################
467463
### 2 options for names of atm, cpl modes varibility:
464+
# variability_modes_atm: vars = "psl"
465+
atm_vars = string(default="psl")
468466
atm_modes = string(default="NAM,NAO,PNA,NPO,SAM,PSA1,PSA2")
467+
# variability_modes_cpl: vars = "ts"
468+
cpl_vars = string(default="ts")
469469
cpl_modes = string(default="PDO,NPGO,AMO")
470470
CBF = string(default=True)
471471
ConvEOF = string(default=True)
@@ -483,6 +483,8 @@ seasons = string(default="monthly")
483483
###########################################################################################
484484
# Specify these for the enso subtasks (not currently enabled)
485485
###########################################################################################
486+
# enso: vars = "psl,pr,prsn,ts,tas,tauu,tauv,hflx,hfss,rlds,rsds,rlus,rlut,rsdt"
487+
enso_vars = string(default="psl,pr,prsn,ts,tas,tauu,tauv,hflx,hfss,rlds,rsds,rlus,rlut,rsdt")
486488
enso_groups = string(default="ENSO_perf,ENSO_proc,ENSO_tel")
487489
###########################################################################################
488490
# Specify these for the synthetic_plots subtask
@@ -545,8 +547,11 @@ cmip_movs_set = string(default="cmip6.historical.v20220825")
545547
ref_final_yr = string(default=None)
546548
ref_start_yr = string(default=None)
547549
ref_years = string_list(default=None)
548-
vars = string(default=None)
550+
clim_vars = string(default=None)
549551
cmip_vars = string(default=None)
552+
mova_vars = string(default=None)
553+
movc_vars = string(default=None)
554+
enso_vars = string(default=None)
550555
regions = string(default=None)
551556
target_grid = string(default=None)
552557
target_grid_string = string(default=None)

zppy/templates/pcmdi_diags.bash

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,10 @@ case="{{ case }}"
3030
www="{{ www }}"
3131
run_type="{{ run_type }}"
3232
results_dir="{{ run_type }}"
33+
3334
{% if current_set != "synthetic_plots" %}
3435

35-
# Input variables
36+
# Input time range
3637
y1={{ year1 }}
3738
y2={{ year2 }}
3839
ref_y1={{ ref_year1 }}
@@ -86,6 +87,16 @@ else
8687
fi
8788
fi
8889

90+
{% if current_set == "mean_climate"%}
91+
source_vars="{{ clim_vars }}"
92+
{% elif current_set == "variability_modes_cpl"%}
93+
source_vars="{{ movc_vars }}"
94+
{% elif current_set == "variability_modes_atm"%}
95+
source_vars="{{ mova_vars }}"
96+
{% elif current_set == "enso"%}
97+
source_vars="{{ enso_vars }}"
98+
{% endif %}
99+
89100
{% endif %}
90101

91102
# Top-level directory
@@ -294,8 +305,8 @@ create_links_ts() {
294305

295306
local script_dir="{{ scriptDir }}"
296307
local prefix="{{ prefix }}"
297-
local vars="{{ vars }}"
298308
local ts_step="{{ ts_num_years }}"
309+
local vars="${source_vars}"
299310

300311
echo "create_links_ts: linking from ${ts_dir_source} to ${ts_dir_destination}"
301312

@@ -499,7 +510,7 @@ echo "Linking observational data into ${obstmp_dir}..."
499510
###################
500511
echo "Linking observational data using SLURM..."
501512

502-
command="zi-pcmdi-link-observation --model_name_ref ${model_name_ref} --tableID_ref ${tableID_ref} --vars={{ vars }} --obs_sets {{ obs_sets }} --obs_ts {{ obs_ts }} --obstmp_dir ${obstmp_dir}"
513+
command="zi-pcmdi-link-observation --model_name_ref ${model_name_ref} --tableID_ref ${tableID_ref} --vars=${source_vars} --obs_sets {{ obs_sets }} --obs_ts {{ obs_ts }} --obstmp_dir ${obstmp_dir}"
503514
echo "Running: ${command}"
504515

505516
{{ environment_commands_secondary }}
@@ -704,7 +715,11 @@ seasons = '{{ seasons }}'.split(",")
704715
frequency = '{{ frequency }}'
705716
706717
# Variables to analyze (comma-separated string or space-separated)
707-
varModel = '{{ vars }}'
718+
{% if current_set == "variability_modes_cpl"%}
719+
varModel = '{{ movc_vars }}'
720+
{% elif current_set == "variability_modes_atm"%}
721+
varModel = '{{ mova_vars }}'
722+
{% endif %}
708723
709724
# Unit conversion flags for model and observations
710725
ModUnitsAdjust = {{ ModUnitsAdjust }}
@@ -825,7 +840,7 @@ source_dirs="--climo_ts_dir_primary ${ts_dir_primary} --climo_ts_dir_ref ${ts_di
825840
# So, it's a good idea to make sure they can't be (or at least are unlikely to be) empty.
826841
# run_type == "model_vs_obs" only: obs_sets (default value is NOT "")
827842
# run_type == "model_vs_model" only: model_name_ref, tableID_ref (default values are NOT "")
828-
core_parameters="--num_workers {{ num_workers }} --multiprocessing {{ multiprocessing }} --subsection {{ subsection }} ${source_dirs} --model_name ${model_name} --model_tableID {{model_tableID }} --figure_format {{ figure_format }} --run_type {{ run_type }} --obs_sets {{ obs_sets }} --model_name_ref ${model_name_ref} --vars {{ vars }} --tableID_ref ${tableID_ref} --generate_sftlf {{ generate_sftlf }} --case_id ${case_id} --results_dir ${results_dir}"
843+
core_parameters="--num_workers {{ num_workers }} --multiprocessing {{ multiprocessing }} --subsection {{ subsection }} ${source_dirs} --model_name ${model_name} --model_tableID {{model_tableID }} --figure_format {{ figure_format }} --run_type {{ run_type }} --obs_sets {{ obs_sets }} --model_name_ref ${model_name_ref} --vars ${source_vars} --tableID_ref ${tableID_ref} --generate_sftlf {{ generate_sftlf }} --case_id ${case_id} --results_dir ${results_dir}"
829844
{% endif %}
830845

831846
{% if current_set == "mean_climate" %}

0 commit comments

Comments
 (0)