@@ -129,22 +129,22 @@ create_diagnostic (const std::string& diag_field_name,
129129 // of each group in the matches output var!
130130 // Note: use raw string syntax R"(<string>)" to avoid having to escape the \ character
131131 // Note: the number for field_at_p/h can match positive integer/floating-point numbers
132- std::regex field_at_l (R"( ([A-Za-z0-9_.+-]+)_at_(lev_(\d+)|model_(top|bot))$)" );
133- std::regex field_at_p (R"( ([A-Za-z0-9_.+-]+)_at_(\d+(\.\d+)?)(hPa|mb|Pa)$)" );
134- std::regex field_at_h (R"( ([A-Za-z0-9_.+-]+)_at_(\d+(\.\d+)?)(m)_above_(sealevel|surface)$)" );
132+ std::regex field_at_l (R"( ([A-Za-z0-9_.+-*÷ ]+)_at_(lev_(\d+)|model_(top|bot))$)" );
133+ std::regex field_at_p (R"( ([A-Za-z0-9_.+-*÷ ]+)_at_(\d+(\.\d+)?)(hPa|mb|Pa)$)" );
134+ std::regex field_at_h (R"( ([A-Za-z0-9_.+-*÷ ]+)_at_(\d+(\.\d+)?)(m)_above_(sealevel|surface)$)" );
135135 std::regex surf_mass_flux (" precip_(liq|ice|total)_surf_mass_flux$" );
136136 std::regex water_path (" (Ice|Liq|Rain|Rime|Vap)WaterPath$" );
137137 std::regex number_path (" (Ice|Liq|Rain)NumberPath$" );
138138 std::regex aerocom_cld (" AeroComCld(Top|Bot)$" );
139139 std::regex vap_flux (" (Meridional|Zonal)VapFlux$" );
140- std::regex backtend (" ([A-Za-z0-9_.+-]+)_atm_backtend$" );
140+ std::regex backtend (" ([A-Za-z0-9_.+-*÷ ]+)_atm_backtend$" );
141141 std::regex pot_temp (" (Liq)?PotentialTemperature$" );
142142 std::regex vert_layer (" (z|geopotential|height)_(mid|int)$" );
143- std::regex horiz_avg (" ([A-Za-z0-9_.+-]+)_horiz_avg$" );
144- std::regex vert_contract (" ([A-Za-z0-9_.+-]+)_vert_(avg|sum)(_((dp|dz)_weighted))?$" );
145- std::regex zonal_avg (R"( ([A-Za-z0-9_.+-]+)_zonal_avg_(\d+)_bins$)" );
146- std::regex conditional_sampling (R"( ([A-Za-z0-9_.+-]+)_where_([A-Za-z0-9_.+-]+)_(gt|ge|eq|ne|le|lt)_([+-]?\d+(?:\.\d+)?)$)" );
147- std::regex binary_ops (R"( ([A-Za-z0-9_.+-]+)_(\+|\-|\*|\÷)_([A-Za-z0-9_.]+)$)" );
143+ std::regex horiz_avg (" ([A-Za-z0-9_.+-*÷ ]+)_horiz_avg$" );
144+ std::regex vert_contract (" ([A-Za-z0-9_.+-*÷ ]+)_vert_(avg|sum)(_((dp|dz)_weighted))?$" );
145+ std::regex zonal_avg (R"( ([A-Za-z0-9_.+-*÷ ]+)_zonal_avg_(\d+)_bins$)" );
146+ std::regex conditional_sampling (R"( ([A-Za-z0-9_.+-*÷ ]+)_where_([A-Za-z0-9_.+-*÷ ]+)_(gt|ge|eq|ne|le|lt)_([+-*÷ ]?\d+(?:\.\d+)?)$)" );
147+ std::regex binary_ops (R"( ([A-Za-z0-9_.+-*÷ ]+)_(\+|\-|\*|\÷)_([A-Za-z0-9_.]+)$)" );
148148
149149 std::string diag_name;
150150 std::smatch matches;
0 commit comments