The HDF Group HDF Project Update Mike Folk, Elena Pourmal, Kent Yang The HDF Group Briefing to ESDIS October 16-17, 2012 10/16/2012 HDF Briefing to NASA www.hdfgroup.org.
Download ReportTranscript The HDF Group HDF Project Update Mike Folk, Elena Pourmal, Kent Yang The HDF Group Briefing to ESDIS October 16-17, 2012 10/16/2012 HDF Briefing to NASA www.hdfgroup.org.
The HDF Group HDF Project Update Mike Folk, Elena Pourmal, Kent Yang The HDF Group Briefing to ESDIS October 16-17, 2012 10/16/2012 HDF Briefing to NASA 1 www.hdfgroup.org Project Goals • Support for NASA HDF data providers and data users, and the EOSDIS Core System (ECS) • Maintenance and quality assurance for HDF4 and HDF5 libraries and utilities • Evolving the HDF4 and HDF5 libraries and utilities to meet new NASA EOS requirement • Integration with complementary technologies and application domains • Prototype study of web technologies to access HDF data 10/16/2012 HDF Briefing to NASA 2 www.hdfgroup.org The HDF Group Support activities for NASA HDF data providers and users and ECS 10/16/2012 HDF Briefing to NASA 3 www.hdfgroup.org Activities • Help Desk • Outreach • Mailing lists, Web site • Conferences, Workshops, Other • EOS support • netCDF support and collaboration • Later today: • HDF OPeNDAP support • Support for NASA data products • SMAP, ICESat-2, MEaSURES) 10/16/2012 HDF Briefing to NASA 4 www.hdfgroup.org HELP DESK 10/16/2012 HDF Briefing to NASA 5 www.hdfgroup.org The HDF Group Help Desk • High-priority support for ESDIS users • • • • Fast response Problem investigation and resolution Performance tuning Access to HDF developers • Basic support for entire HDF user community, as resources permit • [email protected] 10/16/2012 HDF Briefing to NASA 6 www.hdfgroup.org Help Desk issues resolution time HDF Issues Resolution Time 60 Number of issues 50 40 2010 2011 2012* 30 20 10 0 < 4 < 1 day < 2 hours days <1 <2 <1 <6 not week weeks month month closed * Number of messages up do August 31, 2012 10/16/2012 HDF Briefing to NASA 7 www.hdfgroup.org Help Desk issues by years HDF4 and HDF5 issues by years 1000 900 Number of issues 800 700 600 500 HDF5 HDF4 400 300 200 100 0 * Number of messages up do August 31, 2012 10/16/2012 HDF Briefing to NASA 8 www.hdfgroup.org OUTREACH 10/16/2012 HDF Briefing to NASA 9 www.hdfgroup.org Outreach • Web pages improvements • FAQ support for HDF4 and HDF5 http://www.hdfgroup.org/HDF5-FAQ.html http://www.hdfgroup.org/HDF-FAQ.html • Later today: Detailed talk on support for EOS (Kent) • Organizing material based on the ESDIS survey results and feedback from the users • Example: Tools by category (work in progress) • How do I edit, copy, import/export data with HDF? 10/16/2012 HDF Briefing to NASA 10 www.hdfgroup.org Tools by category 10/16/2012 HDF Briefing to NASA 11 www.hdfgroup.org Outreach • Mailing list and archives [email protected] http://www.hdfgroup.org/news/ [email protected] http://mail.hdfgroup.org/pipermail/hdfforum_hdfgroup.org/ 10/16/2012 HDF Briefing to NASA 12 www.hdfgroup.org [email protected] • Started in Summer 2007 • Monitored by the members of the HDF group • Number of messages: 2012 to Sep 30 2011 2010 703 1,334 1,721 • Most discussed topics: • Parallel HDF5 • Advanced HDF5 features (drivers, complex types, performance) • .NET and C++ wrappers, HL libraries 10/16/2012 HDF Briefing to NASA 13 www.hdfgroup.org [email protected] • Members of the FORUM help with • Releases testing on a regular basis • Maintaining CMake build systems on platforms beyond Windows • Answering questions • The Help Desk focuses on ESDIS and other paying customers while referring others to the FORUM for topics that require domain knowledge or specific HDF5 usage • Reporting defects • Securing funding for The HDF Group 10/16/2012 HDF Briefing to NASA 14 www.hdfgroup.org Conferences, Workshops, Other • 2011 IDV/THREDDS Workshop, July 2011 • Learned how to use IDV and THREDDS • 10th NASA ESDSWG Conference, Nov 2011 • Poster on HDF and netCDF interoperability • 2012 ESIP Summer Meeting, July 2012 • Presentations • HDF/HDF-EOS Data for Dummies • What does Open Source mean for HDF? • Poster • What’s new at hdfgroup.org? 10/16/2012 HDF Briefing to NASA 15 www.hdfgroup.org Conferences, Workshops, Other • 15th HDF and HDF-EOS Workshop, April 2012 • Five tutorials, nine presentations and lightning talks, and one special session • Materials: http://www.hdfeos.org/workshops/ws15/agenda.php 10/16/2012 HDF Briefing to NASA 16 www.hdfgroup.org Conferences, Workshops, Other • Advised ICESat-2, MOPITT and several MEaSURES projects on interoperability with netCDF-4 • Participated in the SMAP ISO-19115 work • Participated in ESDSWG SPG telecons • Joined several ESDSWG mailing lists related to HDF 10/16/2012 HDF Briefing to NASA 17 www.hdfgroup.org NETCDF SUPPORT AND COLLABORATION 10/16/2012 HDF Briefing to NASA 18 www.hdfgroup.org NetCDF-4 support • Help Unidata netCDF-4 developers • Frequent communications with netCDF-4 developers • Provided a fix for ncdump critical to the ESDIS users • Test netCDF-4 daily with the HDF5 development code • Plan to participate in Unidata Advanced netCDF Workshop on October 26, 2012 10/16/2012 HDF Briefing to NASA 19 www.hdfgroup.org EOS SUPPORT 10/16/2012 HDF Briefing to NASA 20 www.hdfgroup.org EOS Support • Submitted several bugs and the corresponding fixes to the HDF-EOS team • EOS2 and EOS5 are tested daily with HDF4 and HDF5 development code • HDF-EOS website • Actively maintain the website • Improve the quality of the example codes and plots to access NASA HDF and HDF-EOS data via MATLAB, IDL and NCL • More information in a separate talk 10/16/2012 HDF Briefing to NASA 21 www.hdfgroup.org The HDF Group Maintenance and quality assurance for HDF4 and HDF5 libraries and utilities 10/16/2012 HDF Briefing to NASA 22 www.hdfgroup.org Activities • Manage and resolve issues • Perform maintenance releases of HDF software • Support OSs and compilers identified by ESDIS • Address issues and software evolution requests from ESDIS • Perform SQE and SQA activities • Put in place missing processes • Improve existing processes • Build in software quality by performing testing and using the best software development practices 10/16/2012 HDF Briefing to NASA 23 www.hdfgroup.org HDF ISSUES 10/16/2012 HDF Briefing to NASA 24 www.hdfgroup.org Issues and their priorities • Must Fix • Fix after “Must Fix” • Data corruption • Portability • Backward and Forward Compatibility • Funded Requests • • • • Power User Requests Tools Library issues Build Infrastructure • When resources permit • Wrappers • HL Libraries • Other Need your input on priorities! 10/16/2012 HDF Briefing to NASA 25 www.hdfgroup.org HDF4 opened and closed issues HDF4 open and closed issues 70 Number of Issues 60 50 40 Opened Closed 30 20 10 0 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 10/16/2012 HDF Briefing to NASA 26 www.hdfgroup.org HDF5 opened and closed issues HDF5 opened and closed issues 600 Number of issues 500 400 300 Opened Closed Closed High Priority 200 100 0 10/16/2012 HDF Briefing to NASA 27 www.hdfgroup.org SQE AND SQA AT THE HDF GROUP 10/16/2012 HDF Briefing to NASA 28 www.hdfgroup.org Activities • CMMI appraisal and process improvement action plan (Dec. 2011) • Created SQE position • Focus on • Implementing CMMI best practices and procedures • Enforcing current practices and procedures • Focused on improving software testing 10/16/2012 HDF Briefing to NASA 29 www.hdfgroup.org Activities • Worked on establishing a culture of code reviews for the HDF libraries and tools • Improved releases planning and monitoring for HDF5 • Used static analysis tools to identify defects • Coverity (used at THG) • Klocwork (used at LLNL) 10/16/2012 HDF Briefing to NASA 30 www.hdfgroup.org HDF MAINTENANCE RELEASES 10/16/2012 HDF Briefing to NASA 31 www.hdfgroup.org General maintenance for 2011-2012 • • • • Implemented CMake for all HDF software Worked on closing reported issues Focused on performance enhancements Improved HDF documentation • http://www.hdfgroup.org/HDF5/doc/Advanced.html • Explored the needs for internal documentation • Preventive measures: • Coverity static analysis; Rational tools; valgrind • Have been exploring new testing tools to sustain testing for HDF products (CDash, Bamboo, Cloud) 10/16/2012 HDF Briefing to NASA 32 www.hdfgroup.org Maintenance Releases 2011 – 2012 2011 May Jun Jul Aug Sep Oct Nov Dec HDF4 HDF5 1.8.7 1.8.8 HDF-Java 2.8 h4h5 tools 2012 Jan Feb Mar Apr HDF4 4.2.7 May Jun Jul patch1 HDF5 Aug Sep Oct Nov CF 1.8.10 4.2.8 1.8.9 HDFJava h4h5 tools Dec CF 2.9 2.2.1 CF – code freeze 6 weeks for HDF5 4 weeks for other products 10/16/2012 HDF Briefing to NASA 33 www.hdfgroup.org HDF4 maintenance releases • HDF 4.2.7 released in February 2012 • Extra functions to support H4 mapping project • Support for Linux PPC64 with IBM XL Fortran • Minor bug fixes and documentation improvements • HDF 4.2.8 release in August 2012 • Support for H4mapping project • Information about releases available from http://www.hdfgroup.org/ftp/HDF/prev-releases/ReleaseFiles/ 10/16/2012 HDF Briefing to NASA 34 www.hdfgroup.org HDF5 maintenance releases • HDF5 1.8.7-1.8.9 • Many improvements in tools • ESDIS request to handle “/” in attributes names • Fortran 2003 support • Fortran wrappers for Dimension Scales APIs • Information about releases available from http://www.hdfgroup.org/ftp/HDF5/prev-releases/ReleaseFiles/ • HDF5 1.8.10 November 15, 2012 • Many improvements in h5diff, minor bug fixe 10/16/2012 HDF Briefing to NASA 35 www.hdfgroup.org H4h5tools maintenance releases • 2.2.1 released February, 15th, 2012 • • • • 10/16/2012 Based on HDF 4.2.7 and HDF5 1.8.8 Fixed bugs reported by ESDIS users Upgraded to HDF5 1.8 APIs Updated documents HDF Briefing to NASA 36 www.hdfgroup.org Java maintenance releases • 2.8 release December 2011 • Addressed all issues reported by ESDIS users • 2.9 release December 2012 • Based on HDF 4.2.8 and HDF5 1.8.10 • ESDIS requests: • Show groups/attributes in creation order • Export data to a binary/ascii file without having to open the object in the TableView 10/16/2012 HDF Briefing to NASA 37 www.hdfgroup.org FUTURE DIRECTIONS 10/16/2012 HDF Briefing to NASA 38 www.hdfgroup.org General maintenance for 2013-2014 • Document and improve maintenance processes and procedures • Focus on documentation for HDF4 and HDF5 • Improve quality • Establish code review procedures for all HDF products • Expand static analysis to all HDF software packages • Enhance testing framework 10/16/2012 HDF Briefing to NASA 39 www.hdfgroup.org Future Maintenance Releases 2013 Jan Feb Mar HDF4 CF Apr May CF 1.8.11 Jun Jul Aug Sep Oct Nov CF 1.8.12 4.2.9 HDF5 HDFJava CF h4h5 tools CF 2.10 2.2.2 2014 Jan Feb Mar Apr HDF4 CF May Jun Jul Aug Sep Oct Nov CF 1.8.14 Dec 4.2.10 HDF5 CF 1.8.13 HDFJava h4h5 tools Dec CF CF 2.11 2.2.3 CF – code freeze 6 weeks for HDF5 4 weeks for other products 10/16/2012 HDF Briefing to NASA 40 www.hdfgroup.org Future HDF4 maintenance releases • HDF 4.2.9 planned for February 2013 • Close as many issues as possible • HDF 4.2.10 planned for February 2014 • Complete “self-configuration” work for library maintainability and portability • ESDIS priorities? 10/16/2012 HDF Briefing to NASA 41 www.hdfgroup.org Future HDF5 maintenance releases • HDF5 1.8.11 May 2013 • Features sponsored by European Synchrotron Community (PSI/DECTRIS and DESY) • Writing compressed chunks directly to HDF5 file bypassing library internals • Finished prototype; achieved order of magnitude boost in I/O • Support for dynamically loaded third party libraries (compression and other filters) • Preliminary studies soon; several prototypes are already available 10/16/2012 HDF Briefing to NASA 42 www.hdfgroup.org Future HDF5 maintenance releases • How soon will MATLAB and IDL be able to support 1.8.11? • ESDIS priorities? 10/16/2012 HDF Briefing to NASA 43 www.hdfgroup.org Future h4h5tools maintenance releases • 2.2.2 release March 2013 • Use latest HDF4 and HDF5 releases • Address any ESDIS issues if arise • 2.2.3 release March 2014 • Possible improvements • Conversion of dimension scales • Leveraging HDF5 1.8 features • ESDIS priorities? 10/16/2012 HDF Briefing to NASA 44 www.hdfgroup.org Future Java maintenance releases • 2.10 release December 2013 • We are gathering requirements (next slides) 10/16/2012 HDF Briefing to NASA 45 www.hdfgroup.org TOOLS UPDATE 10/16/2012 HDF Briefing to NASA 46 www.hdfgroup.org HDFVIEW USER SURVEY 10/16/2012 HDF Briefing to NASA 47 www.hdfgroup.org Background • HDFView was created for browsing and editing HDF files on a local machine • The most popular HDF tool • August 2012 downloads • HDFView – 2,805 • HDF5 binaries for all platforms – 1,073 • Twelve releases since the first release in 1998 • Time to reevaluate its capabilities and find out users’ expectations 10/16/2012 HDF Briefing to NASA 48 www.hdfgroup.org HDFView Survey Goals • Understand users needs and future directions for of HDFView maintenance and evolution • New requirements • Current deficiencies • Most desired improvements • Help with tasks prioritization 10/16/2012 HDF Briefing to NASA 49 www.hdfgroup.org HDFView Survey • Conducted a survey at https://www.surveymonkey.com/s/PLGRLJY • Over 40 questions in 8 different areas • About 200 responses 10/16/2012 HDF Briefing to NASA 50 www.hdfgroup.org Requested Improvements Areas • Import/export capabilities • Binary, text, Excel, tree-shape (XML, JSON), GeoTIFF, TIFF, KML (Google Earth), PNG, netCDF • Access • Cloud, OPeNDAP, mobile devices • Data discovery/search • Values, metadata, file structure • Data presentation • Plots, images, data with dimension scales 10/16/2012 HDF Briefing to NASA 51 www.hdfgroup.org Requested Improvements Areas • Usability • HDF5 functionality • Performance with large files • Support for all HDF5 datatypes • Support for custom filters • Data handling • Displaying, copying, selecting, exporting, importing • GUI features • One working window • Java vs. new technologies (QT, C++, ?) • UNIX remote display • Platform-specific requests • Mac OS X (installation, shortcuts) 10/16/2012 HDF Briefing to NASA 52 www.hdfgroup.org HDFView Survey • Report with raw data is available from http://www.hdfgroup.org/hdf-java-html/hdfview/ 10/16/2012 HDF Briefing to NASA 53 www.hdfgroup.org HDF TOOLS PLAN 10/16/2012 HDF Briefing to NASA 54 www.hdfgroup.org Plans for HDFView • Plan for and address high-priority items for ESDIS from the survey • Quality improvements • Clean issues database (37 right now) • Finish unit testing work (HDF4 JNI) • Set up GUI automatic testing • Performance improvements • Address large files issues • Evolution • Add support for dimension scales • Add support for misc. HDF5 features 10/16/2012 HDF Briefing to NASA 55 www.hdfgroup.org HDFView Survey • The ESDIS 2013 priority list as identified by the ESDSWG Executive Council available from http://earthdata.nasa.gov/wiki/main/index.php/The_ESDIS_2013_Priority_List • Topics relevant to HDFView • ESDIS standards: GeoTIFF and KML • Cloud and mobile computing • ESDS conventions for HDF5 • CF conventions • netCDF interoperability • What are ESDIS priorities for HDFView? 10/16/2012 HDF Briefing to NASA 56 www.hdfgroup.org Plans for command-line tools • Regular maintenance • Clean up issues database • Focus on quality and performance • Focus on tools to close a gap between HDF5 and XML • Settle on new XML schema • H5gen to generate HDF5 from XML • Enhance XML output generated by h5dump • Possible open source experiment? • Small Apache project to learn to create tools that are developed and maintained primarily by the open source community. • ESDIS priorities? 10/16/2012 HDF Briefing to NASA 57 www.hdfgroup.org Open Source Initiative Action Plan Mission Statement Stakeholders • Conduct a small Apache project that will enable us to learn to create tools for earth science data users that is developed and maintained primarily by the open source community. Approach Outcomes, Deliverables, Milestones • Achieve approval from NASA to make this project a part of the ESDIS project (EED Task 2 Rev 8). • Identify a need that is likely to have community support. For example, a need for tools to convert HDF files to certain other formats. • Learn to create and lead an Apache Incubator Project. • Create an Apache Incubator project. • Develop tools. • Graduate the project from incubation. 10/16/2012 • Key groups, organizations, individuals that will be impacted • Earth science data users. • EOS projects, Decadal Survey Missions, other NASA Earth Science data activities • All HDF communities • Who needs to be involved in developing deliverables. • Developers and end users who work with NASA earth science data. • Specific outcome: the company learns to create an open source project in which HDF software is developed and used by the community • Work products • An Apache Incubator project • An Apache project supporting the software • Tools • Recommendation report • Milestones • Periodic reports on steps in the approach. • Incubator project established. • Apache project achieved. • Final report HDF Briefing to NASA 58 www.hdfgroup.org PLATFORM SUPPORT ISSUES 10/16/2012 HDF Briefing to NASA 59 www.hdfgroup.org HDF4 platforms supported • Systems • Compilers • Linux 2.6 (CentOS-5) Linux 2.6 x86_64 • Linux PowerPC64 • Solaris 5.10 • 32/64bit Windows XP, 7 and Cygwin • Mac OS Intel 10.6.* and 10.7.* 32/64-bit 10/16/2012 HDF Briefing to NASA • IBM C and Fortran cmp • GNU C and Fortran up to 4.6.2, g95 (4.0.3) • Intel C and Fortran v12 • PGI C and Fortran v11 • Sun C 5.10 and Fortran 95 8.4 • VS 2008 Intel Fortran 10 • VS 2010 Intel Fortran 10 60 www.hdfgroup.org HDF5 platforms supported • Systems • Compilers • Same as for HDF4 • AIX 5.3 10/16/2012 HDF Briefing to NASA • Same as for HDF4 • IBM compilers 61 www.hdfgroup.org HDF4 and HDF5 platforms to drop • Systems • Compilers • Mac 10.6.* • Windows XP • Last releases HDF 4.2.9 and HDF5 1.8.10 10/16/2012 HDF Briefing to NASA • VS2008 with Intel 11 and MSVS build environment • We will use “CMake only” for Windows for all HDF products starting in Spring 2013 62 www.hdfgroup.org HDF4 and HDF5 platforms to add • Systems • Compilers • Mac 10.8.* • How important is 32-bit on 64-bit Mac OS X? • Windows 8 • Clang? • VS 2012 • Spring 2013 • Spring 2013 • Flavors of Linux? We are using virtualization very successfully. Can add any Linux or Windows flavors. Just let us know! 10/16/2012 HDF Briefing to NASA 63 www.hdfgroup.org The HDF Group Integration with complementary technologies and application domains 10/16/2012 HDF Briefing to NASA 64 www.hdfgroup.org OPENDAP 10/16/2012 HDF Briefing to NASA 65 www.hdfgroup.org OPeNDAP – current status • HDF5-OPeNDAP handler • Re-engineered to support more NASA HDF5 and HDF-EOS5 products • HDF4-OPeNDAP handler • Enhanced the support of many NASA HDFEOS2 and HDF4 products • More information in a separate talk 10/16/2012 HDF Briefing to NASA 66 www.hdfgroup.org TOOLS TO IMPROVE INTEROPERABILITY BETWEEN HDF AND NETCDF 10/16/2012 HDF Briefing to NASA 67 www.hdfgroup.org HDF and netCDF interoperabilty tools • • • • • HDF-EOS5 augmentation tool HDF-EOS2 dumper tool HDF-EOS5 to netCDF-4 conversion tool HDF4/HDF-EOS2 to CF conversion library More information in a separate talk 10/16/2012 HDF Briefing to NASA 68 www.hdfgroup.org The HDF Group HDF4 Layout Maps 10/16/2012 HDF Briefing to NASA 69 www.hdfgroup.org HDF4 Layouts Map Provide tools and support to ensure long-term access to EOS data via HDF4 File Content Maps. • H4mapwriter release 1.0.3 in June 2012 • More information in a separate talk 10/16/2012 HDF Briefing to NASA 70 www.hdfgroup.org The HDF Group Thank You! 10/16/2012 HDF Briefing to NASA 71 www.hdfgroup.org Acknowledgements This work was supported by Subcontract number 114820 under Raytheon Contract number NNG10HP02C, funded by the National Aeronautics and Space Administration (NASA). Any opinions, findings, conclusions, or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of Raytheon or the National Aeronautics and Space Administration. 10/16/2012 HDF Briefing to NASA 72 www.hdfgroup.org