-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gdalwarp with multithreading return corrupted data (netcdf + geos projection) #1989
Milestone
Comments
rouault
added a commit
to rouault/PROJ
that referenced
this issue
Nov 12, 2019
… coord operations Fixes OSGeo/gdal#1989 pj_set_ctx() only changes the context to the main object. It should also recurse down to the steps of the pipeline and the alternative coordinate operations hold in alternativeCoordinateOperations In the GDAL use case with multithreaded reprojection, and objects being transferred between thread, this would cause a failed coordinate transformation to affect an unrelated transformation of another thread...
backporting bot
pushed a commit
to OSGeo/PROJ
that referenced
this issue
Nov 12, 2019
… coord operations Fixes OSGeo/gdal#1989 pj_set_ctx() only changes the context to the main object. It should also recurse down to the steps of the pipeline and the alternative coordinate operations hold in alternativeCoordinateOperations In the GDAL use case with multithreaded reprojection, and objects being transferred between thread, this would cause a failed coordinate transformation to affect an unrelated transformation of another thread...
@rouault thanks for looking at this ❤️ |
Several options:
|
rouault
added a commit
to OSGeo/PROJ
that referenced
this issue
Nov 12, 2019
… coord operations Fixes OSGeo/gdal#1989 pj_set_ctx() only changes the context to the main object. It should also recurse down to the steps of the pipeline and the alternative coordinate operations hold in alternativeCoordinateOperations In the GDAL use case with multithreaded reprojection, and objects being transferred between thread, this would cause a failed coordinate transformation to affect an unrelated transformation of another thread...
rouault
added a commit
to rouault/gdal
that referenced
this issue
Nov 12, 2019
…hread which created it (fixes OSGeo#1989). This workarounds a PROJ bug also fixed per OSGeo/PROJ#1726
rouault
added a commit
that referenced
this issue
Nov 12, 2019
Multithreaded warper: make sure a transformer object is used by the the thread which created it (fixes #1989)
rouault
added a commit
that referenced
this issue
Nov 12, 2019
…hread which created it (fixes #1989). This workarounds a PROJ bug also fixed per OSGeo/PROJ#1726
rouault
added a commit
that referenced
this issue
Nov 12, 2019
…hread which created it (fixes #1989). This workarounds a PROJ bug also fixed per OSGeo/PROJ#1726
Backported to 3.0 and 2.4 branches |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi, following some experiment mentioned in #1985, I encountered another strange behaviour when doing warping with multithreading enabled.
Steps to reproduce the problem.
$ aws s3 cp s3://noaa-goes16/ABI-L1b-RadF/2019/295/14/OR_ABI-L1b-RadF-M6C01_G16_s20192951400357_e20192951410065_c20192951410137.nc . $ gdalwarp netcdf:OR_ABI-L1b-RadF-M6C01_G16_s20192951400357_e20192951410065_c20192951410137.nc:Rad rad_multi.tif -wo NUM_THREADS=8 -t_srs EPSG:4326
See the image above 👇 . Using multithreading creates lines with
nodata
values where it should be valid values.When reducing the size of the chunk (reducing memory) fixes the lines (but print some error message, which from my understanding, are expected because some points are in space.)
Note: Not sure if this a bug report or more an issue to serve as documentation for people doing such work.
GDAL version and provenance
gdal 3.0.1 (source)
The text was updated successfully, but these errors were encountered: