From 75a960d32319619c6ba76504177946b6bf67b369 Mon Sep 17 00:00:00 2001 From: Naser Mahfouz Date: Sun, 27 Jul 2025 19:58:25 -0400 Subject: [PATCH] EAMxx: expand regex to allow for names with dots --- components/eamxx/src/share/io/eamxx_io_utils.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/components/eamxx/src/share/io/eamxx_io_utils.cpp b/components/eamxx/src/share/io/eamxx_io_utils.cpp index 0639150e910b..52d5a399da10 100644 --- a/components/eamxx/src/share/io/eamxx_io_utils.cpp +++ b/components/eamxx/src/share/io/eamxx_io_utils.cpp @@ -127,20 +127,20 @@ create_diagnostic (const std::string& diag_field_name, // of each group in the matches output var! // Note: use raw string syntax R"()" to avoid having to escape the \ character // Note: the number for field_at_p/h can match positive integer/floating-point numbers - std::regex field_at_l (R"(([A-Za-z0-9_]+)_at_(lev_(\d+)|model_(top|bot))$)"); - std::regex field_at_p (R"(([A-Za-z0-9_]+)_at_(\d+(\.\d+)?)(hPa|mb|Pa)$)"); - std::regex field_at_h (R"(([A-Za-z0-9_]+)_at_(\d+(\.\d+)?)(m)_above_(sealevel|surface)$)"); + std::regex field_at_l (R"(([A-Za-z0-9_.]+)_at_(lev_(\d+)|model_(top|bot))$)"); + std::regex field_at_p (R"(([A-Za-z0-9_.]+)_at_(\d+(\.\d+)?)(hPa|mb|Pa)$)"); + std::regex field_at_h (R"(([A-Za-z0-9_.]+)_at_(\d+(\.\d+)?)(m)_above_(sealevel|surface)$)"); std::regex surf_mass_flux ("precip_(liq|ice|total)_surf_mass_flux$"); std::regex water_path ("(Ice|Liq|Rain|Rime|Vap)WaterPath$"); std::regex number_path ("(Ice|Liq|Rain)NumberPath$"); std::regex aerocom_cld ("AeroComCld(Top|Bot)$"); std::regex vap_flux ("(Meridional|Zonal)VapFlux$"); - std::regex backtend ("([A-Za-z0-9_]+)_atm_backtend$"); + std::regex backtend ("([A-Za-z0-9_.]+)_atm_backtend$"); std::regex pot_temp ("(Liq)?PotentialTemperature$"); std::regex vert_layer ("(z|geopotential|height)_(mid|int)$"); - std::regex horiz_avg ("([A-Za-z0-9_]+)_horiz_avg$"); - std::regex vert_contract ("([A-Za-z0-9_]+)_vert_(avg|sum)(_((dp|dz)_weighted))?$"); - std::regex zonal_avg (R"(([A-Za-z0-9_]+)_zonal_avg_(\d+)_bins$)"); + std::regex horiz_avg ("([A-Za-z0-9_.]+)_horiz_avg$"); + std::regex vert_contract ("([A-Za-z0-9_.]+)_vert_(avg|sum)(_((dp|dz)_weighted))?$"); + std::regex zonal_avg (R"(([A-Za-z0-9_.]+)_zonal_avg_(\d+)_bins$)"); std::string diag_name; std::smatch matches;