Git Product home page Git Product logo

meteoinfo's People

Contributors

alexkarezin avatar apete avatar chen-0126 avatar dependabot[bot] avatar linjiacheng avatar yaqiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meteoinfo's Issues

Trajectory calculation for multiple months

I want to calculate the trajectories for two months (May and June). However, in the attached only YY MM possible. I can calculate for one month. When it comes to two months, what should I put on the MM option?

traj cal

can't open the MeteoInfo_3.3.0

Dr. Wang:
recently, I want to upgrade the MeteoInfo from V3.0.1 to V3.3.0.
but, I can't open the MeteoInfoLab.exe, and receive application error.
Below is the error message:
image
When I try to open the MeteoInfoMap.exe, the loading screen flashed by and main screen will not appear later.
These things only happen in V3.3.0.
I can normal use V3.0.1 without any error on the same computer.
I don't know why this is happening~

Views.java 类中出现List<String>,List<Object>类型不匹配错误

MeteoInfo-master\MeteoInfoLib\src\main\java\org\meteoinfo\data\dataframe\impl\Views.java 类中
entrySet中的迭代器iterator类型不匹配。
尝试用以下方法解决:
添加转换方法:
public static <T> List<T> castList(Object obj, Class<T> clazz) { List<T> result = new ArrayList<T>(); if(obj instanceof List<?>) { for (Object o : (List<?>) obj) { result.add(clazz.cast(o)); } return result; } return null; }
使用转换方法:
final List names = transpose ? df.getIndex().getValues() : castList(df.getColumns().getNames(), Object.class);

MeteoInfo-3.7.0 严重bug反馈

1、读取S2S-CMA资料时,GirdData对象中的纬度集合顺序错了,结果是从大到小顺序,导致获取最小纬度和最大纬度出错,最终导致网格插值到站点时,全部为NaN,导致失败。
2、EC,S2S模式资料都是多成员预报网格,目前各个版本只能读取单个成员变量的预报网格,不知是否可以升级,支持多成员的网格读取。
感谢

Points of LinearRing do not form a closed linestring

MeteoInfo-3.3.0

对已绘制的layer进行按行政边界裁剪(layer.clip)当图例中的values最小值设置超一定范围报异常,设置适当的值则裁剪正常,裁剪会受到图例的值范围影响。

java.lang.IllegalArgumentException: Points of LinearRing do not form a closed linestring

at org.locationtech.jts.geom.LinearRing.validateConstruction(LinearRing.java:90)
at org.locationtech.jts.geom.LinearRing.<init>(LinearRing.java:85)
at org.locationtech.jts.geom.GeometryFactory.createLinearRing(GeometryFactory.java:382)
at org.locationtech.jts.geom.GeometryFactory.createLinearRing(GeometryFactory.java:369)
at org.meteoinfo.geometry.shape.Polygon.toGeometry(Polygon.java:240)
at org.meteoinfo.geometry.shape.PolygonShape.toGeometry(PolygonShape.java:162)
at org.meteoinfo.geometry.shape.Shape.toGeometry(Shape.java:293)
at org.meteoinfo.geometry.shape.Shape.intersection(Shape.java:327)
at org.meteoinfo.geo.layer.VectorLayer.clip(VectorLayer.java:1651)
at org.meteoinfo.geo.layer.VectorLayer.clip(VectorLayer.java:1629)
at org.meteoinfo.geo.layer.VectorLayer.clip(VectorLayer.java:1607)

About convert grib data to ARL

Dear author,

Good morning! I have some questions about converting grib data to ARL.

Convert GRIB data to ARL data

#---- Set data folder
datadir = 'D:/mock'
#---- Set output data file
outfn = os.path.join(datadir, 'test_grib.arl')
#if os.path.exists(outfn):

os.remove(outfn)

