Page 1 of 1

ABI 500m grid parameters

Posted: Wed Mar 27, 2024 12:55 pm
by kathys
It has come to my attention that the last 2 parameters listed for the ABI 500m grid are off by 1/2 the width of a pixel, i.e., 250m. The config file lists the following values:

-5434894.885056, 5434894.885056

I believe these values should instead be:

-5434644.885056, 5434644.885056

Re: ABI 500m grid parameters

Posted: Wed Mar 27, 2024 3:01 pm
by davidh
Thanks for reaching out. Of course we want any provided configurations to be accurate. I assume you modified some calculations from the work we did in your AHI post here (viewtopic.php?t=59552)? Otherwise, I don't see any ABI 500m grids in the Polar2Grid/Geo2Grid "grids.yaml" file that you can find here:

https://github.com/ssec/polar2grid/blob ... grids.yaml

Also note that ABI pixels are not perfectly round integer sizes. So a 1km grid is actually something like 1015.9 meters in height and width. Also, the scaling factor for the x and y coordinate variables in the PUG ABI Level 1b format are 32-bit floats which are insufficient for properly calculating coordinate locations across the entire full disk region.

If you could provide more details on how you came up with your numbers then hopefully I can track down a solution.

Re: ABI 500m grid parameters

Posted: Wed Jun 12, 2024 11:40 am
by wbresky
Sorry for the slow response. I wasn't notified that there was a reply to my original post, or I missed it somehow. I computed the corner parameters of the 500m ABI full disk grid using satpy code found in this file:

~/miniconda3/pkgs/satpy-0.42.2-pyhd8ed1ab_0/site-packages/satpy/readers/abi_base.py

In the above file there is a method called "_get_areadef_fixedgrid." I basically wrote a test python program that copied the logic from that method. For h, the satellite height, I used the value 35786023 found in this file:

~/miniconda3/pkgs/satpy-0.42.2-pyhd8ed1ab_0/site-packages/satpy/etc/areas.yaml

Before posting the 500m values in my original message, I used my test program to compute the low-resolution ABI grid extents and they matched the values in the grid_example.conf text file that came with the polar2grid installation. This gave me some confidence the new 500m values were correct.

I, honestly, do not recall where the original (incorrect) values of the 500m corner points came from or how they were computed. I found them in a local polar2grid config file.

Re: ABI 500m grid parameters

Posted: Wed Jun 19, 2024 1:41 pm
by davidh
Sorry for the slow reply myself. I just got back from leave.

I'm still not sure I understand the problem unfortunately. Sorry. Is your last comment saying that this isn't a problem anymore? As stated in my original message, I'm not sure what 500m grid/area you're talking about and it sounds like you're not sure now either. :)

Note that if you were looking at old Polar2Grid-style ".conf" grid definition files then they may have been listing the "origin" of the grid. This value is the coordinate of the upper-left pixel's center. The extents used in the newer YAML format should be the outer edges of these pixels and would therefore be half a pixel off from the old .conf format's "origin".

Re: ABI 500m grid parameters

Posted: Mon Jun 24, 2024 9:04 am
by wbresky
The extents used in the newer YAML format should be the outer edges of these pixels and would therefore be half a pixel off from the old .conf format's "origin".
I think you hit the nail on the head in your last sentence. The 500m grid values must have come from a newer YAML file and then got inserted into the old Polar2Grid ".conf" file as a test. That would explain it. Either way, the issue has been corrected. Thanks.