pytroll / pytroll/pyresample

Gradient search not correctly resampling GOES-16 image

Open
#442 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
385
Forks
102
Avg merge
4d 2h
Merged PRs (30d)
9

Description

The gradient search is leaving chunks out of a resampled GOES-16 image, and also appears to only be using one thread.

My code:

from pyresample import create_area_def
from datetime import datetime
from satpy import Scene
from glob import glob
import sys

import warnings
warnings.filterwarnings('ignore')

proc_dt = datetime(2022, 7, 6, 15, 0, 0)

area_ext = (-180, -90, 180, 90)
res = (0.05, 0.05)
targ_area = create_area_def("source_area", "EPSG:4326", area_extent=area_ext, resolution=res)

idir_top = '/media/data/Data/global_geo/'
idir_g16 = f'{idir_top}/g16/'

# GOES-16
curfiles = glob(f'{idir_g16}/*{proc_dt.strftime("_s%Y%j%H%M")}*.nc')
scn = Scene(curfiles, reader='abi_l1b')
scn.load(['C03'])
scn = scn.resample(targ_area, resampler='gradient_search')
scn.save_datasets(writer='simple_image')

The expected output (from nearest):
nearest

The actual output (from gradient_search):
gradsrch

I tried adding reduce_data=False and playing with the radius_of_influence. Neither seems to affect the missing chunks...although reduce_data=False does fill in a small portion of the disk over Antarctica.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the provided Python script with the GOES-16 ABI data, comparing nearest with the gradient_search resampler. Read the gradient_search path used by Scene.resample, including the reduce_data and radius_of_influence options. Done means the resampled image no longer has missing chunks and the reported thread behavior is understood or corrected.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.