SlideShare a Scribd company logo
1 of 18
1© 2015 The MathWorks, Inc.
MATLAB and Scientific Data: New Features and
Capabilities
Ellen Johnson
Senior Software Engineer
MathWorks Landsat8 Image: Coral Reef, Vanua Levu, Fiji
2
The Leading Environment for Technical Computing
 Numeric computation
 Parallel computing, with multicore and
multiprocessor support
 Data analysis and visualization
 Toolboxes for signal and image
processing, statistics, optimization,
symbolic math, and other areas
 Tools for application development
and deployment
3
Database Toolbox
Statistics and Machine
Learning Toolbox
Signal Processing
Toolbox
MATLAB Compiler
Image Processing
Toolbox
Image Acquisition
Toolbox
Mapping Toolbox
Go Farther with MATLAB and Toolboxes
4
MATLAB and Scientific Data
 Scientific data formats
• HDF5, HDF4, HDF-EOS2
• NetCDF (with OPeNDAP!)
• FITS, CDF, BIL, BIP, BSQ
 Image file formats
• TIFF, JPEG, HDR, PNG,
JPEG2000, and more
 Vector data file formats
• ESRI Shapefiles, KML, GPS
and more
 Raster data file formats
• GeoTIFF, NITF, USGS and SDTS
DEM, NIMA DTED, and more
 Web Map Service (WMS)
5
Scientific Data Libraries
 MATLAB R2015a
 Developing formal upgrade cadence to stay current with vendors
 Work closely with vendors on testing new versions
Library Version in MATLAB Vendor Version
HDF5 1.8.12 1.8.15
HDF4 4.2.5 4.2.11
HDF-EOS2 2.17 2.18
NetCDF with OPeNDAP 4.1.3 4.3.3.1
CDF 3.3.0 3.6.0
FITS 3.27 3.37
6
HDF5
 High Level Interface (h5read, h5write, h5disp, h5info)
h5disp('example.h5','/g4/lat');
data = h5read('example.h5','/g4/lat');
 Low Level Interface (Wraps HDF5 C APIs)
fid = H5F.open('example.h5');
dset_id = H5D.open(fid,'/g4/lat');
data = H5D.read(dset_id);
H5D.close(dset_id);
H5F.close(fid);
7
NetCDF
 High Level Interface (ncdisp, ncread, ncwrite, ncinfo)
url = 'http://oceanwatch.pifsc.noaa.gov/thredds/
dodsC/goes-poes/2day';
ncdisp(url);
data = ncread(url,'sst');
 Low Level Interface (Wraps netCDF C APIs)
ncid = netcdf.open(url);
varid = netcdf.inqVarID(ncid,'sst');
netcdf.getVar(ncid,varid,'double');
netcdf.close(ncid);
8
New in R2014b/R2015a
 HDF5 version 1.8.12!
– Read data with a third-party filter applied
– Both our high-level and low-level interfaces provide support
 Dates and Times
– datetime, duration, and calendarDuration
– Support for math, sorting, comparisons, plotting, formatted display, timezones
 Big Data
– mapreduce and datastore functions
– table and categorical powerful in conjunction with big data analysis
 RESTful web server access
– webread, webwrite, and websave
– JSON objects represented as struct arrays
9
Reading HDF5 Data with Dynamically Loaded Filter
 MATLAB can easily read datasets with dynamically loaded compression filters
 Example using BZIP2 compressor
% Set the HDF5_PLUGIN_PATH environment variable
>> setenv('HDF5_PLUGIN_PATH','/test/BZIP2-plugin/plugins/lib');
% Read data with our high-level interface
>> myData = h5read('h5ex_d_bzip2.h5','/DS1');
% Read data with our low-level interface
>> fileId = H5F.open('h5ex_d_bzip2.h5','H5F_ACC_RDONLY','H5P_DEFAULT');
>> dset = H5D.open(fileId,'/DS1','H5P_DEFAULT');
>> myData = H5D.read(dset,'H5T_NATIVE_INT','H5S_ALL','H5S_ALL','H5P_DEFAULT');
>> H5D.close(dset);
>> H5F.close(fileId);
10
Date and Time Arrays
 datetime for representing
