<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span>Hi Even,</span></div>
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<br>
</div>
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span>I tried the open-option <span style="display: inline !important; background-color: rgb(255, 255, 255); font-size: 11pt; font-size-adjust: none">HONOUR_VALID_RANGE=NO</span> and that seems to do the trick. That netCDF driver special case could check the
 flag_values metadata to see if the value is out of range but is a flagged value. But that is OK.</span></div>
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span><br>
</span></div>
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span><span style="font-family: "Courier New",monospace;"><span>gdalinfo NETCDF:c_gls_NDVI_201907110000_GLOBE_PROBAV_V2.2.1.nc:NDVI</span></span></span></div>
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span><span style="font-family: "Courier New",monospace;"><span>Corner Coordinates:<br>
</span>
<div>Upper Left  (-180.0044643,  80.0044643) (180d 0'16.07"W, 80d 0'16.07"N)​</div>
<div>Lower Left  (-180.0044643, -59.9955357) (180d 0'16.07"W, 59d59'43.93"S)​</div>
<div>Upper Right ( 179.9955357,  80.0044643) (179d59'43.93"E, 80d 0'16.07"N)​</div>
<div>Lower Right ( 179.9955357, -59.9955357) (179d59'43.93"E, 59d59'43.93"S)​</div>
<div>Center      (  -0.0044643,  10.0044643) (  0d 0'16.07"W, 10d 0'16.07"N)​</div>
</span>
<div><span style="font-family: "Courier New",monospace;">Band 1 Block=3102x1207 Type=Byte, ColorInterp=Undefined</span><span><br>
</span></div>
<div><span style="font-family: "Courier New",monospace;">  NoData Value=255​</span></div>
<div><span style="font-family: "Courier New",monospace;">  Offset: -0.0799999982118607,   Scale:0.00400000018998981​</span></div>
<div><span style="font-family: "Courier New",monospace;">  Metadata:​</span></div>
<div><span style="font-family: "Courier New",monospace;">    add_offset=-0.079999998​</span></div>
<div><span style="font-family: "Courier New",monospace;">    flag_meanings=Missing cloud snow sea background​</span></div>
<div><span style="font-family: "Courier New",monospace;">    flag_values={251,252,253,254,255}​</span></div>
<div><span style="font-family: "Courier New",monospace;">    grid_mapping=crs​</span></div>
<div><span style="font-family: "Courier New",monospace;">    long_name=Normalized Difference Vegetation Index 1KM​</span></div>
<div><span style="font-family: "Courier New",monospace;">    missing_value=255​</span></div>
<div><span style="font-family: "Courier New",monospace;">    NETCDF_DIM_time=18088​</span></div>
<div><span style="font-family: "Courier New",monospace;">    NETCDF_VARNAME=NDVI​</span></div>
<div><span style="font-family: "Courier New",monospace;">    scale_factor=0.0040000002​</span></div>
<div><span style="font-family: "Courier New",monospace;">    standard_name=normalized_difference_vegetation_index​</span></div>
<div><span style="font-family: "Courier New",monospace;">    units=​</span></div>
<div><span style="font-family: "Courier New",monospace;">    <b>valid_range={0,250}</b>​</span></div>
<div><span style="font-family: "Courier New",monospace;">    _FillValue=255​</span></div>
<div><span></span><br>
</div>
<div>About geo-referencing, this is from the Proba-V documentation :</div>
<div><br>
</div>
</span></div>
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span><span>"""</span></span></div>
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span><span>2.4. Data projection and geographical extents<br>
</span>
<div><span>All PROBA-V data products are projected in a standard WGS84 projection (also known as the Plate Carrée projection), similar as for the SPOT-VGT products. The 1 km Plate-Carrée projection is defined as 1/112o, with the latitude and longitude coordinates
 defined at the <b>pixel centre</b>. This implies that the pixel boundaries <b>extend</b> ± 1/224o for both latitude and longitude at the pixel corners. For example, if we consider the pixel corresponding to [lon, lat]=[-180o, 75o], the upper left corner of
 this pixel represents [lon, lat]=[-180o - 1/224o, 75o + 1/224o].</span></div>
<div>""" [PROBAV_Products_User_Manual.pdf]</div>
<div><br>
</div>
<div>Thank you,</div>
<div><br>
</div>
<div>Ivan</div>
<div><br>
</div>
</span></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Even Rouault <even.rouault@spatialys.com><br>
<b>Sent:</b> Friday, August 2, 2019 11:54 AM<br>
<b>To:</b> Ivan Lucena <ivan.lucena@outlook.com><br>
<b>Cc:</b> gdal-dev@lists.osgeo.org <gdal-dev@lists.osgeo.org><br>
<b>Subject:</b> Re: [gdal-dev] NetCDF driver getting wrong values if compared to HDF5</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">On vendredi 2 août 2019 14:44:02 CEST Ivan Lucena wrote:<br>
> Even,<br>
> <br>
> The metadata of one file samples points to<br>
> <a href="http://land.copernicus.eu/global/products/ndvi">http://land.copernicus.eu/global/products/ndvi</a><br>
> <br>
> I wasn't able to recover my username/password so I not sure what is there.<br>
> <br>
> Another this page you can select the specific product I am using 1KM Decadal<br>
> NDVI but without login in I can tell if it is going to download the .nc<br>
> file:<br>
> <br>
> <a href="https://land.copernicus.vgt.vito.be/PDF/portal/Application.html#Browse;Root=">
https://land.copernicus.vgt.vito.be/PDF/portal/Application.html#Browse;Root=</a><br>
> 513186;Collection=1000085;DoSearch=true;Time=NORMAL,NORMAL,1,APRIL,1998,2,AU<br>
> GUST,2019<br>
> <br>
> Can you give it a try?<br>
> <br>
<br>
OK, this is due to the fact that the netCDF driver is doing a special <br>
processing with the valid_range metadata item. It will set pixel values <br>
outside of the range defined by valid_range to the nodata value.<br>
This can be disabled by the HONOUR_VALID_RANGE=NO open option.<br>
Generally, as expected, the netCDF driver will have more particular behaviour <br>
when dealing with netCDF files than the HDF5 driver (the HDF5 driver has been <br>
enhanced over years to take into account a few netCDF specific metadata items, <br>
but not that one)<br>
<br>
> Note, netCDF return this "Lower Right ( 179.9955357, -59.9955357)<br>
> (179d59'43.93"E, 59d59'43.93"S)" while the documentation mention exact "<br>
> Polygon<br>
> -60 180 80 180 80 -180 -60 -180 -60 180". It looks like a half pixel<br>
> difference, do you see a problem with that?<br>
<br>
No, if you look at the actual range with ncdump for longitude, you'll get<br>
<br>
lon = -180, -179.991071428571, [...]<br>
    179.982142857634, 179.991071429063 ;<br>
<br>
and GDAL normalizes the netCDF pixel-center convention to its usual pixel-<br>
corner convention.<br>
<br>
Even<br>
<br>
-- <br>
Spatialys - Geospatial professional services<br>
<a href="http://www.spatialys.com">http://www.spatialys.com</a><br>
</div>
</span></font></div>
</body>
</html>