bugfix for ndarray slice

This commit is contained in:
wyq 2025-12-05 11:42:54 +08:00
parent d3f3fd894d
commit ef01dad264
4 changed files with 13 additions and 9 deletions

View File

@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<MeteoInfo File="milconfig.xml" Type="configurefile"> <MeteoInfo File="milconfig.xml" Type="configurefile">
<Path OpenPath="D:\Working\MIScript\Jython\mis\meteo"> <Path OpenPath="D:\Working\MIScript\Jython\mis\dataset">
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\dataframe"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\traj"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\test"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\test"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\burf"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\burf"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\stats"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\stats"/>
@ -12,19 +8,25 @@
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\satellite"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\satellite"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\satellite\himawari"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\satellite\himawari"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\meteo\calc"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\meteo\calc"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\contour"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\contour"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\meteo"/> <RecentFolder Folder="D:\Working\MIScript\Jython\mis\meteo"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\array"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\array\slice"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\dataset"/>
</Path> </Path>
<File> <File>
<OpenedFiles> <OpenedFiles>
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\netcdf\sht_coords.py"/> <OpenedFile File="D:\Working\MIScript\Jython\mis\io\netcdf\sht_coords.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\meteo\water_vapor_flux_digv_3.py"/> <OpenedFile File="D:\Working\MIScript\Jython\mis\meteo\water_vapor_flux_digv_3.py"/>
<OpenedFile File="D:\Working\MIScript\Jython\mis\dataset\dimarray_slice.py"/>
</OpenedFiles> </OpenedFiles>
<RecentFiles> <RecentFiles>
<RecentFile File="D:\Working\MIScript\Jython\mis\io\netcdf\sht_coords.py"/> <RecentFile File="D:\Working\MIScript\Jython\mis\io\netcdf\sht_coords.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\meteo\water_vapor_flux_digv_3.py"/> <RecentFile File="D:\Working\MIScript\Jython\mis\meteo\water_vapor_flux_digv_3.py"/>
<RecentFile File="D:\Working\MIScript\Jython\mis\dataset\dimarray_slice.py"/>
</RecentFiles> </RecentFiles>
</File> </File>
<Font> <Font>
@ -32,5 +34,5 @@
</Font> </Font>
<LookFeel DockWindowDecorated="true" LafDecorated="true" Name="FlatDarkLaf"/> <LookFeel DockWindowDecorated="true" LafDecorated="true" Name="FlatDarkLaf"/>
<Figure DoubleBuffering="true"/> <Figure DoubleBuffering="true"/>
<Startup MainFormLocation="-6,0" MainFormSize="1375,835"/> <Startup MainFormLocation="-6,0" MainFormSize="1377,854"/>
</MeteoInfo> </MeteoInfo>

View File

@ -270,7 +270,7 @@ class DimArray(NDArray):
return NDArray(r) return NDArray(r)
if onlyrange: if onlyrange:
r = ArrayMath.section(self._array, ranges, squeeze) r = ArrayMath.section(self._array, ranges, False)
else: else:
if alllist: if alllist:
r = ArrayMath.takeValues(self._array, ranges) r = ArrayMath.takeValues(self._array, ranges)
@ -294,6 +294,7 @@ class DimArray(NDArray):
for i in flips: for i in flips:
r = r.flip(i) r = r.flip(i)
r = r.reduce()
data = DimArray(r, ndims, self.proj) data = DimArray(r, ndims, self.proj)
if onlyrange: if onlyrange:
data.base = self.get_base() data.base = self.get_base()

View File

@ -221,7 +221,7 @@ class NDArray(object):
return NDArray(r) return NDArray(r)
if onlyrange: if onlyrange:
r = ArrayMath.section(self._array, ranges, squeeze) r = ArrayMath.section(self._array, ranges, False)
else: else:
if alllist: if alllist:
r = ArrayMath.takeValues(self._array, ranges) r = ArrayMath.takeValues(self._array, ranges)
@ -244,6 +244,7 @@ class NDArray(object):
for i in flips: for i in flips:
r = r.flip(i) r = r.flip(i)
r = r.reduce()
r = NDArray(r) r = NDArray(r)
if onlyrange: if onlyrange:
r.base = self.get_base() r.base = self.get_base()