a point in time
 duration, calendarDuration
for representing elapsed time
 Same data type for computation and display
– Add, subtract, sort, compare, and plot
– Customize display formats
– Nanosecond precision
 Support for time zones
– Accounts for daylight saving time
11
Automatic Updating of Datetime Tick Labels
12
Big Data Capabilities in MATLAB
Memory and Data Access
 64-bit processors
 Memory Mapped Variables
 Disk Variables
 Databases
 Datastores
Platforms
 Desktop (Multicore, GPU)
 Clusters
 Cloud Computing (MDCS on EC2)
 Hadoop
Programming Constructs
 Streaming
 Block Processing
 Parallel-for loops
 GPU Arrays
 SPMD and Distributed Arrays
 MapReduce
13
Platform Desktop Only Desktop + Cluster Desktop + Hadoop
Data Size 100’s MB -10’s GB 100’s MB -100’s GB 100’s GB – PBs
Techniques • parfor
• datastore
• mapreduce
• parfor
• distributed data
• spmd
• mapreduce
Options for Handling Big Data
MATLAB
Desktop (Client)
Hadoop Cluster
Hadoop
Scheduler
…
…
…
…
..…
..…
..…
MATLAB
Desktop (Client)
Cluster
Scheduler
…
…
…
…
..…
..…
..…
MATLAB
Desktop (Client)
14
RESTful Web Service Access
Read historical temperature data from the World Bank Climate Data API
>> api = 'http://climatedataapi.worldbank.org/climateweb/rest/v1/';
>> url = [api 'country/cru/tas/year/USA'];
>> S = webread(url)
S =
112x1 struct array with fields:
year
data
>> S(1)
ans =
year: 1901
data: 6.6187
15
View and Save Lunar South Pole Color-coded Topography
>> url = 'http://planetarynames.wr.usgs.gov/images/moon_sp.jpg';
>> data = webread(url);
>> imshow(data)
>> filename = 'lunarSouthPole.jpg'
>> options = weboptions
>> options.Timeout = 10;
>> options.ContentType = 'image';
>> outFile = websave(filename,url,options)
outFile =
c:LibrariesDocumentslunarSouthPole.jpg
16
Demo: Webread meets HDF Server
 HDF Server: A RESTful API providing remote access to HDF5 data
 Responses are JSON formatted text
 webread with weboptions provide data access
 Example: Coral Reef Temperature Anomaly Database (CoRTAD)
 Version 3 CoRTAD products in HDF5 format
 1.8G dataset
 Running h5serv locally
>> options = weboptions('RequestMethod','get','KeyName','host','KeyValue','cortadv3_row04_col14.hdfgroup.org')
>> data = webread('http://localhost:5000/',options)
data =
lastModified: '2015-07-10T00:41:43.681844Z'
hrefs: [5x1 struct]
root: '6f60d9c0-269c-11e5-aa56-005056c00008'
created: '2015-07-10T00:38:58.799031Z'
17
Questions?
 www.mathworks.com
 www.mathworks.com/matlabcentral
 Examples:
 Using the high-level HDF5 Functions to Import Data
 Tackling Big Data with MATLAB
 Performing Numerical Simulation of an Oil Spill
 Reading Content from RESTful Web Service
Thank you!
18
References
 www.hdfgroup.org
 https://www.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf
 https://hdfgroup.org/wp/2015/04/hdf5-for-the-web-hdf-server/
 http://data.worldbank.org/developers/climate-data-api
 https://data.nasa.gov/data
 http://visibleearth.nasa.gov/
 http://www.nodc.noaa.gov/sog/cortad/
 http://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0068999

More Related Content

What's hot

What's hot (20)

Matlab, Big Data, and HDF Server
Matlab, Big Data, and HDF ServerMatlab, Big Data, and HDF Server
Matlab, Big Data, and HDF Server
 
Incorporating ISO Metadata Using HDF Product Designer
Incorporating ISO Metadata Using HDF Product DesignerIncorporating ISO Metadata Using HDF Product Designer
Incorporating ISO Metadata Using HDF Product Designer
 
Scientific Computing and Visualization using HDF
Scientific Computing and Visualization using HDFScientific Computing and Visualization using HDF
Scientific Computing and Visualization using HDF
 
Open-source Scientific Computing and Data Analytics using HDF
Open-source Scientific Computing and Data Analytics using HDFOpen-source Scientific Computing and Data Analytics using HDF
Open-source Scientific Computing and Data Analytics using HDF
 
HDF Project Update
HDF Project UpdateHDF Project Update
HDF Project Update
 
Improved Methods for Accessing Scientific Data for the Masses
Improved Methods for Accessing Scientific Data for the MassesImproved Methods for Accessing Scientific Data for the Masses
Improved Methods for Accessing Scientific Data for the Masses
 
Moving form HDF4 to HDF5/netCDF-4
Moving form HDF4 to HDF5/netCDF-4Moving form HDF4 to HDF5/netCDF-4
Moving form HDF4 to HDF5/netCDF-4
 
MODIS Land and HDF-EOS
MODIS Land and HDF-EOSMODIS Land and HDF-EOS
MODIS Land and HDF-EOS
 
HDF5 Performance Enhancements with the Elimination of Unlimited Dimension
HDF5 Performance Enhancements with the Elimination of Unlimited DimensionHDF5 Performance Enhancements with the Elimination of Unlimited Dimension
HDF5 Performance Enhancements with the Elimination of Unlimited Dimension
 
Hierarchical Data Formats (HDF) Update
Hierarchical Data Formats (HDF) UpdateHierarchical Data Formats (HDF) Update
Hierarchical Data Formats (HDF) Update
 
ArcGIS and Multi-D: Tools & Roadmap
ArcGIS and Multi-D: Tools & RoadmapArcGIS and Multi-D: Tools & Roadmap
ArcGIS and Multi-D: Tools & Roadmap
 
Putting some Spark into HDF5
Putting some Spark into HDF5Putting some Spark into HDF5
Putting some Spark into HDF5
 
Efficiently serving HDF5 via OPeNDAP
Efficiently serving HDF5 via OPeNDAPEfficiently serving HDF5 via OPeNDAP
Efficiently serving HDF5 via OPeNDAP
 
SPD and KEA: HDF5 based file formats for Earth Observation
SPD and KEA: HDF5 based file formats for Earth ObservationSPD and KEA: HDF5 based file formats for Earth Observation
SPD and KEA: HDF5 based file formats for Earth Observation
 
GDAL Enhancement for ESDIS Project
GDAL Enhancement for ESDIS ProjectGDAL Enhancement for ESDIS Project
GDAL Enhancement for ESDIS Project
 
Multidimensional Scientific Data in ArcGIS
Multidimensional Scientific Data in ArcGISMultidimensional Scientific Data in ArcGIS
Multidimensional Scientific Data in ArcGIS
 
Product Designer Hub - Taking HPD to the Web
Product Designer Hub - Taking HPD to the WebProduct Designer Hub - Taking HPD to the Web
Product Designer Hub - Taking HPD to the Web
 
HDF Product Designer: Using Templates to Achieve Interoperability
HDF Product Designer: Using Templates to Achieve InteroperabilityHDF Product Designer: Using Templates to Achieve Interoperability
HDF Product Designer: Using Templates to Achieve Interoperability
 
HDF and netCDF Data Support in ArcGIS
HDF and netCDF Data Support in ArcGISHDF and netCDF Data Support in ArcGIS
HDF and netCDF Data Support in ArcGIS
 
Indexing HDF5: A Survey
Indexing HDF5: A SurveyIndexing HDF5: A Survey
Indexing HDF5: A Survey
 

Viewers also liked (7)

MATLAB, netCDF, and OPeNDAP
MATLAB, netCDF, and OPeNDAPMATLAB, netCDF, and OPeNDAP
MATLAB, netCDF, and OPeNDAP
 
Implementing HDF5 in MATLAB
Implementing HDF5 in MATLABImplementing HDF5 in MATLAB
Implementing HDF5 in MATLAB
 
