ioos / erddap-gold-standard

Contains the 'gold standard' ERDDAP configuration, with datasets compliant with IOOS Metadata Profile 1.2
https://standards.sensors.ioos.us/erddap/index.html
8 stars 16 forks source link

mermaid flow diagram for ERDDAP #71

Open MathewBiddle opened 2 months ago

MathewBiddle commented 2 months ago

I'd like to create a high level diagram of ERDDAP to promote it's usefulness. Here's an initial mermaid diagram.

flowchart BT
    A1[fa:fa-ship ship] --> B1{ERDDAP}
    A2[glider] --> B2{ERDDAP}
    A3[profile] --> B2
    A4[fa:fa-buoy buoy] --> B3{ERDDAP}
    A5[hfradar] --> B3
    B1 --> C{fa:fa-database Federated ERDDAP}
    B2 --> C
    B3 --> C
    C <--> D1[fa:fa-person Users]
    C <--> D2[fa:fa-person Users]
    C <--> D3[fa:fa-person Users]
    C <--> D4[fa:fa-person Users]
    B1 <--> D1
MathewBiddle commented 2 months ago

Looking at it from the input data and output data:

---
config:
  sankey:
    showValues: false
    width: 800
    height: 800
    nodeAlignment: center
---
sankey-beta

%%inputs
%%source,target,value
EDDTableFromAsciiFiles,ERDDAP,1
EDDTableFromAsciiService,ERDDAP,1
EDDTableFromAsciiServiceNOS,ERDDAP,1
EDDTableFromAudioFiles,ERDDAP,1
EDDTableFromAwsXmlFiles,ERDDAP,1
EDDTableFromCassandra,ERDDAP,1
EDDTableFromColumnarAsciiFiles,ERDDAP,1
EDDTableFromDapSequence,ERDDAP,1
EDDTableFromDatabase,ERDDAP,1
EDDTableFromEDDGrid,ERDDAP,1
EDDTableFromErddap,ERDDAP,1
EDDTableFromFileNames,ERDDAP,1
EDDTableFromFiles,ERDDAP,1
EDDTableFromHttpGet,ERDDAP,1
EDDTableFromInvalidCRAFiles,ERDDAP,1
EDDTableFromJsonlCSVFiles,ERDDAP,1
EDDTableFromMultidimNcFiles,ERDDAP,1
EDDTableFromNcFiles,ERDDAP,1
EDDTableFromNcCFFiles,ERDDAP,1
EDDTableFromNccsvFiles,ERDDAP,1
EDDTableFromOBIS,ERDDAP,1
EDDTableFromSOS,ERDDAP,1
EDDTableAggregateRows,ERDDAP,1
EDDTableCopy,ERDDAP,1
EDDGridFromAudioFiles,ERDDAP,1
EDDGridFromDap,ERDDAP,1
EDDGridFromEDDTable,ERDDAP,1
EDDGridFromErddap,ERDDAP,1
EDDGridFromEtopo,ERDDAP,1
EDDGridFromFiles,ERDDAP,1
EDDGridFromMergeIRFiles,ERDDAP,1
EDDGridFromNcFiles,ERDDAP,1
EDDGridFromNcFilesUnpacked,ERDDAP,1
EDDGridLonPM180,ERDDAP,1
EDDGridLon0360,ERDDAP,1
EDDGridSideBySide,ERDDAP,1
EDDGridAggregateExistingDimension,ERDDAP,1
EDDGridCopy,ERDDAP,1

%%outputs
%%source,target,value
ERDDAP,.asc,1
ERDDAP,.csv,1
ERDDAP,.csvp,1
ERDDAP,.csv0,1
ERDDAP,.dataTable,1
ERDDAP,.das,1
ERDDAP,.dds,1
ERDDAP,.dods,1
ERDDAP,.esriCsv,1
ERDDAP,.fgdc,1
ERDDAP,.geoJson,1
ERDDAP,.graph,1
ERDDAP,.help,1
ERDDAP,.html,1
ERDDAP,.htmlTable,1
ERDDAP,.iso19115,1
ERDDAP,.itx,1
ERDDAP,.json,1
ERDDAP,.jsonlCSV1,1
ERDDAP,.jsonlCSV,1
ERDDAP,.jsonlKVP,1
ERDDAP,.mat,1
ERDDAP,.nc,1
ERDDAP,.ncHeader,1
ERDDAP,.ncCF,1
ERDDAP,.ncCFHeader,1
ERDDAP,.ncCFMA,1
ERDDAP,.ncCFMAHeader,1
ERDDAP,.nccsv,1
ERDDAP,.nccsvMetadata,1
ERDDAP,.ncoJson,1
ERDDAP,.odvTxt,1
ERDDAP,.subset,1
ERDDAP,.tsv,1
ERDDAP,.tsvp,1
ERDDAP,.tsv0,1
ERDDAP,.wav,1
ERDDAP,.xhtml,1
MathewBiddle commented 1 month ago

ERDDAP Federation:

---
config:
  sankey:
    showValues: false
    width: 800
    height: 600
    nodeAlignment: center
---
sankey-beta

%%inputs
%%source,target,value
ERDDAP1,ERDDAP,9.5
ERDDAP2,ERDDAP,9.5
ERDDAP3,ERDDAP,9.5
ERDDAP4,ERDDAP,9.5

%%outputs
%%source,target,value
ERDDAP,.asc,1
ERDDAP,.csv,1
ERDDAP,.csvp,1
ERDDAP,.csv0,1
ERDDAP,.dataTable,1
ERDDAP,.das,1
ERDDAP,.dds,1
ERDDAP,.dods,1
ERDDAP,.esriCsv,1
ERDDAP,.fgdc,1
ERDDAP,.geoJson,1
ERDDAP,.graph,1
ERDDAP,.help,1
ERDDAP,.html,1
ERDDAP,.htmlTable,1
ERDDAP,.iso19115,1
ERDDAP,.itx,1
ERDDAP,.json,1
ERDDAP,.jsonlCSV1,1
ERDDAP,.jsonlCSV,1
ERDDAP,.jsonlKVP,1
ERDDAP,.mat,1
ERDDAP,.nc,1
ERDDAP,.ncHeader,1
ERDDAP,.ncCF,1
ERDDAP,.ncCFHeader,1
ERDDAP,.ncCFMA,1
ERDDAP,.ncCFMAHeader,1
ERDDAP,.nccsv,1
ERDDAP,.nccsvMetadata,1
ERDDAP,.ncoJson,1
ERDDAP,.odvTxt,1
ERDDAP,.subset,1
ERDDAP,.tsv,1
ERDDAP,.tsvp,1
ERDDAP,.tsv0,1
ERDDAP,.wav,1
ERDDAP,.xhtml,1
srstsavage commented 1 month ago

Would it make sense to label the federating ERDDAP explicitly as "Federating ERDDAP" or similar to drive the point home? A subgraph/box around the data providers and data consumers on top graph would be a nice touch, but maybe not necessary if it's not easy.

MathewBiddle commented 1 month ago

Like this?

---
config:
  sankey:
    showValues: false
    width: 800
    height: 600
    nodeAlignment: center
---
sankey-beta

%%inputs
%%source,target,value
ERDDAP1,Federating ERDDAP,9.5
ERDDAP2,Federating ERDDAP,9.5
ERDDAP3,Federating ERDDAP,9.5
ERDDAP4,Federating ERDDAP,9.5

%%outputs
%%source,target,value
Federating ERDDAP,.asc,1
Federating ERDDAP,.csv,1
Federating ERDDAP,.csvp,1
Federating ERDDAP,.csv0,1
Federating ERDDAP,.dataTable,1
Federating ERDDAP,.das,1
Federating ERDDAP,.dds,1
Federating ERDDAP,.dods,1
Federating ERDDAP,.esriCsv,1
Federating ERDDAP,.fgdc,1
Federating ERDDAP,.geoJson,1
Federating ERDDAP,.graph,1
Federating ERDDAP,.help,1
Federating ERDDAP,.html,1
Federating ERDDAP,.htmlTable,1
Federating ERDDAP,.iso19115,1
Federating ERDDAP,.itx,1
Federating ERDDAP,.json,1
Federating ERDDAP,.jsonlCSV1,1
Federating ERDDAP,.jsonlCSV,1
Federating ERDDAP,.jsonlKVP,1
Federating ERDDAP,.mat,1
Federating ERDDAP,.nc,1
Federating ERDDAP,.ncHeader,1
Federating ERDDAP,.ncCF,1
Federating ERDDAP,.ncCFHeader,1
Federating ERDDAP,.ncCFMA,1
Federating ERDDAP,.ncCFMAHeader,1
Federating ERDDAP,.nccsv,1
Federating ERDDAP,.nccsvMetadata,1
Federating ERDDAP,.ncoJson,1
Federating ERDDAP,.odvTxt,1
Federating ERDDAP,.subset,1
Federating ERDDAP,.tsv,1
Federating ERDDAP,.tsvp,1
Federating ERDDAP,.tsv0,1
Federating ERDDAP,.wav,1
Federating ERDDAP,.xhtml,1
srstsavage commented 1 month ago

Yeah, and on the top level diamond in the top graph. Just makes it faster to comprehend the data flow.

MathewBiddle commented 1 month ago

Okay, I updated that first graph.

srstsavage commented 1 month ago

Looks good to me!