mirror of
https://github.com/meteoinfo/MeteoInfo.git
synced 2025-12-08 20:36:05 +00:00
bugfix for micaps 4 data file reading
This commit is contained in:
parent
2f830b50c4
commit
a67293bf8e
@ -69,7 +69,7 @@ import java.util.zip.ZipInputStream;
|
||||
public static String getVersion() {
|
||||
String version = GlobalUtil.class.getPackage().getImplementationVersion();
|
||||
if (version == null || version.equals("")) {
|
||||
version = "4.0.2";
|
||||
version = "4.0.3";
|
||||
}
|
||||
return version;
|
||||
}
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
package org.meteoinfo.common.util;
|
||||
|
||||
public class NumberUtil {
|
||||
|
||||
/**
|
||||
* Check if the string is an integer
|
||||
*
|
||||
* @param str The string
|
||||
* @return Is an integer or not
|
||||
*/
|
||||
public static boolean isInteger(String str) {
|
||||
return str.matches("-?\\d+");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if the string is a decimal
|
||||
*
|
||||
* @param str The string
|
||||
* @return Is a decimal or not
|
||||
*/
|
||||
public static boolean isDecimal(String str) {
|
||||
return str.matches("-?\\d*\\.\\d+");
|
||||
}
|
||||
}
|
||||
@ -13,8 +13,10 @@
|
||||
*/
|
||||
package org.meteoinfo.data.meteodata.micaps;
|
||||
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.meteoinfo.common.MIMath;
|
||||
import org.meteoinfo.common.util.JDateUtil;
|
||||
import org.meteoinfo.common.util.NumberUtil;
|
||||
import org.meteoinfo.data.GridData;
|
||||
import org.meteoinfo.data.dimarray.DimArray;
|
||||
import org.meteoinfo.data.meteodata.DataInfo;
|
||||
@ -57,7 +59,7 @@ public class MICAPS4DataInfo extends DataInfo implements IGridDataInfo {
|
||||
private double[] _yArray;
|
||||
private int _headLineNum;
|
||||
private boolean _yReverse = false;
|
||||
private int _preHours;
|
||||
private float _preHours;
|
||||
private int _level;
|
||||
// </editor-fold>
|
||||
// <editor-fold desc="Constructor">
|
||||
@ -98,9 +100,9 @@ public class MICAPS4DataInfo extends DataInfo implements IGridDataInfo {
|
||||
dataList.add(dataArray[i]);
|
||||
}
|
||||
}
|
||||
if (dataList.size() < 21) {
|
||||
if (dataList.size() < 17) {
|
||||
for (n = 0; n <= 10; n++) {
|
||||
if (dataList.size() < 21) {
|
||||
if (dataList.size() < 17) {
|
||||
aLine = sr.readLine().trim();
|
||||
dataArray = aLine.split("\\s+");
|
||||
for (i = 0; i < dataArray.length; i++) {
|
||||
@ -125,11 +127,17 @@ public class MICAPS4DataInfo extends DataInfo implements IGridDataInfo {
|
||||
year = 1900 + year;
|
||||
}
|
||||
}
|
||||
_preHours = Integer.parseInt(dataList.get(idx + 4));
|
||||
LocalDateTime time = LocalDateTime.of(year, Integer.parseInt(dataList.get(idx + 1)),
|
||||
Integer.parseInt(dataList.get(idx + 2)),
|
||||
Integer.parseInt(dataList.get(idx + 3)), 0, 0);
|
||||
time = time.plusHours(_preHours);
|
||||
String preHourStr = dataList.get(idx + 4);
|
||||
if (NumberUtil.isInteger(preHourStr)) {
|
||||
_preHours = Integer.parseInt(preHourStr);
|
||||
time = time.plusHours((int) _preHours);
|
||||
} else {
|
||||
_preHours = Float.parseFloat(preHourStr);
|
||||
time = time.plusMinutes((int) (_preHours * 60));
|
||||
}
|
||||
|
||||
_level = Integer.parseInt(dataList.get(idx + 5));
|
||||
float XDelt = Float.parseFloat(dataList.get(idx + 6));
|
||||
@ -140,16 +148,16 @@ public class MICAPS4DataInfo extends DataInfo implements IGridDataInfo {
|
||||
float YMax = Float.parseFloat(dataList.get(idx + 11));
|
||||
int XNum = Integer.parseInt(dataList.get(idx + 12));
|
||||
int YNum = Integer.parseInt(dataList.get(idx + 13));
|
||||
float contourDelt = Float.parseFloat(dataList.get(idx + 14));
|
||||
/*float contourDelt = Float.parseFloat(dataList.get(idx + 14));
|
||||
float contourSValue = Float.parseFloat(dataList.get(idx + 15));
|
||||
float contourEValue = Float.parseFloat(dataList.get(idx + 16));
|
||||
float smoothCo = Float.parseFloat(dataList.get(idx + 17));
|
||||
float boldValue = Float.parseFloat(dataList.get(idx + 18));
|
||||
boolean isLonLat;
|
||||
if (dataList.get(idx + 16).equals("-1") || dataList.get(idx + 16).equals("-2") || dataList.get(idx + 16).equals("-3")) {
|
||||
isLonLat = false;
|
||||
} else {
|
||||
isLonLat = true;
|
||||
float boldValue = Float.parseFloat(dataList.get(idx + 18));*/
|
||||
boolean isLonLat = true;
|
||||
if (dataList.size() >= 20) {
|
||||
if (dataList.get(idx + 16).equals("-1") || dataList.get(idx + 16).equals("-2") || dataList.get(idx + 16).equals("-3")) {
|
||||
isLonLat = false;
|
||||
}
|
||||
}
|
||||
_xArray = new double[XNum];
|
||||
for (i = 0; i < XNum; i++) {
|
||||
@ -218,7 +226,7 @@ public class MICAPS4DataInfo extends DataInfo implements IGridDataInfo {
|
||||
public String generateInfoText() {
|
||||
String dataInfo;
|
||||
dataInfo = "Description: " + _description;
|
||||
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:00");
|
||||
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
|
||||
dataInfo += System.getProperty("line.separator") + "Time: " + format.format(this.getTimes().get(0));
|
||||
dataInfo += System.getProperty("line.separator") + super.generateInfoText();
|
||||
|
||||
|
||||
@ -1,32 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<MeteoInfo File="milconfig.xml" Type="configurefile">
|
||||
<Path OpenPath="D:\Working\MIScript\Jython\mis\io\burf">
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\surf"/>
|
||||
<Path OpenPath="D:\Working\MIScript\Jython\mis\io\micaps">
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\json"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\map\webmap"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\array"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\wind"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\grib"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\netcdf"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\zarr"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\satellite"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\satellite\calipso"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\burf"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\satellite"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\satellite\ascat"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\micaps"/>
|
||||
</Path>
|
||||
<File>
|
||||
<OpenedFiles>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\zarr\icon_2.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\zarr\zarr_1.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\satellite\calipso\CALIPSO_L1.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\satellite\ascat\ascat_1.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_4_11.py"/>
|
||||
</OpenedFiles>
|
||||
<RecentFiles>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\io\zarr\icon_2.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\io\zarr\zarr_1.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\satellite\calipso\CALIPSO_L1.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\satellite\ascat\ascat_1.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\io\micaps\micaps_4_11.py"/>
|
||||
</RecentFiles>
|
||||
</File>
|
||||
<Font>
|
||||
|
||||
2
pom.xml
2
pom.xml
@ -35,7 +35,7 @@
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<revision>4.0.2</revision>
|
||||
<revision>4.0.3</revision>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<maven.compiler.release>8</maven.compiler.release>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user