Skip to content
Snippets Groups Projects

Etccdi fixes

Merged Fabian Wachsmann requested to merge etccdi-fixes into develop
4 files
+ 31
15
Compare changes
  • Side-by-side
  • Inline
Files
4
+ 8
8
@@ -100,7 +100,7 @@ writeTimesteps(int MaxMonths, int recentYear, FieldVector3D &cei, int frequency,
if (frequency == 8)
{
for (int loopmonth = 2; loopmonth < MaxMonths + 2; loopmonth++)
for (int loopmonth = 1; loopmonth < MaxMonths + 1; loopmonth++)
{
define_mid_of_time(frequency, taxisID4, recentYear, loopmonth, MaxMonths);
cdo_def_timestep(streamID4, *otsID);
@@ -109,10 +109,10 @@ writeTimesteps(int MaxMonths, int recentYear, FieldVector3D &cei, int frequency,
auto [varIDo, levelIDo] = recList[recID].get();
if (*otsID && varList1.vars[varIDo].isConstant) continue;
fieldc_div(cei[loopmonth - 2][0][levelIDo], (double) (tempdpm[loopmonth - 2] / 100.0));
fieldc_div(cei[loopmonth - 1][0][levelIDo], (double) (tempdpm[loopmonth - 1] / 100.0));
cdo_def_record(streamID4, varIDo, levelIDo);
cdo_write_record(streamID4, cei[loopmonth - 2][0][levelIDo].vec_d.data(),
cei[loopmonth - 2][0][levelIDo].numMissVals);
cdo_write_record(streamID4, cei[loopmonth - 1][0][levelIDo].vec_d.data(),
cei[loopmonth - 1][0][levelIDo].numMissVals);
}
(*otsID)++;
}
@@ -235,7 +235,7 @@ etccdi_op(ETCCDI_REQUEST &request)
const int operatorID = cdo_operator_id();
auto selection = cdo_operator_f1(operatorID);
auto frequency = cdo_operator_f2(operatorID);
auto frequency = request.compare_type;
percentile_set_method("rtype8");
@@ -697,7 +697,7 @@ etccdi_op(ETCCDI_REQUEST &request)
}
if (frequency == 8)
{
for (int month = 2; month < MaxMonths + 2; ++month)
for (int month = 1; month < MaxMonths + 1; ++month)
{
define_mid_of_time(frequency, taxisID4, bootsyear, month, MaxMonths);
cdo_def_timestep(streamID4, otsID);
@@ -709,8 +709,8 @@ etccdi_op(ETCCDI_REQUEST &request)
cdo_def_record(streamID4, varIDo, levelIDo);
cdo_write_record(
streamID4, cei[(bootsyear - request.startboot) * MaxMonths + (month - 2)][varIDo][levelIDo].vec_d.data(),
cei[(bootsyear - request.startboot) * MaxMonths + (month - 2)][varIDo][levelIDo].numMissVals);
streamID4, cei[(bootsyear - request.startboot) * MaxMonths + (month - 1)][varIDo][levelIDo].vec_d.data(),
cei[(bootsyear - request.startboot) * MaxMonths + (month - 1)][varIDo][levelIDo].numMissVals);
}
otsID++;
}
Loading