Using HDF5 in MATLAB
Using HDF5 in MATLABUsing HDF5 in MATLAB
Using HDF5 in MATLAB
 
Matlab netcdf guide
Matlab netcdf guideMatlab netcdf guide
Matlab netcdf guide
 
Working with Scientific Data in MATLAB
Working with Scientific Data in MATLABWorking with Scientific Data in MATLAB
Working with Scientific Data in MATLAB
 
Working with HDF and netCDF Data in ArcGIS: Tools and Case Studies
Working with HDF and netCDF Data in ArcGIS: Tools and Case StudiesWorking with HDF and netCDF Data in ArcGIS: Tools and Case Studies
Working with HDF and netCDF Data in ArcGIS: Tools and Case Studies
 
HDF Project Status and Plans
HDF Project Status and PlansHDF Project Status and Plans
HDF Project Status and Plans
 

Similar to MATLAB and Scientific Data: New Features and Capabilities

TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...Debraj GuhaThakurta
 
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...Debraj GuhaThakurta
 
AnalyticsConf2016 - Zaawansowana analityka na platformie Azure HDInsight
AnalyticsConf2016 - Zaawansowana analityka na platformie Azure HDInsightAnalyticsConf2016 - Zaawansowana analityka na platformie Azure HDInsight
AnalyticsConf2016 - Zaawansowana analityka na platformie Azure HDInsightŁukasz Grala
 
Analytics Beyond RAM Capacity using R
Analytics Beyond RAM Capacity using RAnalytics Beyond RAM Capacity using R
Analytics Beyond RAM Capacity using RAlex Palamides
 
Big Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsBig Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsAndrew Brust
 
Paris Data Geek - Spark Streaming
Paris Data Geek - Spark Streaming Paris Data Geek - Spark Streaming
Paris Data Geek - Spark Streaming Djamel Zouaoui
 
Data Infrastructure for a World of Music
Data Infrastructure for a World of MusicData Infrastructure for a World of Music
Data Infrastructure for a World of MusicLars Albertsson
 
RAPIDS – Open GPU-accelerated Data Science
RAPIDS – Open GPU-accelerated Data ScienceRAPIDS – Open GPU-accelerated Data Science
RAPIDS – Open GPU-accelerated Data ScienceData Works MD
 
Apache Spark streaming and HBase
Apache Spark streaming and HBaseApache Spark streaming and HBase
Apache Spark streaming and HBaseCarol McDonald
 
Architecting a Scalable Hadoop Platform: Top 10 considerations for success
Architecting a Scalable Hadoop Platform: Top 10 considerations for successArchitecting a Scalable Hadoop Platform: Top 10 considerations for success
Architecting a Scalable Hadoop Platform: Top 10 considerations for successDataWorks Summit
 
The Future of Hadoop: A deeper look at Apache Spark
The Future of Hadoop: A deeper look at Apache SparkThe Future of Hadoop: A deeper look at Apache Spark
The Future of Hadoop: A deeper look at Apache SparkCloudera, Inc.
 
Microsoft R Server for Data Sciencea
Microsoft R Server for Data ScienceaMicrosoft R Server for Data Sciencea
Microsoft R Server for Data ScienceaData Science Thailand
 
Hive @ Hadoop day seattle_2010
Hive @ Hadoop day seattle_2010Hive @ Hadoop day seattle_2010
Hive @ Hadoop day seattle_2010nzhang
 
Hadoop Summit Brussels 2015: Architecting a Scalable Hadoop Platform - Top 10...
Hadoop Summit Brussels 2015: Architecting a Scalable Hadoop Platform - Top 10...Hadoop Summit Brussels 2015: Architecting a Scalable Hadoop Platform - Top 10...
Hadoop Summit Brussels 2015: Architecting a Scalable Hadoop Platform - Top 10...Sumeet Singh
 
Microsoft's Hadoop Story
Microsoft's Hadoop StoryMicrosoft's Hadoop Story
Microsoft's Hadoop StoryMichael Rys
 
