<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
p.Textebrut, li.Textebrut, div.Textebrut
        {mso-style-name:"Texte brut";
        mso-style-link:"Texte brut Car";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.TextebrutCar
        {mso-style-name:"Texte brut Car";
        mso-style-priority:99;
        mso-style-link:"Texte brut";
        font-family:"Calibri",sans-serif;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi Julien,<o:p></o:p></p>
<p class="MsoNormal">     If you want to put up your code on github, I can volunteer to help port it to 2.x. Generating unittests would not be a problem. Will probably take existing datasets in the test suite and add a group around the datasets to begin with.
<o:p></o:p></p>
<p class="MsoNormal">Not very familiar with MODIS/VIIRS but looks like its nc4 with groups but all the dimensions are datasets under root. Maybe we can generalize this too?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Piyush<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Julien Demaria <julien.demaria@acri-st.fr><br>
<b>Date: </b>Saturday, October 13, 2018 at 4:09 PM<br>
<b>To: </b>"Agram, Piyush S (334D)" <Piyush.Agram@jpl.nasa.gov>, "gdal-dev@lists.osgeo.org" <gdal-dev@lists.osgeo.org><br>
<b>Subject: </b>RE: parsing of netcdf4 no-data values in hdf5 reader<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoPlainText">Hi,<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">I have already already implemented NetCDF4 groups support for GDAL in 2015 and use it to read for example NASA OceanColor MODIS/VIIRS L2 products, see the attached email.<o:p></o:p></p>
<p class="MsoPlainText">Unfortunately I never found enough time to add corresponding GDAL autotests (covering all my modifications) to be able to provide these improvements to the GDAL community.<o:p></o:p></p>
<p class="MsoPlainText">The other problem is that I implemented this in GDAL 1.11 so porting to latest GDAL need some work, I started to do that in 2016 but never finished...<o:p></o:p></p>
<p class="MsoPlainText">But I think my code is good and it will be a pity if not reused...<o:p></o:p></p>
<p class="MsoPlainText">I think I can try to finish the porting to the latest GDAL and provide it to GitHub, but I'm still not sure to have enough time to implement all needed corresponding GDAL autotests. If you want to contribute you are welcome! ;-)<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">Best Regards,<o:p></o:p></p>
<p class="MsoPlainText">Julien<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText"><span style="mso-fareast-language:FR">-----Message d'origine-----<br>
De : gdal-dev [mailto:gdal-dev-bounces@lists.osgeo.org] De la part de Agram, Piyush S (334D)<br>
Envoyé : samedi 13 octobre 2018 21:00<br>
À : gdal-dev@lists.osgeo.org<br>
Objet : Re: [gdal-dev] parsing of netcdf4 no-data values in hdf5 reader</span><o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">Hi Even,<o:p></o:p></p>
<p class="MsoPlainText">     Looking into the issue, I think the NETCDF reader does not read datasets located insides groups for Rasters. There are 2 specific parts of the reader that seems to be the issue:<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">1. If the drivers does not find 2 arrays that are dimensions under root it bails. This would need to be updated if data is organized within groups and there are no dims/vars at the root level.<o:p></o:p></p>
<p class="MsoPlainText">2. It only looks into the groups when used for reading vectors and when it does it only parses the string types for geometry definitions. This would need to be updated.
<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">Some related questions to see if anybody is already planning to contribute these capabilities:<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">1. Update to NETCDF raster driver to look into sub-groups as well? The spec does not seem to talk about this. Assuming they are trying to be backward compatible with formats that did not support groups - is this acceptable?<o:p></o:p></p>
<p class="MsoPlainText">2. Support for CF conventions in HDF5 reader? NASA/ESRI seem to be happy working with CF-compliant HDF5.<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">Adding either support will let people use GDAL with xarray etc.
<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">Piyush <o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">gdal-dev mailing list<o:p></o:p></p>
<p class="MsoPlainText">gdal-dev@lists.osgeo.org<o:p></o:p></p>
<p class="MsoPlainText">https://lists.osgeo.org/mailman/listinfo/gdal-dev<o:p></o:p></p>
</div>
</body>
</html>