Browse Source

The inverted vertical axis treatment is placed in the proper place

lintest
Michael Uleysky 7 months 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; break;
} }
} }
if(depthinv) ppar->layer = depths.size() - ppar->layer - 1;
} }
pars.SetParameter("depth", Depth(ppar->layer)); 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 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) 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}) 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}, : 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(); if(!ret) return Data();
} }
else 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}) 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}, : 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(); if(!ret) return Data();
} }
{ {
@ -290,7 +291,7 @@ template<class DataType> LayeredDataZ::Data LayeredDataZ::ReadVarRaw(const NC& f
auto ret = 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}) 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(); if(!ret) return Data();
} }
} }

Loading…
Cancel
Save