#---- Read a GRIB data file
infn = os.path.join(datadir, '20220630.grb2')
print infn
inf = addfile(infn)
print 'GRIB data file has been opened...'
#---- Set output ARL data file
arlf = addfile(outfn, 'c', dtype='arl')
#---- Set variable and level list
gvar2d = ['Pressure_surface','Temperature_surface','u-component_of_wind_height_above_ground',
'v-component_of_wind_height_above_ground']
gvar3d = ['Geopotential_isobaric','Temperature_isobaric','Pressure_Vertical_velocity_isobaric',
'u-component_of_wind_isobaric','v-component_of_wind_isobaric','Specific_humidity_isobaric']
avar2d = ['PRSS','T02M','U10M','V10M']
avar3d = ['HGTS','TEMP','WWND','UWND','VWND','SPHU']
gv = inf['Geopotential_isobaric']
nx = gv.dimlen(gv.ndim - 1)
ny = gv.dimlen(gv.ndim - 2)
levels = gv.dimvalue(gv.ndim - 3)[::-1]
nz = len(levels)
arlf.setlevels(levels)
arlf.set2dvar(avar2d)
for l in levels:
arlf.set3dvar(avar3d)

#---- Write ARL data file
arlf.setx(gv.dimvalue(gv.ndim - 1))
arlf.sety(gv.dimvalue(gv.ndim - 2))
tNum = inf.timenum()
fhour = 0
for t in range(0, tNum):
print 'Time index: ' + str(t)
atime = inf.gettime(t)
print atime.strftime('%Y-%m-%d %H:00')
dhead = arlf.getdatahead(inf.proj, 'RSMC', 2, fhour)
#Pre-write index record without checksum - will be over-write latter
arlf.writeindexrec(atime, dhead)
#Checksum list
ksumlist = []
# Write 2d variables
ksums = []
for avname,gvname in zip(avar2d, gvar2d):
print avname + ' ' + gvname
if avname == 'U10M' or avname == 'V10M':
gdata = inf[gvname][t,0,:,:]
else:
gdata = inf[gvname][t,:,:]
if avname == 'PRSS':
gdata = gdata * 0.01
ksum = arlf.writedatarec(atime, 0, avname, fhour, 99, gdata)
ksums.append(ksum)
ksumlist.append(ksums)
# Write 3d variables
for lidx in range(0, nz):
ksums = []
llidx = nz - lidx - 1
print lidx
print llidx
for avname,gvname in zip(avar3d, gvar3d):
print avname + ' ' + gvname
gdata = inf[gvname][t,llidx,:,:]
if avname == 'WWND':
gdata = gdata * 0.01
elif avname == 'SPHU':
gdata = gdata * 1000.
ksum = arlf.writedatarec(atime, lidx + 1, avname, fhour, 99, gdata)
ksums.append(ksum)
ksumlist.append(ksums)
#Re-write index record with checksum
arlf.writeindexrec(atime, dhead, ksumlist)
fhour += 1
arlf.close()
print 'Finished!'

When i run the script, it showed

"Geopotential_isobaric is not a variable name"
Traceback (most recent call last):
File "", line 23, in
File "D:\MeteoInfo\pylib\mipylib\dataset\dimdatafile.py", line 50, in getitem
raise ValueError()
ValueError

So, how can i solve it? Looking forward to your reply! Thank you!

Maven搭建失败,缺少依赖

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project MeteoInfoLib: Could not resolve dependencies for project org.meteothink:MeteoInfoLib:jar:1.9: Failed to collect dependencies at org.meteothink:jts-core:jar:1.15.1

报 found non-noded intersection between LINESTRING 异常

如果再增加一个小的色阶值及颜色[3,5,7,9,11,13,15,17] [Color.pink,Color.cyan,Color.white,Color.blue,Color.green,Color.yellow,Color.red,Color.orange,Color.gray]还是会报 found non-noded intersection between LINESTRING 异常。

如何获得或计算LayoutLegend高度

