| // Licensed to the Apache Software Foundation (ASF) under one or more |
| // contributor license agreements. See the NOTICE file distributed with |
| // this work for additional information regarding copyright ownership. |
| // The ASF licenses this file to You under the Apache License, Version 2.0 |
| // (the "License"); you may not use this file except in compliance with |
| // the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto3"; |
| |
| package org.apache.sdap.nexusproto; |
| option java_package = "org.apache.sdap.nexusproto"; |
| option java_multiple_files = true; |
| |
| message EccoTile{ |
| |
| ShapedArray latitude = 1; |
| ShapedArray longitude = 2; |
| |
| int64 time = 3; |
| |
| ShapedArray variable_data = 4; |
| |
| repeated MetaData meta_data = 5; |
| |
| float depth = 6; |
| |
| int64 tile = 7; |
| |
| } |
| |
| message GridTile{ |
| |
| ShapedArray latitude = 1; |
| ShapedArray longitude = 2; |
| |
| int64 time = 3; |
| |
| ShapedArray variable_data = 4; |
| |
| repeated MetaData meta_data = 5; |
| |
| float depth = 6; |
| |
| } |
| |
| message SwathTile{ |
| |
| ShapedArray latitude = 1; |
| ShapedArray longitude = 2; |
| ShapedArray time = 3; |
| |
| ShapedArray variable_data = 4; |
| |
| repeated MetaData meta_data = 5; |
| |
| float depth = 6; |
| |
| } |
| |
| message TimeSeriesTile{ |
| |
| ShapedArray latitude = 1; |
| ShapedArray longitude = 2; |
| |
| ShapedArray time = 3; |
| |
| ShapedArray variable_data = 4; |
| |
| repeated MetaData meta_data = 5; |
| |
| float depth = 6; |
| } |
| |
| message MetaData{ |
| string name = 1; |
| ShapedArray meta_data = 2; |
| } |
| |
| message ShapedArray{ |
| repeated int32 shape = 1 [packed=true]; |
| string dtype = 2; |
| bytes array_data = 3; |
| } |
| |
| message Attribute{ |
| string name = 1; |
| repeated string values = 2; |
| } |
| |
| message TileSummary{ |
| |
| string tile_id = 1; |
| string section_spec = 2; |
| string dataset_name = 3; |
| string granule = 4; |
| string dataset_uuid = 5; |
| string data_var_name = 6; |
| repeated Attribute global_attributes = 7; |
| |
| message BBox{ |
| float lat_min = 1; |
| float lat_max = 2; |
| float lon_min = 3; |
| float lon_max = 4; |
| } |
| BBox bbox = 8; |
| |
| message DataStats{ |
| float min = 1; |
| float max = 2; |
| float mean = 3; |
| int64 count = 4; |
| |
| int64 min_time = 5; |
| int64 max_time = 6; |
| |
| float std_dev = 7; |
| float sum = 8; |
| float median = 9; |
| float variance = 10; |
| float skewness = 11; |
| float kurtosis = 12; |
| |
| } |
| DataStats stats = 9; |
| } |
| |
| message NexusTile{ |
| TileSummary summary = 1; |
| TileData tile = 2; |
| } |
| |
| message TileData{ |
| string tile_id = 1; |
| |
| oneof tile_type{ |
| GridTile grid_tile = 2; |
| SwathTile swath_tile = 3; |
| TimeSeriesTile time_series_tile = 4; |
| EccoTile ecco_tile = 5; |
| } |
| } |