Sigmet/Iris KDP data is not being properly read #1706
Replies: 14 comments 57 replies
-
Looking at the relevant code snippet, it looks like your workaround is really needed: pyart/pyart/io/_sigmetfile.pyx Lines 739 to 756 in 28c16de LIS radar works because that KDP raw data is 2-byte, which has different decoding. PRT radar has 1-byte KDP. |
Beta Was this translation helpful? Give feedback.
-
yep...
i need the code working for both lisbon (2 bytes) and porto (1 byte)
Yahoo Mail: Search, organise, conquer
On Thu, 12 Dec 2024 at 18:13, Zach ***@***.***> wrote:
The code predates my knowledge of the division by wavelength. If we need to check between the two bytes, I'm trying to think of the best way to approach this.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Change is in PR #1707 |
Beta Was this translation helpful? Give feedback.
-
Will this change be available with: conda update -c conda-forge arm_pyart ? When? Thanks |
Beta Was this translation helpful? Give feedback.
-
@johnnypeste Apologies, I'll get that out today |
Beta Was this translation helpful? Give feedback.
-
The github release is out, just need conda to pick up the new release which can be sometime later today. |
Beta Was this translation helpful? Give feedback.
-
Confirmed to be the issue, adding the conversion and will do a new release. |
Beta Was this translation helpful? Give feedback.
-
The problem of using this code ; import matplotlib.pyplot as plt import pyart read in the datatree = xd.io.open_iris_datatree(filepath) is that when I want to use: pyart.map.grid_from_radars(radar,....), I get this error: grid = pyart.map.grid_from_radars(radar, |
Beta Was this translation helpful? Give feedback.
-
Just to tell you that the change seems to be good now, after the division bt 100. However there are other issues which lead me to use xradar, namely the pixel position which is not correct in pyart (there is a shift of at leat 500 meters. Since you told me xradar is the guy for the job, I'm doing the shift... Unfortunately, grid = pyart.map.grid_from_radars((radar1,radar2), ......... etc is not accepted when radar1 and radar2 are coming from xradar (as stated in my last post...) and I have one sigmet file for each elevation and cannot find a way to merge them in a single file.. Attaching 3 files in a zip file Regards |
Beta Was this translation helpful? Give feedback.
-
If each radar is by sweep, can you try joining the radar by pyart.utils.join_radar. It should be able to stack them by sweep in one radar object. Grid from radars works with multiple radars but not radar objects separated by sweep i believe |
Beta Was this translation helpful? Give feedback.
-
pyart.utils.join_radar doesn't work also... It complains that radar1 and radar2 (obtained with xradar) don't have sweep_number (originally they all have sweep_number = 0 but is not written when converted from xradar to pyart, like, by the way radar.gate_longitude["data"] and radar.gate_latitude["data"] |
Beta Was this translation helpful? Give feedback.
-
@johnnypeste Heres code, let me know if it looks ok, adjust if need be. I don't know which if xradar or pyart is the correct for gate center. xradar doesn't have full functionality for all pyart functions yet, I wouldn't have suggested it if I knew we needed to join radars.
|
Beta Was this translation helpful? Give feedback.
-
@johnnypeste - I opened the following issue to track which components of the xradar --> py-art bridge are not working Please feel free to update that as you find bugs. Also a point of clarification as well - @zssherman and I are available until tomorrow. After that, we are on a holiday shutdown and will not be available until the first week of January. |
Beta Was this translation helpful? Give feedback.
-
In Portugal, we have several band C radars.
The data is being stored as RAW IRIS data for all radars, despite some of them are rainbow and others are vaisala.
Lisbon radar is more recent and it is originaly rainbow and then converted to iris format
Lisbon radar seems perfect when I read it in pyart with:
radar = pyart.io.read_sigmet(filename)
The kdp seems reasonable and match the results given by productx (vaisala tool)
The maximum value is for the point [30,153] with kdp = 6.71
LIS240627193002.zip
The problem is for the Porto radar which is older and is originally iris raw data.
PRT240627193006.zip
doing the same:
radar = pyart.io.read_sigmet(filename)
I get maximum kdp in the points [133,93] and [134,94] with a value of 32.706 degrees/km (!!!), which is not a reasonable value
(I think those pixels are more or less at the same place as pixel [30,153] of Lisbon radar which has 6.71 has already writen...)
Reading this Porto file with productx (vaisala tool) gives kdp = 6.14, which is similar to the 6.71 that Lisbon gives...
Now, 32.706 / 6.14 is 5.33 which the radar wavelenght (!!!)
Dividing all pyart kdp values by 5.33, I get a field which is the one decoded by Vaisala software (!!)
But only for Porto kdp data, since (as I told you) for Lisbon kdp data pyart is decoding well.
There must be some metadata information in Porto file, that pyart is desregarding, but I cannot find it...
The problem is only with kdp. Other parameters (like Z) agree in both radars and both pyart and productx
Beta Was this translation helpful? Give feedback.
All reactions