在调用meteoinfo类库生成色斑图经常会碰到这种情况:图例放到色斑图的右下角。但是图例的高度如果不确定,就不能准确的放到指定的位置。在程序中图例是动态的LegendBreak的数量是动态的,所以不好设置固定高度。
目前类库中是否存在获取LayoutLegend高度的方法或者设置LayoutLegend bottom和right属性,让图例靠右下角对齐。

关于读取多层次多要素多时次的grib文件问题

您好,我这边也是使用的netcdf5.1 但是读取的单要素单层次多时次的文件 数据没有问题,但是接下来的多层次文件 对其中的数据结构翻阅了很多资料也没有找到解答,能请教下如何解析这种类型文件吗

Uncontrolled search path

Describe

If there is a file named "cmd.exe" located at Meteoinfo's working directory, when we run Meteoinfo, the file will be executed.

How To Reproduce

  1. Copy "calc.exe" to the folder of Meteoinfoand rename to "cmd.exe" (Just for test).
  2. Execute "MeteoInfoLab.exe"
  3. Your "calc.exe"(cmd.exe) is executed.
    image
    image

Here is demo.

CVE-2019-17664

I was working on CVE-2019-17664, and it indicates that the problem is on Jython not Ghidra.
Jython already raised the issue to fix it on next version(Jython 2.7.3), but for now is only 2.7.2.
I just that you know the Jython exploits, you can fix it yourself or wait Jython patch.

Environment

  • OS: Windows 10 x64
  • Version: MeteoInfoLab 3.1.0

绘制Barb图,显示为圆点。

image

                //风杆
                layer = DrawMeteoData.createGridBarbLayer(
                        grid.getData(),
                        grid.getData2(),
                        grid.getData2(),
                        als,
                        true,
                        "Barb_var",
                        false
                );

                layer = layer.clip(clipShp);

还是一样执行 clip 剪裁就会没有风杆,只显示圆点。

MeteoInfo-3.4
os windows 10

AWX to PNG

I want to change a .awx file to .png. But I don't konw how to paser it. Please help me, provide an idea.

Issue using convert2nc

Hi,

I'm trying to convert ARL data file to NC file using covert2nc function.

Here's the error I'm getting on python. Could you please help me solve this issue?

image

请问meteoinfolab有mac版本吗?

作者您好,我有几个问题想要请教一下:
请问meteoinfolab有mac版本吗?哪里下载呢?
网站上的代码能放到python里面运行吗?

Failed to create MKL instance:

GridData gridData = GeoMathUtil.interpolateData(stationData, interpolationSetting);

5:14:04.801 [main] DEBUG smile.math.blas.LAPACK - Failed to create MKL instance:
java.lang.ClassNotFoundException: smile.math.blas.mkl.MKL
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
at smile.math.blas.LAPACK.MKL(LAPACK.java:48)
at smile.math.blas.LAPACK.getInstance(LAPACK.java:39)
at smile.math.blas.LAPACK.(LAPACK.java:35)
at smile.math.matrix.Matrix.svd(Matrix.java:1573)
at smile.interpolation.KrigingInterpolation2D.(KrigingInterpolation2D.java:103)
at org.meteoinfo.math.interpolate.InterpUtil.kriging(InterpUtil.java:963)
at org.meteoinfo.geo.util.GeoMathUtil.interpolateData(GeoMathUtil.java:273)

dependencice:

implementation 'org.meteothink:meteoinfo-common:3.5'  
implementation 'org.meteothink:meteoinfo-math:3.5'  
implementation 'org.meteothink:meteoinfo-data:3.5'  
implementation 'org.meteothink:meteoinfo-geo:3.5'
implementation 'org.meteothink:meteoinfo-geometry:3.5'
implementation 'org.meteothink:meteoinfo-projection:3.5'
implementation 'org.meteothink:meteoinfo-ndarray:3.5'
implementation 'org.meteothink:meteoinfo-image:3.5'
implementation 'org.meteothink:meteoinfo-dataframe:3.5'
implementation 'org.meteothink:meteoinfo-table:3.5'

OS:Windows11
JDK:1.8 、IDEA

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.