From a0a53a83599693844b0a6dd650e173a92a411c7d Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Wed, 10 Jan 2024 13:58:31 -0700 Subject: [PATCH] per #2547, support reading variable that corresponds to dimension with different name as dimension and includes a time dimension, e.g. P_PL(Time, num_press_levels_stag) --- src/libcode/vx_nc_util/nc_var_info.cc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libcode/vx_nc_util/nc_var_info.cc b/src/libcode/vx_nc_util/nc_var_info.cc index a6116db402..6159316080 100644 --- a/src/libcode/vx_nc_util/nc_var_info.cc +++ b/src/libcode/vx_nc_util/nc_var_info.cc @@ -326,18 +326,18 @@ NcVarInfo *find_var_info_by_dim_name(NcVarInfo *vars, const string dim_name, } } + // if dimension variable is not found, find variable that has only dim_name or dim_name and time + int dim_offset = 0; if (!var) { - //StringArray dim_names; for (int i=0; i 2) continue; + dim_offset = vars[i].Ndims == 2 ? 1 : 0; + NcDim dim = get_nc_dim(vars[i].var, dim_offset); + if (IS_VALID_NC(dim) && GET_NC_NAME(dim) == dim_name) { + var = &vars[i]; + break; } + } }