1414from e3sm_diags .driver .utils .dataset_xr import Dataset
1515from e3sm_diags .driver .utils .diurnal_cycle_xr import composite_diurnal_cycle
1616from e3sm_diags .driver .utils .io import _get_output_dir
17- from e3sm_diags .driver .utils .regrid import regrid_z_axis_to_plevs
17+ from e3sm_diags .driver .utils .regrid import has_z_axis , regrid_z_axis_to_plevs
1818from e3sm_diags .logger import custom_logger
1919from e3sm_diags .plot import arm_diags_plot
2020
@@ -122,10 +122,10 @@ def _run_diag_diurnal_cycle(parameter: ARMDiagsParameter) -> ARMDiagsParameter:
122122 ref_data = Dataset (parameter , data_type = "ref" )
123123 ds_ref = ref_data .get_time_series_dataset (var , single_point = True )
124124
125- # FIXME: ref is not set to ref_diurnal here
126125 ref_diurnal , lst = composite_diurnal_cycle ( # type: ignore
127126 ds_ref , var , season , fft = False
128127 )
128+ ref = ref_diurnal
129129
130130 refs .append (ref )
131131
@@ -174,13 +174,17 @@ def _run_diag_diurnal_cycle_zt(parameter: ARMDiagsParameter) -> ARMDiagsParamete
174174
175175 test_ds = Dataset (parameter , data_type = "test" )
176176 ds_test = test_ds .get_time_series_dataset (var , single_point = True )
177- ds_test_plevs = regrid_z_axis_to_plevs (ds_test , var , plevs )
178- ds_test_plevs ["lat" ] = ds_test .lat .values
179- ds_test_plevs ["lon" ] = ds_test .lon .values
180177
181- da_test_diurnal , lst = composite_diurnal_cycle ( # type: ignore
182- ds_test_plevs , var , season , fft = False
183- )
178+ if has_z_axis (ds_test [var ]):
179+ ds_test_plevs = regrid_z_axis_to_plevs (ds_test , var , plevs )
180+ ds_test_plevs ["lat" ] = ds_test .lat
181+ ds_test_plevs ["lon" ] = ds_test .lon
182+
183+ # FIXME: `test_diurnal` differs compared to `main` branch
184+ # 684 nans compared to 223 nans
185+ test_diurnal , lst = composite_diurnal_cycle ( # type: ignore
186+ ds_test_plevs , var , season , fft = False
187+ )
184188
185189 refs = []
186190 if "armdiags" in ref_name :
@@ -197,7 +201,7 @@ def _run_diag_diurnal_cycle_zt(parameter: ARMDiagsParameter) -> ARMDiagsParamete
197201 if var == "CLOUD" :
198202 ref_var = ds_ref ["cl_p" ].values
199203 ref_var = np .reshape (ref_var , (12 , 24 , ref_var .shape [1 ]))
200- da_ref_diurnal = ref_var
204+ ref_diurnal = ref_var
201205
202206 else :
203207 ref_ds = Dataset (parameter , data_type = "ref" )
@@ -207,11 +211,11 @@ def _run_diag_diurnal_cycle_zt(parameter: ARMDiagsParameter) -> ARMDiagsParamete
207211 ds_ref_plevs ["lat" ] = ds_test .lat .values
208212 ds_ref_plevs ["lon" ] = ds_test .lon .values
209213
210- da_ref_diurnal , lst = composite_diurnal_cycle ( # type: ignore
214+ ref_diurnal , lst = composite_diurnal_cycle ( # type: ignore
211215 ds_ref_plevs , var , season , fft = False
212216 )
213217
214- refs .append (da_ref_diurnal )
218+ refs .append (ref_diurnal )
215219
216220 # Create the metrics dictionary.
217221 metrics_dict = {}
@@ -220,7 +224,7 @@ def _run_diag_diurnal_cycle_zt(parameter: ARMDiagsParameter) -> ARMDiagsParamete
220224 # Update the result metrics dictionary and store it in the vars_
221225 # to_data dictionary.
222226 result = RefsTestMetrics (
223- test = da_test_diurnal , refs = refs , metrics = None , misc = lst
227+ test = test_diurnal , refs = refs , metrics = None , misc = lst
224228 )
225229 vars_to_data [season ] = result
226230
0 commit comments