Geolocation of VNP09 data
Posted: Mon Jan 09, 2023 3:55 pm America/New_York
Hello,
I had a question regarding the geolocation of VNP09 VIIRS 375m and 750m surface reflectance data to create GeoTIFFs. I am getting all of the files from the LAADS 5000 archive, using the VNP09 (HDF4) files and the VNP03IMGLL (HDF5) and VNP03MODLL (HDF5) files to get the geolocation arrays for the 375 and 750m bands. I am then using GDAL (the python bindings) to build a VRT from the data and then using gdal.Warp() with geoloc=True to force the use of the geolocation arrays.
While this works, the output image is upside down. I realized that this is happening because despite the geolocation files (VNP03) being HDF5 files, the underlying layers still say NETCDF and so GDAL is using the NETCDF driver to open them, whose default is expecting the data as bottom up. So, if I just copy the VNP03 data to a new .nc file with gdal.Translate and use `WRITE_BOTTOMUP=NO` creation option and then use this new geolocation .nc in my process, then the resulting GeoTIFF is as expected and the bands are correctly geolocated.
This seems like a strange thing to have to do and am wondering if I am missing something in the data or if there is another GDAL option or process for geolocation that I should be following? I am finding almost no resources or examples on using the VNP09 swath data on any forum.
Thanks,
Colin
I had a question regarding the geolocation of VNP09 VIIRS 375m and 750m surface reflectance data to create GeoTIFFs. I am getting all of the files from the LAADS 5000 archive, using the VNP09 (HDF4) files and the VNP03IMGLL (HDF5) and VNP03MODLL (HDF5) files to get the geolocation arrays for the 375 and 750m bands. I am then using GDAL (the python bindings) to build a VRT from the data and then using gdal.Warp() with geoloc=True to force the use of the geolocation arrays.
While this works, the output image is upside down. I realized that this is happening because despite the geolocation files (VNP03) being HDF5 files, the underlying layers still say NETCDF and so GDAL is using the NETCDF driver to open them, whose default is expecting the data as bottom up. So, if I just copy the VNP03 data to a new .nc file with gdal.Translate and use `WRITE_BOTTOMUP=NO` creation option and then use this new geolocation .nc in my process, then the resulting GeoTIFF is as expected and the bands are correctly geolocated.
This seems like a strange thing to have to do and am wondering if I am missing something in the data or if there is another GDAL option or process for geolocation that I should be following? I am finding almost no resources or examples on using the VNP09 swath data on any forum.
Thanks,
Colin