mirror of
https://github.com/meteoinfo/MeteoInfo.git
synced 2025-12-08 20:36:05 +00:00
support read_dataframe function for micaps 3 dataset
This commit is contained in:
parent
15b2c381b4
commit
fd22bcb973
@ -1,13 +1,13 @@
|
|||||||
<component name="libraryTable">
|
<component name="libraryTable">
|
||||||
<library name="Maven: org.apache.commons:commons-math4-core:4.0-SNAPSHOT">
|
<library name="Maven: org.apache.commons:commons-math4-core:4.0-SNAPSHOT">
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-math4-core/4.0-SNAPSHOT/commons-math4-core-4.0-20221125.173343-488.jar!/" />
|
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-math4-core/4.0-SNAPSHOT/commons-math4-core-4.0-SNAPSHOT.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
<JAVADOC>
|
<JAVADOC>
|
||||||
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-math4-core/4.0-SNAPSHOT/commons-math4-core-4.0-20221125.173343-488-javadoc.jar!/" />
|
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-math4-core/4.0-SNAPSHOT/commons-math4-core-4.0-SNAPSHOT-javadoc.jar!/" />
|
||||||
</JAVADOC>
|
</JAVADOC>
|
||||||
<SOURCES>
|
<SOURCES>
|
||||||
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-math4-core/4.0-SNAPSHOT/commons-math4-core-4.0-20221125.173343-488-sources.jar!/" />
|
<root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-math4-core/4.0-SNAPSHOT/commons-math4-core-4.0-SNAPSHOT-sources.jar!/" />
|
||||||
</SOURCES>
|
</SOURCES>
|
||||||
</library>
|
</library>
|
||||||
</component>
|
</component>
|
||||||
@ -288,8 +288,7 @@ public class MICAPS3DataInfo extends DataInfo implements IStationDataInfo {
|
|||||||
for (String vName : this._fieldList) {
|
for (String vName : this._fieldList) {
|
||||||
switch (vName) {
|
switch (vName) {
|
||||||
case "Stid":
|
case "Stid":
|
||||||
dtype = DataType.STRING;
|
continue;
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
dtype = DataType.FLOAT;
|
dtype = DataType.FLOAT;
|
||||||
break;
|
break;
|
||||||
@ -305,12 +304,9 @@ public class MICAPS3DataInfo extends DataInfo implements IStationDataInfo {
|
|||||||
for (int j = 0; j < data.size(); j++) {
|
for (int j = 0; j < data.size(); j++) {
|
||||||
dd = (Array) data.get(j);
|
dd = (Array) data.get(j);
|
||||||
switch (dd.getDataType()) {
|
switch (dd.getDataType()) {
|
||||||
case STRING:
|
|
||||||
dd.setString(i, dataList.get(j));
|
|
||||||
break;
|
|
||||||
case FLOAT:
|
case FLOAT:
|
||||||
try {
|
try {
|
||||||
dd.setFloat(i, Float.parseFloat(dataList.get(j)));
|
dd.setFloat(i, Float.parseFloat(dataList.get(j + 1)));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
dd.setFloat(i, Float.NaN);
|
dd.setFloat(i, Float.NaN);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,14 +22,12 @@
|
|||||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\norm_1.py"/>
|
<OpenedFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\norm_1.py"/>
|
||||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3.py"/>
|
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3.py"/>
|
||||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3-2.py"/>
|
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3-2.py"/>
|
||||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3_dataframe_1.py"/>
|
|
||||||
</OpenedFiles>
|
</OpenedFiles>
|
||||||
<RecentFiles>
|
<RecentFiles>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\LaSW\airship\sounding.py"/>
|
<RecentFile File="D:\Working\MIScript\Jython\mis\LaSW\airship\sounding.py"/>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\norm_1.py"/>
|
<RecentFile File="D:\Working\MIScript\Jython\mis\common_math\linalg\norm_1.py"/>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3.py"/>
|
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3.py"/>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3-2.py"/>
|
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3-2.py"/>
|
||||||
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_3_dataframe_1.py"/>
|
|
||||||
</RecentFiles>
|
</RecentFiles>
|
||||||
</File>
|
</File>
|
||||||
<Font>
|
<Font>
|
||||||
@ -37,5 +35,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="-7,0" MainFormSize="1394,795"/>
|
<Startup MainFormLocation="-7,-7" MainFormSize="1293,685"/>
|
||||||
</MeteoInfo>
|
</MeteoInfo>
|
||||||
|
|||||||
Binary file not shown.
@ -495,7 +495,7 @@ def flowfun(u, v):
|
|||||||
|
|
||||||
return psi, phi
|
return psi, phi
|
||||||
|
|
||||||
def eof(x, svd=True, transform=False):
|
def eof(x, svd=True, transform=False, return_index=False):
|
||||||
"""
|
"""
|
||||||
Empirical Orthogonal Function (EOF) analysis to finds both time series and spatial patterns.
|
Empirical Orthogonal Function (EOF) analysis to finds both time series and spatial patterns.
|
||||||
|
|
||||||
@ -504,9 +504,10 @@ def eof(x, svd=True, transform=False):
|
|||||||
:param transform: (*boolean*) Do space-time transform or not. This transform will speed up
|
:param transform: (*boolean*) Do space-time transform or not. This transform will speed up
|
||||||
the computation if the space location number is much more than time stamps. Only valid
|
the computation if the space location number is much more than time stamps. Only valid
|
||||||
when ``svd=False``.
|
when ``svd=False``.
|
||||||
|
:param return_index: (*bool*) Whether return valid index. Default is `False`.
|
||||||
|
|
||||||
:returns: (EOF, E, PC) EOF: eigen vector 2-D array; E: eigen values 1-D array;
|
:returns: (EOF, E, PC, [valid_index]) EOF: eigen vector 2-D array; E: eigen values 1-D array;
|
||||||
PC: Principle component 2-D array.
|
PC: Principal component 2-D array. Optional valid_index: Valid data (not NaN) index 1-D array.
|
||||||
"""
|
"""
|
||||||
has_nan = False
|
has_nan = False
|
||||||
if x.contains_nan(): #Has NaN value
|
if x.contains_nan(): #Has NaN value
|
||||||
@ -549,9 +550,15 @@ def eof(x, svd=True, transform=False):
|
|||||||
_PC = np.ones(x.shape) * np.nan
|
_PC = np.ones(x.shape) * np.nan
|
||||||
_EOF[valid_idx,:] = EOF
|
_EOF[valid_idx,:] = EOF
|
||||||
_PC[valid_idx,:] = PC
|
_PC[valid_idx,:] = PC
|
||||||
return _EOF, E, _PC, valid_idx
|
if return_index:
|
||||||
|
return _EOF, E, _PC, valid_idx
|
||||||
|
else:
|
||||||
|
return _EOF, E, _PC
|
||||||
else:
|
else:
|
||||||
return EOF, E, PC
|
if return_index:
|
||||||
|
return EOF, E, PC, np.arange(x.shape[0])
|
||||||
|
else:
|
||||||
|
return EOF, E, PC
|
||||||
|
|
||||||
def varimax(x, normalize=False, tol=1e-10, it_max=1000):
|
def varimax(x, normalize=False, tol=1e-10, it_max=1000):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user