SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
EOS

DATA INFORMATION SYSTEM

EARTH PROBES

NASA'S MISSION TO PLANET EARTH

EARTH OBSERVING SYSTEM

Metadata/Time-Date Tools
(Toolkit_MTD)
Abe Taaheri , Megan Donovan Spencer , Larry Klein
(Space Applications Corp.)
Doug Ilg (RSTX)

September 23, 1998
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Overview

EOS
EARTH OBSERVING SYSTEM

• Science Data Production (SDP) TOOLKIT
• Metadata/Time-Date Tools (TOOLKIT_MTD)
• Metadata Tools
• Time/Date Tools
• Example (call sequences)

LK-2
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

SDP TOOLKIT

EOS
EARTH OBSERVING SYSTEM

• SDP TOOLKIT is an interface between EOS instrument data
producing software and the ECS production archival system.
• Besides the tools handling metadata and time/date conversion, it
includes many other tools such as :
- File I/O tools (IO)
- Error/Status Reporting (SMF)
- Process Control Tools (PC)
- Shared Memory Management Tools (MEM)
- Spacecraft Ephemeris and Attitude Data Access Tools (EPH)
- Digital Elevation Model Tools (DEM)
- Ancillary Data Tools (AA)
- Celestial Body Position Tools (CBP)
- Geo-Coordinate Transformation Tools (GCT)
LK-3
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Science Data Production and
Archival Scenario

EOS
EARTH OBSERVING SYSTEM

(Generated by
Processing)
(Generated by Science
Data Server)
PCF
File
2

Inventory
Metadata
(ASCII File)

Metadata
Configuration
File

Product

4
SDP Toolkit

3

5

Inventory Metadata
Archive Metadata

Product Generation
1

Executable (PGE)
Scientific Data Set

Inputs
Science Data Processing

Scientific Data Set

Structural Metadata
(HDF-EOS Only)
(HDF)

LK-4
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

SDP TOOLKIT (cont.)

EOS
EARTH OBSERVING SYSTEM

• EOSDIS extended data providers will not need the entire TOOLKIT to
handle metadata and data structures (HDF-EOS, HDF)
• This necessitated creating a smaller package to allow these
providers the capability of formatting their products in ECS standard
formats, without requiring the entire SDP toolkit package
• The smaller package could also be used by application developers

LK-5
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Toolkit_MTD

EOS
EARTH OBSERVING SYSTEM

• Tools relevant to metadata and time/date conversion tools are
extracted from Science Data Processing (SDP) Toolkit
• Process Control File, that contains Process Control information
for I/O, is replaced by a short file mapping logical identifiers to
physical file names
• Errors are reported as in HDF and HDFEOS
• Installation Scripts are modified for quick installation of HDF,
HDFEOS, and Toolkit_MTD
• New functionality added to read Metadata from ASCII file
• Tested on SUN and SGI platforms, will be ported to other unix
platforms; HP, DEC, IBM, and also Windows and Mac

LK-6
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Metadata Tools

EOS
EARTH OBSERVING SYSTEM

• PGS_MET_SetFileId()
Sets logical IDs assigned for the user defined files.
• PGS_MET_GetFileId(char *filename)
Retrieves logical ID assigned for a file.
• PGS_MET_Init(PGSt_PC_Logical
PGSt_MET_all_handles
Initializes MCF file containing metadata.

fileId,
mdHandles)

• PGS_MET_Init_NonMCF(PGSt_PC_Logical
fileId,
PGSt_MET_all_handles mdHandles)
Initializes an ASCII file containing metadata.
LK-7
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Metadata Tools (cont.)

EOS
EARTH OBSERVING SYSTEM

• PGS_MET_SetAttr(PGSt_MET_handle
mdHandle,
char
*attrNameStr,
void
*attrValue)
Assigns values to metadata attributes (after initializing MCF file).
• PGS_MET_GetSetAttr(PGSt_MET_handle mdHandle,
char*
attrNameStr,
void*
attrValue)
Retrieves values that are set automatically, or by the user.
• PGS_MET_GetPCAttr(PGSt_PC_Logical fileId,
PGSt_integer
version,
char
*hdfAttrName,
char*
Name,
void *
parmValue)
Reads metadata parameters held in HDF attributes or in a
separate ASCII file.

