@@ -78,14 +78,18 @@ includes unit conversion and shifting the dates.
78
78
The variable should have only three dimensions: latitude, longitude, and time.
79
79
"""
80
80
function 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)
83
82
sim_var_dict = Dict {String, Any} ()
84
83
# Dict for loading in simulation data
85
84
" pr" in available_short_names && (
86
85
sim_var_dict[" pr" ] =
87
86
() -> 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
+ )
89
93
sim_var = ClimaAnalysis. convert_units (
90
94
sim_var,
91
95
" mm/day" ,
@@ -101,7 +105,12 @@ function get_sim_var_dict(diagnostics_folder_path)
101
105
short_name in available_short_names && (
102
106
sim_var_dict[short_name] =
103
107
() -> 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
+ )
105
114
sim_var = ClimaAnalysis. shift_to_start_of_previous_month (sim_var)
106
115
return sim_var
107
116
end
@@ -224,13 +233,24 @@ function get_sim_var_in_pfull_dict(diagnostics_folder_path)
224
233
available_short_names = ClimaAnalysis. available_vars (ClimaAnalysis. SimDir (diagnostics_folder_path))
225
234
sim_var_pfull_dict = Dict {String, Any} ()
226
235
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" ]))
228
238
for short_name in short_names
229
239
short_name in available_short_names && (
230
240
sim_var_pfull_dict[short_name] =
231
241
() -> 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
+ )
234
254
235
255
(ClimaAnalysis. units (sim_var) == " " ) &&
236
256
(sim_var = ClimaAnalysis. set_units (sim_var, " unitless" ))
@@ -360,3 +380,23 @@ function get_compare_vars_biases_heatmap_extrema_pfull()
360
380
compare_vars_biases_heatmap_extrema = Dict (" ta" => (- 10.0 , 10.0 ), " hur" => (- 0.4 , 0.4 ), " hus" => (- 0.001 , 0.001 ))
361
381
return compare_vars_biases_heatmap_extrema
362
382
end
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