@@ -78,14 +78,18 @@ includes unit conversion and shifting the dates.
7878The variable should have only three dimensions: latitude, longitude, and time.
7979"""
8080function get_sim_var_dict (diagnostics_folder_path)
81- # List of short names
82- available_short_names = ClimaAnalysis. available_vars (ClimaAnalysis. SimDir (diagnostics_folder_path))
81+ available_short_names = get_short_names_monthly_averages (diagnostics_folder_path)
8382 sim_var_dict = Dict {String, Any} ()
8483 # Dict for loading in simulation data
8584 " pr" in available_short_names && (
8685 sim_var_dict[" pr" ] =
8786 () -> begin
88- sim_var = get (ClimaAnalysis. SimDir (diagnostics_folder_path), short_name = " pr" )
87+ sim_var = get (
88+ ClimaAnalysis. SimDir (diagnostics_folder_path),
89+ short_name = " pr" ,
90+ reduction = " average" ,
91+ period = " 1M" ,
92+ )
8993 sim_var = ClimaAnalysis. convert_units (
9094 sim_var,
9195 " mm/day" ,
@@ -101,7 +105,12 @@ function get_sim_var_dict(diagnostics_folder_path)
101105 short_name in available_short_names && (
102106 sim_var_dict[short_name] =
103107 () -> begin
104- sim_var = get (ClimaAnalysis. SimDir (diagnostics_folder_path), short_name = short_name)
108+ sim_var = get (
109+ ClimaAnalysis. SimDir (diagnostics_folder_path),
110+ short_name = short_name,
111+ reduction = " average" ,
112+ period = " 1M" ,
113+ )
105114 sim_var = ClimaAnalysis. shift_to_start_of_previous_month (sim_var)
106115 return sim_var
107116 end
@@ -224,13 +233,24 @@ function get_sim_var_in_pfull_dict(diagnostics_folder_path)
224233 available_short_names = ClimaAnalysis. available_vars (ClimaAnalysis. SimDir (diagnostics_folder_path))
225234 sim_var_pfull_dict = Dict {String, Any} ()
226235
227- short_names = [" ta" , " hur" , " hus" ]
236+ short_names = get_short_names_monthly_averages (diagnostics_folder_path)
237+ available_short_names = intersect (short_names, Set ([" ta" , " hur" , " hus" ]))
228238 for short_name in short_names
229239 short_name in available_short_names && (
230240 sim_var_pfull_dict[short_name] =
231241 () -> begin
232- sim_var = get (ClimaAnalysis. SimDir (diagnostics_folder_path), short_name = short_name)
233- pfull_var = get (ClimaAnalysis. SimDir (diagnostics_folder_path), short_name = " pfull" )
242+ sim_var = get (
243+ ClimaAnalysis. SimDir (diagnostics_folder_path),
244+ short_name = short_name,
245+ reduction = " average" ,
246+ period = " 1M" ,
247+ )
248+ pfull_var = get (
249+ ClimaAnalysis. SimDir (diagnostics_folder_path),
250+ short_name = " pfull" ,
251+ reduction = " average" ,
252+ period = " 1M" ,
253+ )
234254
235255 (ClimaAnalysis. units (sim_var) == " " ) &&
236256 (sim_var = ClimaAnalysis. set_units (sim_var, " unitless" ))
@@ -360,3 +380,23 @@ function get_compare_vars_biases_heatmap_extrema_pfull()
360380 compare_vars_biases_heatmap_extrema = Dict (" ta" => (- 10.0 , 10.0 ), " hur" => (- 0.4 , 0.4 ), " hus" => (- 0.001 , 0.001 ))
361381 return compare_vars_biases_heatmap_extrema
362382end
383+
384+ """
385+ get_short_names_of_monthly_averages(diagnostics_folder_path)
386+
387+ Get all the short names of the monthly averages.
388+ """
389+ function get_short_names_monthly_averages (diagnostics_folder_path)
390+ available_short_names = Set {String} ()
391+ simdir = ClimaAnalysis. SimDir (diagnostics_folder_path)
392+ for short_name in ClimaAnalysis. available_vars (simdir)
393+ for reduction in ClimaAnalysis. available_reductions (simdir, short_name = short_name)
394+ for period in ClimaAnalysis. available_periods (simdir, short_name = short_name, reduction = reduction)
395+ if reduction == " average" && period == " 1M"
396+ push! (available_short_names, short_name)
397+ end
398+ end
399+ end
400+ end
401+ return available_short_names
402+ end
0 commit comments