LK-8
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Metadata Tools (cont.)

EOS
EARTH OBSERVING SYSTEM

• PGS_MET_GetConfigData(char* attrName,
void* attrValue)
Certain configuration parameters are held in the
configfile as “10220|REMOTEHOST|sandcrab”.
This tool would retrieve the value "sandcrab" from the
configfile given the name of the parameter "REMOTEHOST".
• PGS_MET_Write(PGSt_MET_handle
mdHandle,
char *
hdfAttrName,
PGSt_integer
hdfFileId)
Writes metadata after all the metadata parameters are set in
memory. Tool checks that all the mandatory parameters are set.
• PGS_MET_Remove()
Removes ODL representation of all MCF files and some
internal files used by the MET tools.

LK-9
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Time/Date Tools

EOS
EARTH OBSERVING SYSTEM

• PGS_TD_UTCtoTAI( char
asciiUTC[28],
PGSt_double *secTAI93 )
Converts UTC time in CCSDS ASCII Time Code (A or B format)
to Toolkit internal time (real continuous seconds since
12AM UTC 1-1-93).
• PGS_TD_TAItoUTC( PGSt_double secTAI93,
char
asciiUTC[28])
Converts Toolkit internal time (real continuous seconds
since 12AM UTC 1-1-93) to UTC time in CCSDS ASCII
Time Code A format.

LK-10
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Time/Date Tools (cont.)

EOS
EARTH OBSERVING SYSTEM

•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

PGS_TD_TAItoTAIjd( )
PGS_TD_TAIjdtoTAI( )
PGS_TD_TAItoGAST( )
PGS_TD_UTC_to_Sctime( )
PGS_TD_SCtime_to_UTC( )
PGS_TD_ASCIItime_AtoB( )
PGS_TD_ASCIItime_BtoA( )
PGS_TD_UTCtoGPS( )
PGS_TD_GPStoUTC( )
PGS_TD_UTCtoTDTjed( )
PGS_TD_UTCtoTDBjed( )
PGS_TD_TimeInterval( )
PGS_TD_UTCtoUTCjd( )
PGS_TD_UTCjdtoUTC( )
PGS_TD_UTCtoUT1( )
PGS_TD_UTCtoUT1jd( )
PGS_TD_LeapSec( )

LK-11
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example

EOS
EARTH OBSERVING SYSTEM

/* include files */
#include <PGS_MET.h>
#include <PGS_tk.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <hdf.h>
#include <mfhdf.h>
#include <PGS_SMF.h>
#define INVENTORYMETADATA 1
#define ARCHIVEDMETADATA 2
#define ODL_IN_MEMORY 0

LK-12
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example (cont.)

EOS
EARTH OBSERVING SYSTEM

int main()
{
/***** Declarations *****/
PGSt_MET_all_handles mdHandles;
PGSt_SMF_status ret = PGS_S_SUCCESS;
PGSt_integer fileId, sdid, value,rtid;
PGSt_integer i, ival;
PGSt_integer version;
PGSt_double dval;
char *sval[5];
char *start_time = "";
char
my_HDF_file[PGSd_MET_FILE_PATH_MAX]="";

LK-13
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example (cont.)

EOS
EARTH OBSERVING SYSTEM

/**********************************
Associate logical IDs with physical
filenames
***********************************/
ret = PGS_MET_SetFileId();
/* get values from Config file */
ret = PGS_MET_GetConfigData(“Runtime_ID”,&rtid);
ret = PGS_MET_GetConfigData(“VERSION_NUMBER”,&ival);
ret = PGS_MET_GetConfigData(“STARTTIME”,
&start_time);

LK-14
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example (cont.)

EOS
EARTH OBSERVING SYSTEM

/* get value from metadata block of input file */
ret = PGS_MET_GetPCAttr(10265,1,INVENTORYMETADATA,
"EquatorCrossingLongitude",&dval);
/* get value from ASCII metadata file */
ret = PGS_MET_GetPCAttr(5731,1,”coremetadata”,
”TestingAttribute1",&sval);
for(i=0; i<1; i++) printf(“%s”,sval);
printf(“n”);

LK-15
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example (cont.)

EOS
EARTH OBSERVING SYSTEM

/* Initialize MCF file */
fileId = 10250;
ret = PGS_MET_Init(fileId,mdHandles);
if (ret !=PGS_S_SUCCESS)
{
printf("initialization failedn");
exit(1);
}
/* assign value to attribute in MCF */
ret = PGS_MET_SetAttr(mdHandles[1],
"LocalVersionID",&ival);

LK-16
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example (cont.)

EOS
EARTH OBSERVING SYSTEM

ret = PGS_MET_SetAttr(mdHandles[1],
”EquatorCrossingLongitude",&dval);
ret = PGS_MET_SetAttr(mdHandles[1],
”RANGEBEGININGDATETIME",&start_time);
ret = PGS_MET_SetAttr(mdHandles[1],
"ParameterValue.1",57.5)
/* assign value to attribute in MCF
in Archive block
*/
ret = PGS_MET_SetAttr(mdHandles[2],
"Runtime_ID",&rtid);

LK-17
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example (cont.)

EOS
EARTH OBSERVING SYSTEM

/* Read back in value of attribute in memory */
ret = PGS_MET_GetSetAttr(mdHandles[2],
"Runtime_ID",&rtid);
/* Write metadata to HDF and ASCII files */
version =1;
fileId = 5039;
ret = PGS_PC_GetReference(fileId,
&version, my_HDF_file);
if (ret == PGS_S_SUCCESS)
{
sdid = SDstart(my_HDF_file,DFACC_CREATE);
}
LK-18
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example (cont.)

EOS
EARTH OBSERVING SYSTEM

/* write INVENTORYMETADATA to HDF file */
ret = PGS_MET_Write(mdHandles[INVENTORYMETADATA],
"coremetadata",sdid);
/* write ARCHIVEDMETADAT to HDF file */
ret = PGS_MET_Write(mdHandles[ARCHIVEDMETADATA],
"archivemetadata",sdid);
/* write to non-HDF file */
fileId = 5804;
ret = PGS_MET_Write(mdHandles[ODL_IN_MEMORY],
NULL,fileId);

LK-19
NASA'S MISSION TO PLANET EARTH

EARTH PROBES

DATA INFORMATION SYSTEM

Example (cont.)

EOS
EARTH OBSERVING SYSTEM

/* write to default non-HDF file */
ret = PGS_MET_Write(mdHandles[ODL_IN_MEMORY],
NULL, NULL);
SDend(sdid);
/* Remove MCF from memory */
ret = PGS_MET_Remove();
}

LK-20

Más contenido relacionado

La actualidad más candente

EAS Data Flow lessons learnt
EAS Data Flow lessons learntEAS Data Flow lessons learnt
EAS Data Flow lessons learnt
euc-dm-test
 

La actualidad más candente (20)

20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English20181212 - PGconfASIA - LT - English
20181212 - PGconfASIA - LT - English
 
EAS Data Flow lessons learnt
EAS Data Flow lessons learntEAS Data Flow lessons learnt
EAS Data Flow lessons learnt
 
P4 2017 io
P4 2017 ioP4 2017 io
P4 2017 io
 
The age of rename() is over
The age of rename() is overThe age of rename() is over
The age of rename() is over
 
What does Rename Do: (detailed version)
What does Rename Do: (detailed version)What does Rename Do: (detailed version)
What does Rename Do: (detailed version)
 
Put is the new rename: San Jose Summit Edition
Put is the new rename: San Jose Summit EditionPut is the new rename: San Jose Summit Edition
Put is the new rename: San Jose Summit Edition
 
Neptune Distributed Data System
Neptune Distributed Data SystemNeptune Distributed Data System
Neptune Distributed Data System
 
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco Slot
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco SlotDistributed Computing on PostgreSQL | PGConf EU 2017 | Marco Slot
Distributed Computing on PostgreSQL | PGConf EU 2017 | Marco Slot
 
Meet the Experts: InfluxDB Product Update
Meet the Experts: InfluxDB Product UpdateMeet the Experts: InfluxDB Product Update
Meet the Experts: InfluxDB Product Update
 
Oracle dataguard overview
Oracle dataguard overviewOracle dataguard overview
Oracle dataguard overview
 
Elastic 101 tutorial - Percona Europe 2018
Elastic 101 tutorial - Percona Europe 2018 Elastic 101 tutorial - Percona Europe 2018
Elastic 101 tutorial - Percona Europe 2018
 
Full Text Search in PostgreSQL
Full Text Search in PostgreSQLFull Text Search in PostgreSQL
Full Text Search in PostgreSQL
 
Data correlation using PySpark and HDFS
Data correlation using PySpark and HDFSData correlation using PySpark and HDFS
Data correlation using PySpark and HDFS
 
Bloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLBloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQL
 
Upgrading To The New Map Reduce API
Upgrading To The New Map Reduce APIUpgrading To The New Map Reduce API
Upgrading To The New Map Reduce API
 
Spark Streaming Tips for Devs and Ops
Spark Streaming Tips for Devs and OpsSpark Streaming Tips for Devs and Ops
Spark Streaming Tips for Devs and Ops
 
20150207 howes-gpgpu8-dark secrets
20150207 howes-gpgpu8-dark secrets20150207 howes-gpgpu8-dark secrets
20150207 howes-gpgpu8-dark secrets
 
Designing and Building Multi-Region Swift Deployment
Designing and Building Multi-Region Swift DeploymentDesigning and Building Multi-Region Swift Deployment
Designing and Building Multi-Region Swift Deployment
 
Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105Tajo case study bay area hug 20131105
Tajo case study bay area hug 20131105
 
Anais Dotis-Georgiou [InfluxData] | Learn Flux by Example | InfluxDays NA 2021
Anais Dotis-Georgiou [InfluxData] | Learn Flux by Example | InfluxDays NA 2021Anais Dotis-Georgiou [InfluxData] | Learn Flux by Example | InfluxDays NA 2021
Anais Dotis-Georgiou [InfluxData] | Learn Flux by Example | InfluxDays NA 2021
 

Destacado

Bertini - Automatic Metadata Extraction in VidiVideo & im3i @EUscreen Mykonos
Bertini - Automatic Metadata Extraction in VidiVideo & im3i @EUscreen MykonosBertini - Automatic Metadata Extraction in VidiVideo & im3i @EUscreen Mykonos
Bertini - Automatic Metadata Extraction in VidiVideo & im3i @EUscreen Mykonos
EUscreen
 
LIS688_Group1
LIS688_Group1 LIS688_Group1
LIS688_Group1
e_chae
 
Metadata Use Cases You Can Use
Metadata Use Cases You Can UseMetadata Use Cases You Can Use
Metadata Use Cases You Can Use
dmurph4
 
Content extraction with apache tika
Content extraction with apache tikaContent extraction with apache tika
Content extraction with apache tika
Jukka Zitting
 

Destacado (19)

Bertini - Automatic Metadata Extraction in VidiVideo & im3i @EUscreen Mykonos
Bertini - Automatic Metadata Extraction in VidiVideo & im3i @EUscreen MykonosBertini - Automatic Metadata Extraction in VidiVideo & im3i @EUscreen Mykonos
Bertini - Automatic Metadata Extraction in VidiVideo & im3i @EUscreen Mykonos
 
TERENA OER portal, metadata extraction analysis, LAK, Leuven @9apr2013
TERENA OER portal, metadata extraction analysis, LAK, Leuven @9apr2013TERENA OER portal, metadata extraction analysis, LAK, Leuven @9apr2013
TERENA OER portal, metadata extraction analysis, LAK, Leuven @9apr2013
 
Approaches to automated metadata extraction : FixRep Project
Approaches to automated metadata extraction : FixRep ProjectApproaches to automated metadata extraction : FixRep Project
Approaches to automated metadata extraction : FixRep Project
 
Metadata extraction
Metadata extractionMetadata extraction
Metadata extraction
 
LIS688_Group1
LIS688_Group1 LIS688_Group1
LIS688_Group1
 
Metadata Extraction Projects for Education Network Australia
Metadata Extraction Projects for Education Network AustraliaMetadata Extraction Projects for Education Network Australia
Metadata Extraction Projects for Education Network Australia
 
Automatic metadata generation
Automatic metadata generationAutomatic metadata generation
Automatic metadata generation
 
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
 
Apache Tika end-to-end
Apache Tika end-to-endApache Tika end-to-end
Apache Tika end-to-end
 
Scientific data curation and processing with Apache Tika
Scientific data curation and processing with Apache TikaScientific data curation and processing with Apache Tika
Scientific data curation and processing with Apache Tika
 
Metadata Strategies And Tools
Metadata Strategies And ToolsMetadata Strategies And Tools
Metadata Strategies And Tools
 
Mapping, Merging, and Multilingual Taxonomies
Mapping, Merging, and Multilingual TaxonomiesMapping, Merging, and Multilingual Taxonomies
Mapping, Merging, and Multilingual Taxonomies
 
Metadata Extraction and Content Transformation
Metadata Extraction and Content TransformationMetadata Extraction and Content Transformation
Metadata Extraction and Content Transformation
 
Metadata Use Cases You Can Use
Metadata Use Cases You Can UseMetadata Use Cases You Can Use
Metadata Use Cases You Can Use
 
Taxonomy Interoperability Standards
Taxonomy Interoperability StandardsTaxonomy Interoperability Standards
Taxonomy Interoperability Standards
 
A Survey: Taxonomy Building Tools
A Survey: Taxonomy Building ToolsA Survey: Taxonomy Building Tools
A Survey: Taxonomy Building Tools
 
Content Analysis with Apache Tika
Content Analysis with Apache TikaContent Analysis with Apache Tika
Content Analysis with Apache Tika
 
Metadata in Business Intelligence
Metadata in Business IntelligenceMetadata in Business Intelligence
Metadata in Business Intelligence
 
Content extraction with apache tika
Content extraction with apache tikaContent extraction with apache tika
Content extraction with apache tika
 

Similar a Metadata/Time-Date Tools (Toolkit_MTD)

Development of James Web Space Telescope (JWST)
Development of James Web Space Telescope (JWST) Development of James Web Space Telescope (JWST)
Development of James Web Space Telescope (JWST)
webhostingguy
 
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado BlascoDSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
Deltares
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brussels
Daniel Nüst
 

Similar a Metadata/Time-Date Tools (Toolkit_MTD) (20)

Next CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub WozniakNext CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub Wozniak
 
PyModESt: A Python Framework for Staging of Geo-referenced Data on the Coll...
PyModESt: A Python Framework for Staging of Geo-referenced Data on the Coll...PyModESt: A Python Framework for Staging of Geo-referenced Data on the Coll...
PyModESt: A Python Framework for Staging of Geo-referenced Data on the Coll...
 
Subsetting at UAH
Subsetting at UAHSubsetting at UAH
Subsetting at UAH
 
HDF-EOS Maintenance, Current Development and Tools
HDF-EOS Maintenance, Current Development and ToolsHDF-EOS Maintenance, Current Development and Tools
HDF-EOS Maintenance, Current Development and Tools
 
20090701 Climate Data Staging
20090701 Climate Data Staging20090701 Climate Data Staging
20090701 Climate Data Staging
 
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device ConfigurationLAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
 
Development of James Web Space Telescope (JWST)
Development of James Web Space Telescope (JWST) Development of James Web Space Telescope (JWST)
Development of James Web Space Telescope (JWST)
 
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
 
Hadoop Introduction
Hadoop IntroductionHadoop Introduction
Hadoop Introduction
 
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado BlascoDSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
 
Environment Canada's Data Management Service
Environment Canada's Data Management ServiceEnvironment Canada's Data Management Service
Environment Canada's Data Management Service
 
Big Data - Load, Index & Query the EZ way - HPCC Systems
Big Data - Load, Index & Query the EZ way - HPCC SystemsBig Data - Load, Index & Query the EZ way - HPCC Systems
Big Data - Load, Index & Query the EZ way - HPCC Systems
 
Supercharging your Apache OODT deployments with the Process Control System
Supercharging your Apache OODT deployments with the Process Control SystemSupercharging your Apache OODT deployments with the Process Control System
Supercharging your Apache OODT deployments with the Process Control System
 
Content Framework for Operational Environmental Remote Sensing Data Sets: NPO...
Content Framework for Operational Environmental Remote Sensing Data Sets: NPO...Content Framework for Operational Environmental Remote Sensing Data Sets: NPO...
Content Framework for Operational Environmental Remote Sensing Data Sets: NPO...
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brussels
 
Active Data: Managing Data-Life Cycle on Heterogeneous Systems and Infrastruc...
Active Data: Managing Data-Life Cycle on Heterogeneous Systems and Infrastruc...Active Data: Managing Data-Life Cycle on Heterogeneous Systems and Infrastruc...
Active Data: Managing Data-Life Cycle on Heterogeneous Systems and Infrastruc...
 
WindowsRegistry.ppt
WindowsRegistry.pptWindowsRegistry.ppt
WindowsRegistry.ppt
 
Postgresql Database Administration Basic - Day2
Postgresql  Database Administration Basic  - Day2Postgresql  Database Administration Basic  - Day2
Postgresql Database Administration Basic - Day2
 
Accessing external hadoop data sources using pivotal e xtension framework (px...
Accessing external hadoop data sources using pivotal e xtension framework (px...Accessing external hadoop data sources using pivotal e xtension framework (px...
Accessing external hadoop data sources using pivotal e xtension framework (px...
 
Lessons Learned Running InfluxDB Cloud and Other Cloud Services at Scale by T...
Lessons Learned Running InfluxDB Cloud and Other Cloud Services at Scale by T...Lessons Learned Running InfluxDB Cloud and Other Cloud Services at Scale by T...
Lessons Learned Running InfluxDB Cloud and Other Cloud Services at Scale by T...
 

Más de The HDF-EOS Tools and Information Center

Más de 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
 

Último

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Metadata/Time-Date Tools (Toolkit_MTD)

  • 1. EOS DATA INFORMATION SYSTEM EARTH PROBES NASA'S MISSION TO PLANET EARTH EARTH OBSERVING SYSTEM Metadata/Time-Date Tools (Toolkit_MTD) Abe Taaheri , Megan Donovan Spencer , Larry Klein (Space Applications Corp.) Doug Ilg (RSTX) September 23, 1998
  • 2. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Overview EOS EARTH OBSERVING SYSTEM • Science Data Production (SDP) TOOLKIT • Metadata/Time-Date Tools (TOOLKIT_MTD) • Metadata Tools • Time/Date Tools • Example (call sequences) LK-2
  • 3. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM SDP TOOLKIT EOS EARTH OBSERVING SYSTEM • SDP TOOLKIT is an interface between EOS instrument data producing software and the ECS production archival system. • Besides the tools handling metadata and time/date conversion, it includes many other tools such as : - File I/O tools (IO) - Error/Status Reporting (SMF) - Process Control Tools (PC) - Shared Memory Management Tools (MEM) - Spacecraft Ephemeris and Attitude Data Access Tools (EPH) - Digital Elevation Model Tools (DEM) - Ancillary Data Tools (AA) - Celestial Body Position Tools (CBP) - Geo-Coordinate Transformation Tools (GCT) LK-3
  • 4. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Science Data Production and Archival Scenario EOS EARTH OBSERVING SYSTEM (Generated by Processing) (Generated by Science Data Server) PCF File 2 Inventory Metadata (ASCII File) Metadata Configuration File Product 4 SDP Toolkit 3 5 Inventory Metadata Archive Metadata Product Generation 1 Executable (PGE) Scientific Data Set Inputs Science Data Processing Scientific Data Set Structural Metadata (HDF-EOS Only) (HDF) LK-4
  • 5. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM SDP TOOLKIT (cont.) EOS EARTH OBSERVING SYSTEM • EOSDIS extended data providers will not need the entire TOOLKIT to handle metadata and data structures (HDF-EOS, HDF) • This necessitated creating a smaller package to allow these providers the capability of formatting their products in ECS standard formats, without requiring the entire SDP toolkit package • The smaller package could also be used by application developers LK-5
  • 6. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Toolkit_MTD EOS EARTH OBSERVING SYSTEM • Tools relevant to metadata and time/date conversion tools are extracted from Science Data Processing (SDP) Toolkit • Process Control File, that contains Process Control information for I/O, is replaced by a short file mapping logical identifiers to physical file names • Errors are reported as in HDF and HDFEOS • Installation Scripts are modified for quick installation of HDF, HDFEOS, and Toolkit_MTD • New functionality added to read Metadata from ASCII file • Tested on SUN and SGI platforms, will be ported to other unix platforms; HP, DEC, IBM, and also Windows and Mac LK-6
  • 7. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Metadata Tools EOS EARTH OBSERVING SYSTEM • PGS_MET_SetFileId() Sets logical IDs assigned for the user defined files. • PGS_MET_GetFileId(char *filename) Retrieves logical ID assigned for a file. • PGS_MET_Init(PGSt_PC_Logical PGSt_MET_all_handles Initializes MCF file containing metadata. fileId, mdHandles) • PGS_MET_Init_NonMCF(PGSt_PC_Logical fileId, PGSt_MET_all_handles mdHandles) Initializes an ASCII file containing metadata. LK-7
  • 8. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Metadata Tools (cont.) EOS EARTH OBSERVING SYSTEM • PGS_MET_SetAttr(PGSt_MET_handle mdHandle, char *attrNameStr, void *attrValue) Assigns values to metadata attributes (after initializing MCF file). • PGS_MET_GetSetAttr(PGSt_MET_handle mdHandle, char* attrNameStr, void* attrValue) Retrieves values that are set automatically, or by the user. • PGS_MET_GetPCAttr(PGSt_PC_Logical fileId, PGSt_integer version, char *hdfAttrName, char* Name, void * parmValue) Reads metadata parameters held in HDF attributes or in a separate ASCII file. LK-8
  • 9. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Metadata Tools (cont.) EOS EARTH OBSERVING SYSTEM • PGS_MET_GetConfigData(char* attrName, void* attrValue) Certain configuration parameters are held in the configfile as “10220|REMOTEHOST|sandcrab”. This tool would retrieve the value "sandcrab" from the configfile given the name of the parameter "REMOTEHOST". • PGS_MET_Write(PGSt_MET_handle mdHandle, char * hdfAttrName, PGSt_integer hdfFileId) Writes metadata after all the metadata parameters are set in memory. Tool checks that all the mandatory parameters are set. • PGS_MET_Remove() Removes ODL representation of all MCF files and some internal files used by the MET tools. LK-9
  • 10. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Time/Date Tools EOS EARTH OBSERVING SYSTEM • PGS_TD_UTCtoTAI( char asciiUTC[28], PGSt_double *secTAI93 ) Converts UTC time in CCSDS ASCII Time Code (A or B format) to Toolkit internal time (real continuous seconds since 12AM UTC 1-1-93). • PGS_TD_TAItoUTC( PGSt_double secTAI93, char asciiUTC[28]) Converts Toolkit internal time (real continuous seconds since 12AM UTC 1-1-93) to UTC time in CCSDS ASCII Time Code A format. LK-10
  • 11. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Time/Date Tools (cont.) EOS EARTH OBSERVING SYSTEM • • • • • • • • • • • • • • • • • PGS_TD_TAItoTAIjd( ) PGS_TD_TAIjdtoTAI( ) PGS_TD_TAItoGAST( ) PGS_TD_UTC_to_Sctime( ) PGS_TD_SCtime_to_UTC( ) PGS_TD_ASCIItime_AtoB( ) PGS_TD_ASCIItime_BtoA( ) PGS_TD_UTCtoGPS( ) PGS_TD_GPStoUTC( ) PGS_TD_UTCtoTDTjed( ) PGS_TD_UTCtoTDBjed( ) PGS_TD_TimeInterval( ) PGS_TD_UTCtoUTCjd( ) PGS_TD_UTCjdtoUTC( ) PGS_TD_UTCtoUT1( ) PGS_TD_UTCtoUT1jd( ) PGS_TD_LeapSec( ) LK-11
  • 12. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example EOS EARTH OBSERVING SYSTEM /* include files */ #include <PGS_MET.h> #include <PGS_tk.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <hdf.h> #include <mfhdf.h> #include <PGS_SMF.h> #define INVENTORYMETADATA 1 #define ARCHIVEDMETADATA 2 #define ODL_IN_MEMORY 0 LK-12
  • 13. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example (cont.) EOS EARTH OBSERVING SYSTEM int main() { /***** Declarations *****/ PGSt_MET_all_handles mdHandles; PGSt_SMF_status ret = PGS_S_SUCCESS; PGSt_integer fileId, sdid, value,rtid; PGSt_integer i, ival; PGSt_integer version; PGSt_double dval; char *sval[5]; char *start_time = ""; char my_HDF_file[PGSd_MET_FILE_PATH_MAX]=""; LK-13
  • 14. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example (cont.) EOS EARTH OBSERVING SYSTEM /********************************** Associate logical IDs with physical filenames ***********************************/ ret = PGS_MET_SetFileId(); /* get values from Config file */ ret = PGS_MET_GetConfigData(“Runtime_ID”,&rtid); ret = PGS_MET_GetConfigData(“VERSION_NUMBER”,&ival); ret = PGS_MET_GetConfigData(“STARTTIME”, &start_time); LK-14
  • 15. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example (cont.) EOS EARTH OBSERVING SYSTEM /* get value from metadata block of input file */ ret = PGS_MET_GetPCAttr(10265,1,INVENTORYMETADATA, "EquatorCrossingLongitude",&dval); /* get value from ASCII metadata file */ ret = PGS_MET_GetPCAttr(5731,1,”coremetadata”, ”TestingAttribute1",&sval); for(i=0; i<1; i++) printf(“%s”,sval); printf(“n”); LK-15
  • 16. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example (cont.) EOS EARTH OBSERVING SYSTEM /* Initialize MCF file */ fileId = 10250; ret = PGS_MET_Init(fileId,mdHandles); if (ret !=PGS_S_SUCCESS) { printf("initialization failedn"); exit(1); } /* assign value to attribute in MCF */ ret = PGS_MET_SetAttr(mdHandles[1], "LocalVersionID",&ival); LK-16
  • 17. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example (cont.) EOS EARTH OBSERVING SYSTEM ret = PGS_MET_SetAttr(mdHandles[1], ”EquatorCrossingLongitude",&dval); ret = PGS_MET_SetAttr(mdHandles[1], ”RANGEBEGININGDATETIME",&start_time); ret = PGS_MET_SetAttr(mdHandles[1], "ParameterValue.1",57.5) /* assign value to attribute in MCF in Archive block */ ret = PGS_MET_SetAttr(mdHandles[2], "Runtime_ID",&rtid); LK-17
  • 18. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example (cont.) EOS EARTH OBSERVING SYSTEM /* Read back in value of attribute in memory */ ret = PGS_MET_GetSetAttr(mdHandles[2], "Runtime_ID",&rtid); /* Write metadata to HDF and ASCII files */ version =1; fileId = 5039; ret = PGS_PC_GetReference(fileId, &version, my_HDF_file); if (ret == PGS_S_SUCCESS) { sdid = SDstart(my_HDF_file,DFACC_CREATE); } LK-18
  • 19. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example (cont.) EOS EARTH OBSERVING SYSTEM /* write INVENTORYMETADATA to HDF file */ ret = PGS_MET_Write(mdHandles[INVENTORYMETADATA], "coremetadata",sdid); /* write ARCHIVEDMETADAT to HDF file */ ret = PGS_MET_Write(mdHandles[ARCHIVEDMETADATA], "archivemetadata",sdid); /* write to non-HDF file */ fileId = 5804; ret = PGS_MET_Write(mdHandles[ODL_IN_MEMORY], NULL,fileId); LK-19
  • 20. NASA'S MISSION TO PLANET EARTH EARTH PROBES DATA INFORMATION SYSTEM Example (cont.) EOS EARTH OBSERVING SYSTEM /* write to default non-HDF file */ ret = PGS_MET_Write(mdHandles[ODL_IN_MEMORY], NULL, NULL); SDend(sdid); /* Remove MCF from memory */ ret = PGS_MET_Remove(); } LK-20