Browse Source

The inverted vertical axis treatment is placed in the proper place

master
Michael Uleysky 1 month ago
parent
commit
ae5fea9fd3
  1. 9
      src/layereddataz.cpp

9
src/layereddataz.cpp

@ -202,7 +202,6 @@ std::pair<const BaseParameters*, MString> LayeredDataZ::Parameters(michlib_inter
break;
}
}
if(depthinv) ppar->layer = depths.size() - ppar->layer - 1;
}
pars.SetParameter("depth", Depth(ppar->layer));
@ -269,11 +268,13 @@ template<class DataType> LayeredDataZ::Data LayeredDataZ::ReadVarRaw(const NC& f
auto trans = [scale, offset, unitmul](auto raw) -> DataType { return (raw * scale + offset) * unitmul; };
auto rlayer = depthinv ? depths.size() - p->layer - 1 : p->layer;
if(p->xb < p->xe)
{
auto ret = nodepth ? f.Read(name, data, trans, {dname.lonname, p->xb, p->xe - p->xb + 1}, {dname.latname, p->yb, p->ye - p->yb + 1}, {dname.timename, i, 1})
: f.Read(name, data, trans, {dname.lonname, p->xb, p->xe - p->xb + 1}, {dname.latname, p->yb, p->ye - p->yb + 1}, {dname.timename, i, 1},
{dname.depthname, p->layer, 1});
{dname.depthname, rlayer, 1});
if(!ret) return Data();
}
else
@ -281,7 +282,7 @@ template<class DataType> LayeredDataZ::Data LayeredDataZ::ReadVarRaw(const NC& f
{
auto ret = nodepth ? f.Read(name, data, trans, {dname.lonname, p->xb, dname.nx - p->xb + 1}, {dname.latname, p->yb, p->ye - p->yb + 1}, {dname.timename, i, 1})
: f.Read(name, data, trans, {dname.lonname, p->xb, dname.nx - p->xb + 1}, {dname.latname, p->yb, p->ye - p->yb + 1}, {dname.timename, i, 1},
{dname.depthname, p->layer, 1});
{dname.depthname, rlayer, 1});
if(!ret) return Data();
}
{
@ -290,7 +291,7 @@ template<class DataType> LayeredDataZ::Data LayeredDataZ::ReadVarRaw(const NC& f
auto ret =
nodepth ? f.Read(name, shifteddata, trans, {dname.lonname, 0, p->xe + 1}, {dname.latname, p->yb, p->ye - p->yb + 1}, {dname.timename, i, 1})
: f.Read(name, shifteddata, trans, {dname.lonname, 0, p->xe + 1}, {dname.latname, p->yb, p->ye - p->yb + 1}, {dname.timename, i, 1}, {dname.depthname, p->layer, 1});
: f.Read(name, shifteddata, trans, {dname.lonname, 0, p->xe + 1}, {dname.latname, p->yb, p->ye - p->yb + 1}, {dname.timename, i, 1}, {dname.depthname, rlayer, 1});
if(!ret) return Data();
}
}

Loading…
Cancel
Save