New Developments in Spark
New Developments in SparkNew Developments in Spark
New Developments in SparkDatabricks
 
Hadoop Summit San Jose 2015: What it Takes to Run Hadoop at Scale Yahoo Persp...
Hadoop Summit San Jose 2015: What it Takes to Run Hadoop at Scale Yahoo Persp...Hadoop Summit San Jose 2015: What it Takes to Run Hadoop at Scale Yahoo Persp...
Hadoop Summit San Jose 2015: What it Takes to Run Hadoop at Scale Yahoo Persp...Sumeet Singh
 

Similar to MATLAB and Scientific Data: New Features and Capabilities (20)

TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
 
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
 
Big Data Processing
Big Data ProcessingBig Data Processing
Big Data Processing
 
AnalyticsConf2016 - Zaawansowana analityka na platformie Azure HDInsight
AnalyticsConf2016 - Zaawansowana analityka na platformie Azure HDInsightAnalyticsConf2016 - Zaawansowana analityka na platformie Azure HDInsight
AnalyticsConf2016 - Zaawansowana analityka na platformie Azure HDInsight
 
Analytics Beyond RAM Capacity using R
Analytics Beyond RAM Capacity using RAnalytics Beyond RAM Capacity using R
Analytics Beyond RAM Capacity using R
 
Data Science
Data ScienceData Science
Data Science
 
Big Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI ProsBig Data and NoSQL for Database and BI Pros
Big Data and NoSQL for Database and BI Pros
 
Paris Data Geek - Spark Streaming
Paris Data Geek - Spark Streaming Paris Data Geek - Spark Streaming
Paris Data Geek - Spark Streaming
 
Data Infrastructure for a World of Music
Data Infrastructure for a World of MusicData Infrastructure for a World of Music
Data Infrastructure for a World of Music
 
RAPIDS – Open GPU-accelerated Data Science
RAPIDS – Open GPU-accelerated Data ScienceRAPIDS – Open GPU-accelerated Data Science
RAPIDS – Open GPU-accelerated Data Science
 
Apache Spark streaming and HBase
Apache Spark streaming and HBaseApache Spark streaming and HBase
Apache Spark streaming and HBase
 
Architecting a Scalable Hadoop Platform: Top 10 considerations for success
Architecting a Scalable Hadoop Platform: Top 10 considerations for successArchitecting a Scalable Hadoop Platform: Top 10 considerations for success
Architecting a Scalable Hadoop Platform: Top 10 considerations for success
 
The Future of Hadoop: A deeper look at Apache Spark
The Future of Hadoop: A deeper look at Apache SparkThe Future of Hadoop: A deeper look at Apache Spark
The Future of Hadoop: A deeper look at Apache Spark
 
Microsoft R Server for Data Sciencea
Microsoft R Server for Data ScienceaMicrosoft R Server for Data Sciencea
Microsoft R Server for Data Sciencea
 
Hive @ Hadoop day seattle_2010
Hive @ Hadoop day seattle_2010Hive @ Hadoop day seattle_2010
Hive @ Hadoop day seattle_2010
 
Hadoop Summit Brussels 2015: Architecting a Scalable Hadoop Platform - Top 10...
Hadoop Summit Brussels 2015: Architecting a Scalable Hadoop Platform - Top 10...Hadoop Summit Brussels 2015: Architecting a Scalable Hadoop Platform - Top 10...
Hadoop Summit Brussels 2015: Architecting a Scalable Hadoop Platform - Top 10...
 
Microsoft's Hadoop Story
Microsoft's Hadoop StoryMicrosoft's Hadoop Story
Microsoft's Hadoop Story
 
New Developments in Spark
New Developments in SparkNew Developments in Spark
New Developments in Spark
 
Hadoop Summit San Jose 2015: What it Takes to Run Hadoop at Scale Yahoo Persp...
Hadoop Summit San Jose 2015: What it Takes to Run Hadoop at Scale Yahoo Persp...Hadoop Summit San Jose 2015: What it Takes to Run Hadoop at Scale Yahoo Persp...
Hadoop Summit San Jose 2015: What it Takes to Run Hadoop at Scale Yahoo Persp...
 
Rapids: Data Science on GPUs
Rapids: Data Science on GPUsRapids: Data Science on GPUs
Rapids: Data Science on GPUs
 

More from The HDF-EOS Tools and Information Center

STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...The HDF-EOS Tools and Information Center
 

More from The HDF-EOS Tools and Information Center (20)

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
HDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and FutureHDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and Future
 
HDF - Current status and Future Directions
HDF - Current status and Future Directions HDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

MATLAB and Scientific Data: New Features and Capabilities

  • 1. 1© 2015 The MathWorks, Inc. MATLAB and Scientific Data: New Features and Capabilities Ellen Johnson Senior Software Engineer MathWorks Landsat8 Image: Coral Reef, Vanua Levu, Fiji
  • 2. 2 The Leading Environment for Technical Computing  Numeric computation  Parallel computing, with multicore and multiprocessor support  Data analysis and visualization  Toolboxes for signal and image processing, statistics, optimization, symbolic math, and other areas  Tools for application development and deployment
  • 3. 3 Database Toolbox Statistics and Machine Learning Toolbox Signal Processing Toolbox MATLAB Compiler Image Processing Toolbox Image Acquisition Toolbox Mapping Toolbox Go Farther with MATLAB and Toolboxes
  • 4. 4 MATLAB and Scientific Data  Scientific data formats • HDF5, HDF4, HDF-EOS2 • NetCDF (with OPeNDAP!) • FITS, CDF, BIL, BIP, BSQ  Image file formats • TIFF, JPEG, HDR, PNG, JPEG2000, and more  Vector data file formats • ESRI Shapefiles, KML, GPS and more  Raster data file formats • GeoTIFF, NITF, USGS and SDTS DEM, NIMA DTED, and more  Web Map Service (WMS)
  • 5. 5 Scientific Data Libraries  MATLAB R2015a  Developing formal upgrade cadence to stay current with vendors  Work closely with vendors on testing new versions Library Version in MATLAB Vendor Version HDF5 1.8.12 1.8.15 HDF4 4.2.5 4.2.11 HDF-EOS2 2.17 2.18 NetCDF with OPeNDAP 4.1.3 4.3.3.1 CDF 3.3.0 3.6.0 FITS 3.27 3.37
  • 6. 6 HDF5  High Level Interface (h5read, h5write, h5disp, h5info) h5disp('example.h5','/g4/lat'); data = h5read('example.h5','/g4/lat');  Low Level Interface (Wraps HDF5 C APIs) fid = H5F.open('example.h5'); dset_id = H5D.open(fid,'/g4/lat'); data = H5D.read(dset_id); H5D.close(dset_id); H5F.close(fid);
  • 7. 7 NetCDF  High Level Interface (ncdisp, ncread, ncwrite, ncinfo) url = 'http://oceanwatch.pifsc.noaa.gov/thredds/ dodsC/goes-poes/2day'; ncdisp(url); data = ncread(url,'sst');  Low Level Interface (Wraps netCDF C APIs) ncid = netcdf.open(url); varid = netcdf.inqVarID(ncid,'sst'); netcdf.getVar(ncid,varid,'double'); netcdf.close(ncid);
  • 8. 8 New in R2014b/R2015a  HDF5 version 1.8.12! – Read data with a third-party filter applied – Both our high-level and low-level interfaces provide support  Dates and Times – datetime, duration, and calendarDuration – Support for math, sorting, comparisons, plotting, formatted display, timezones  Big Data – mapreduce and datastore functions – table and categorical powerful in conjunction with big data analysis  RESTful web server access – webread, webwrite, and websave – JSON objects represented as struct arrays
  • 9. 9 Reading HDF5 Data with Dynamically Loaded Filter  MATLAB can easily read datasets with dynamically loaded compression filters  Example using BZIP2 compressor % Set the HDF5_PLUGIN_PATH environment variable >> setenv('HDF5_PLUGIN_PATH','/test/BZIP2-plugin/plugins/lib'); % Read data with our high-level interface >> myData = h5read('h5ex_d_bzip2.h5','/DS1'); % Read data with our low-level interface >> fileId = H5F.open('h5ex_d_bzip2.h5','H5F_ACC_RDONLY','H5P_DEFAULT'); >> dset = H5D.open(fileId,'/DS1','H5P_DEFAULT'); >> myData = H5D.read(dset,'H5T_NATIVE_INT','H5S_ALL','H5S_ALL','H5P_DEFAULT'); >> H5D.close(dset); >> H5F.close(fileId);
  • 10. 10 Date and Time Arrays  datetime for representing a point in time  duration, calendarDuration for representing elapsed time  Same data type for computation and display – Add, subtract, sort, compare, and plot – Customize display formats – Nanosecond precision  Support for time zones – Accounts for daylight saving time
  • 11. 11 Automatic Updating of Datetime Tick Labels
  • 12. 12 Big Data Capabilities in MATLAB Memory and Data Access  64-bit processors  Memory Mapped Variables  Disk Variables  Databases  Datastores Platforms  Desktop (Multicore, GPU)  Clusters  Cloud Computing (MDCS on EC2)  Hadoop Programming Constructs  Streaming  Block Processing  Parallel-for loops  GPU Arrays  SPMD and Distributed Arrays  MapReduce
  • 13. 13 Platform Desktop Only Desktop + Cluster Desktop + Hadoop Data Size 100’s MB -10’s GB 100’s MB -100’s GB 100’s GB – PBs Techniques • parfor • datastore • mapreduce • parfor • distributed data • spmd • mapreduce Options for Handling Big Data MATLAB Desktop (Client) Hadoop Cluster Hadoop Scheduler … … … … ..… ..… ..… MATLAB Desktop (Client) Cluster Scheduler … … … … ..… ..… ..… MATLAB Desktop (Client)
  • 14. 14 RESTful Web Service Access Read historical temperature data from the World Bank Climate Data API >> api = 'http://climatedataapi.worldbank.org/climateweb/rest/v1/'; >> url = [api 'country/cru/tas/year/USA']; >> S = webread(url) S = 112x1 struct array with fields: year data >> S(1) ans = year: 1901 data: 6.6187
  • 15. 15 View and Save Lunar South Pole Color-coded Topography >> url = 'http://planetarynames.wr.usgs.gov/images/moon_sp.jpg'; >> data = webread(url); >> imshow(data) >> filename = 'lunarSouthPole.jpg' >> options = weboptions >> options.Timeout = 10; >> options.ContentType = 'image'; >> outFile = websave(filename,url,options) outFile = c:LibrariesDocumentslunarSouthPole.jpg
  • 16. 16 Demo: Webread meets HDF Server  HDF Server: A RESTful API providing remote access to HDF5 data  Responses are JSON formatted text  webread with weboptions provide data access  Example: Coral Reef Temperature Anomaly Database (CoRTAD)  Version 3 CoRTAD products in HDF5 format  1.8G dataset  Running h5serv locally >> options = weboptions('RequestMethod','get','KeyName','host','KeyValue','cortadv3_row04_col14.hdfgroup.org') >> data = webread('http://localhost:5000/',options) data = lastModified: '2015-07-10T00:41:43.681844Z' hrefs: [5x1 struct] root: '6f60d9c0-269c-11e5-aa56-005056c00008' created: '2015-07-10T00:38:58.799031Z'
  • 17. 17 Questions?  www.mathworks.com  www.mathworks.com/matlabcentral  Examples:  Using the high-level HDF5 Functions to Import Data  Tackling Big Data with MATLAB  Performing Numerical Simulation of an Oil Spill  Reading Content from RESTful Web Service Thank you!
  • 18. 18 References  www.hdfgroup.org  https://www.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf  https://hdfgroup.org/wp/2015/04/hdf5-for-the-web-hdf-server/  http://data.worldbank.org/developers/climate-data-api  https://data.nasa.gov/data  http://visibleearth.nasa.gov/  http://www.nodc.noaa.gov/sog/cortad/  http://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.nodc:0068999