Skip to content
Snippets Groups Projects
Commit 7e801482 authored by Fabian Wachsmann's avatar Fabian Wachsmann
Browse files

Use rm=c

parent 971a32fe
No related branches found
Tags cdo-1.9.4
1 merge request!268Etccdi fixes
Pipeline #82601 failed
......@@ -141,7 +141,6 @@ public:
FieldVector constFields(maxRecords);
int startYear = 0;
int tsID = 0;
while (true)
{
......@@ -154,7 +153,7 @@ public:
auto vDateTime = taxisInqVdatetime(taxisID2);
if (cdiDateTime_isNE(vDateTime, taxisInqVdatetime(taxisID3)))
if (decode_month_and_day(vDateTime.date) != decode_month_and_day(taxisInqVdatetime(taxisID3).date))
cdo_abort("Verification dates at time step %d of %s and %s differ!", tsID + 1, cdo_get_stream_name(1),
cdo_get_stream_name(2));
......@@ -293,6 +292,7 @@ public:
auto dayOfYear = decode_day_of_year(vDateTime.date);
if (dayOfYear < 0 || dayOfYear >= MaxDays) cdo_abort("Day %d out of range!", dayOfYear);
vDateTimes1[dayOfYear]=vDateTime;
numSets[dayOfYear] += numDates;
......@@ -345,9 +345,8 @@ public:
for (int dayOfYear = 0; dayOfYear < MaxDays; dayOfYear++)
if (numSets[dayOfYear])
{
if (readMethod != "c")
if (decode_month_and_day(vDateTimes1[dayOfYear].date) != decode_month_and_day(vDateTimes2[dayOfYear].date))
cdo_abort("Verification dates for day %d of %s and %s are different!", dayOfYear, cdo_get_stream_name(0),
if (decode_month_and_day(vDateTimes1[dayOfYear].date) != decode_month_and_day(vDateTimes2[dayOfYear].date))
cdo_abort("Verification dates for day %d of %s and %s are different!", dayOfYear, cdo_get_stream_name(0),
cdo_get_stream_name(1));
taxisDefVdatetime(taxisID4, vDateTimes1[dayOfYear]);
......
......@@ -29,6 +29,8 @@
#include "param_conversion.h"
#include "datetime.h"
#include "field_functions.h"
#include "pmlist.h"
constexpr int MaxDays = 373;
......@@ -172,20 +174,19 @@ public:
{
auto operatorID = cdo_operator_id();
operfunc = cdo_operator_f1(operatorID);
std::string readMethod;
readMethod='0';
operator_input_arg("number of timesteps");
auto numParams = cdo_operator_argc();
numDates = parameter_to_int(cdo_operator_argv(0));
if (cdo_operator_argc() > 1)
if (numParams > 1)
{
auto params = cdo_get_oper_argv();
params = std::vector<std::string>(params.begin() + 1, params.end());
KVList kvlist;
if (kvlist.parse_arguments(params) != 0) cdo_abort("Argument parse error!");
kv = kvlist.search("rm");
if (kv && kv->nvalues > 0) readMethod = parameter_to_word(kv->values[0]);
auto kv = kvlist.search("rm");
if (kv && kv->nvalues > 0) readMethod = parameter_to_word(kv->values[0])[0];
}
auto lminmax = (operfunc == FieldFunc_Min || operfunc == FieldFunc_Max);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment