diff --git a/enstools/feature/identification/_proto_gen/african_easterly_waves_pb2.py b/enstools/feature/identification/_proto_gen/african_easterly_waves_pb2.py index 1951363f5a2a204cf91c6176e018a44a53fe3bdf..bd45a72bbdcb4ef1cebf4a3efc37b22f848826f2 100644 --- a/enstools/feature/identification/_proto_gen/african_easterly_waves_pb2.py +++ b/enstools/feature/identification/_proto_gen/african_easterly_waves_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tmpo5hidrpg +# source: tmpk72e7pki """Generated protocol buffer code.""" from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor @@ -13,10 +13,10 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpo5hidrpg\"(\n\x0cLatLonPoints\x12\x0b\n\x03lat\x18\x01 \x01(\x02\x12\x0b\n\x03lon\x18\x02 \x01(\x02\"E\n\x0b\x42oundingBox\x12\x1a\n\x03min\x18\x01 \x01(\x0b\x32\r.LatLonPoints\x12\x1a\n\x03max\x18\x02 \x01(\x0b\x32\r.LatLonPoints\"[\n\nProperties\x12\x1f\n\x08line_pts\x18\x01 \x03(\x0b\x32\r.LatLonPoints\x12\x18\n\x02\x62\x62\x18\x02 \x01(\x0b\x32\x0c.BoundingBox\x12\x12\n\nlength_deg\x18\x03 \x01(\x02\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xb4\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpk72e7pki\"(\n\x0cLatLonPoints\x12\x0b\n\x03lat\x18\x01 \x01(\x02\x12\x0b\n\x03lon\x18\x02 \x01(\x02\"E\n\x0b\x42oundingBox\x12\x1a\n\x03min\x18\x01 \x01(\x0b\x32\r.LatLonPoints\x12\x1a\n\x03max\x18\x02 \x01(\x0b\x32\r.LatLonPoints\"[\n\nProperties\x12\x1f\n\x08line_pts\x18\x01 \x03(\x0b\x32\r.LatLonPoints\x12\x18\n\x02\x62\x62\x18\x02 \x01(\x0b\x32\x0c.BoundingBox\x12\x12\n\nlength_deg\x18\x03 \x01(\x02\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xc2\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\x12\x0c\n\x04\x66lag\x18\x06 \x01(\x08\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpo5hidrpg_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpk72e7pki_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -45,11 +45,11 @@ if _descriptor._USE_C_DESCRIPTORS == False: _OBJECTGRAPH._serialized_start=728 _OBJECTGRAPH._serialized_end=774 _OBJECT._serialized_start=777 - _OBJECT._serialized_end=957 - _TIMESTEP._serialized_start=959 - _TIMESTEP._serialized_end=1015 - _TRACKABLESET._serialized_start=1018 - _TRACKABLESET._serialized_end=1171 - _DATASETDESCRIPTION._serialized_start=1173 - _DATASETDESCRIPTION._serialized_end=1268 + _OBJECT._serialized_end=971 + _TIMESTEP._serialized_start=973 + _TIMESTEP._serialized_end=1029 + _TRACKABLESET._serialized_start=1032 + _TRACKABLESET._serialized_end=1185 + _DATASETDESCRIPTION._serialized_start=1187 + _DATASETDESCRIPTION._serialized_end=1282 # @@protoc_insertion_point(module_scope) diff --git a/enstools/feature/identification/_proto_gen/overlap_example_pb2.py b/enstools/feature/identification/_proto_gen/overlap_example_pb2.py index b6eff5aa19b5c1b6beb24f0574035397783c12f3..1dc65f74ab9611a9ce441e7d59d5817baf325233 100644 --- a/enstools/feature/identification/_proto_gen/overlap_example_pb2.py +++ b/enstools/feature/identification/_proto_gen/overlap_example_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tmp1d24z_3j +# source: tmpsoxyup23 """Generated protocol buffer code.""" from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor @@ -13,10 +13,10 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmp1d24z_3j\"P\n\nProperties\x12\x19\n\x08\x63\x65ntroid\x18\x01 \x01(\x0b\x32\x07.Vector\x12\x0c\n\x04size\x18\x02 \x01(\x05\x12\x19\n\x11list_of_something\x18\x03 \x03(\t\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x02(\x02\x12\t\n\x01y\x18\x02 \x02(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xb4\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpsoxyup23\"P\n\nProperties\x12\x19\n\x08\x63\x65ntroid\x18\x01 \x01(\x0b\x32\x07.Vector\x12\x0c\n\x04size\x18\x02 \x01(\x05\x12\x19\n\x11list_of_something\x18\x03 \x03(\t\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x02(\x02\x12\t\n\x01y\x18\x02 \x02(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xc2\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\x12\x0c\n\x04\x66lag\x18\x06 \x01(\x08\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmp1d24z_3j_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpsoxyup23_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -43,11 +43,11 @@ if _descriptor._USE_C_DESCRIPTORS == False: _OBJECTGRAPH._serialized_start=647 _OBJECTGRAPH._serialized_end=693 _OBJECT._serialized_start=696 - _OBJECT._serialized_end=876 - _TIMESTEP._serialized_start=878 - _TIMESTEP._serialized_end=934 - _TRACKABLESET._serialized_start=937 - _TRACKABLESET._serialized_end=1090 - _DATASETDESCRIPTION._serialized_start=1092 - _DATASETDESCRIPTION._serialized_end=1187 + _OBJECT._serialized_end=890 + _TIMESTEP._serialized_start=892 + _TIMESTEP._serialized_end=948 + _TRACKABLESET._serialized_start=951 + _TRACKABLESET._serialized_end=1104 + _DATASETDESCRIPTION._serialized_start=1106 + _DATASETDESCRIPTION._serialized_end=1201 # @@protoc_insertion_point(module_scope) diff --git a/enstools/feature/identification/_proto_gen/pv_streamer_pb2.py b/enstools/feature/identification/_proto_gen/pv_streamer_pb2.py index 70777d52619003318ceaee3f9fb1cda9039c4143..a52dcb409d3a928bc20e49a0170919f05f5e9135 100644 --- a/enstools/feature/identification/_proto_gen/pv_streamer_pb2.py +++ b/enstools/feature/identification/_proto_gen/pv_streamer_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tmpn63nnypr +# source: tmpej52ncue """Generated protocol buffer code.""" from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor @@ -13,10 +13,10 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpn63nnypr\"4\n\tVectorGeo\x12\r\n\x05level\x18\x64 \x01(\x02\x12\x0b\n\x03lat\x18\x65 \x01(\x02\x12\x0b\n\x03lon\x18\x66 \x01(\x02\")\n\x06Vector\x12\t\n\x01z\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01x\x18\x03 \x01(\x02\"\xf6\x02\n\nProperties\x12\x1c\n\x08\x63\x65ntroid\x18\x01 \x01(\x0b\x32\n.VectorGeo\x12\x12\n\nvolume_km3\x18\x02 \x01(\x02\x12\x13\n\x0bvolume_km2K\x18\x03 \x01(\x02\x12\x10\n\x08\x61rea_km2\x18\x04 \x01(\x02\x12\x1c\n\x08min_bbox\x18\x05 \x01(\x0b\x32\n.VectorGeo\x12\x1c\n\x08max_bbox\x18\x06 \x01(\x0b\x32\n.VectorGeo\x12\x0e\n\x06max_pv\x18\x07 \x01(\x02\x12\x0e\n\x06\x61vg_pv\x18\x08 \x01(\x02\x12\x11\n\tis_cutoff\x18\t \x01(\x08\x12\x0e\n\x06length\x18\n \x01(\x02\x12\x14\n\x0clength_ratio\x18\x0b \x01(\x02\x12\x1b\n\nmajor_axis\x18\x0c \x01(\x0b\x32\x07.Vector\x12\x1c\n\x0bmedium_axis\x18\r \x01(\x0b\x32\x07.Vector\x12\x1b\n\nminor_axis\x18\x0e \x01(\x0b\x32\x07.Vector\x12\"\n\x1amajor_axis_orientation_deg\x18\x0f \x01(\x02\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xb4\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpej52ncue\"4\n\tVectorGeo\x12\r\n\x05level\x18\x64 \x01(\x02\x12\x0b\n\x03lat\x18\x65 \x01(\x02\x12\x0b\n\x03lon\x18\x66 \x01(\x02\")\n\x06Vector\x12\t\n\x01z\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01x\x18\x03 \x01(\x02\"\xf6\x02\n\nProperties\x12\x1c\n\x08\x63\x65ntroid\x18\x01 \x01(\x0b\x32\n.VectorGeo\x12\x12\n\nvolume_km3\x18\x02 \x01(\x02\x12\x13\n\x0bvolume_km2K\x18\x03 \x01(\x02\x12\x10\n\x08\x61rea_km2\x18\x04 \x01(\x02\x12\x1c\n\x08min_bbox\x18\x05 \x01(\x0b\x32\n.VectorGeo\x12\x1c\n\x08max_bbox\x18\x06 \x01(\x0b\x32\n.VectorGeo\x12\x0e\n\x06max_pv\x18\x07 \x01(\x02\x12\x0e\n\x06\x61vg_pv\x18\x08 \x01(\x02\x12\x11\n\tis_cutoff\x18\t \x01(\x08\x12\x0e\n\x06length\x18\n \x01(\x02\x12\x14\n\x0clength_ratio\x18\x0b \x01(\x02\x12\x1b\n\nmajor_axis\x18\x0c \x01(\x0b\x32\x07.Vector\x12\x1c\n\x0bmedium_axis\x18\r \x01(\x0b\x32\x07.Vector\x12\x1b\n\nminor_axis\x18\x0e \x01(\x0b\x32\x07.Vector\x12\"\n\x1amajor_axis_orientation_deg\x18\x0f \x01(\x02\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xc2\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\x12\x0c\n\x04\x66lag\x18\x06 \x01(\x08\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpn63nnypr_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpej52ncue_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -45,11 +45,11 @@ if _descriptor._USE_C_DESCRIPTORS == False: _OBJECTGRAPH._serialized_start=996 _OBJECTGRAPH._serialized_end=1042 _OBJECT._serialized_start=1045 - _OBJECT._serialized_end=1225 - _TIMESTEP._serialized_start=1227 - _TIMESTEP._serialized_end=1283 - _TRACKABLESET._serialized_start=1286 - _TRACKABLESET._serialized_end=1439 - _DATASETDESCRIPTION._serialized_start=1441 - _DATASETDESCRIPTION._serialized_end=1536 + _OBJECT._serialized_end=1239 + _TIMESTEP._serialized_start=1241 + _TIMESTEP._serialized_end=1297 + _TRACKABLESET._serialized_start=1300 + _TRACKABLESET._serialized_end=1453 + _DATASETDESCRIPTION._serialized_start=1455 + _DATASETDESCRIPTION._serialized_end=1550 # @@protoc_insertion_point(module_scope) diff --git a/enstools/feature/identification/_proto_gen/storm_pb2.py b/enstools/feature/identification/_proto_gen/storm_pb2.py index e8a244db659c12a27203cc927dcad8c6b5bd28b4..cd1cdde939e873066fa411059fc574a8d759f6b8 100644 --- a/enstools/feature/identification/_proto_gen/storm_pb2.py +++ b/enstools/feature/identification/_proto_gen/storm_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tmpz751s9fm +# source: tmptzdfrp83 """Generated protocol buffer code.""" from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor @@ -13,10 +13,10 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpz751s9fm\"\x1f\n\x03Pos\x12\x0b\n\x03lat\x18\x01 \x02(\x02\x12\x0b\n\x03lon\x18\x02 \x02(\x02\"B\n\nProperties\x12\x14\n\x0cmin_pressure\x18\x01 \x02(\x02\x12\x1e\n\x10min_pressure_pos\x18\x02 \x02(\x0b\x32\x04.Pos\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xb4\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmptzdfrp83\"\x1f\n\x03Pos\x12\x0b\n\x03lat\x18\x01 \x02(\x02\x12\x0b\n\x03lon\x18\x02 \x02(\x02\"B\n\nProperties\x12\x14\n\x0cmin_pressure\x18\x01 \x02(\x02\x12\x1e\n\x10min_pressure_pos\x18\x02 \x02(\x0b\x32\x04.Pos\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xc2\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\x12\x0c\n\x04\x66lag\x18\x06 \x01(\x08\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpz751s9fm_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmptzdfrp83_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -43,11 +43,11 @@ if _descriptor._USE_C_DESCRIPTORS == False: _OBJECTGRAPH._serialized_start=623 _OBJECTGRAPH._serialized_end=669 _OBJECT._serialized_start=672 - _OBJECT._serialized_end=852 - _TIMESTEP._serialized_start=854 - _TIMESTEP._serialized_end=910 - _TRACKABLESET._serialized_start=913 - _TRACKABLESET._serialized_end=1066 - _DATASETDESCRIPTION._serialized_start=1068 - _DATASETDESCRIPTION._serialized_end=1163 + _OBJECT._serialized_end=866 + _TIMESTEP._serialized_start=868 + _TIMESTEP._serialized_end=924 + _TRACKABLESET._serialized_start=927 + _TRACKABLESET._serialized_end=1080 + _DATASETDESCRIPTION._serialized_start=1082 + _DATASETDESCRIPTION._serialized_end=1177 # @@protoc_insertion_point(module_scope) diff --git a/enstools/feature/identification/_proto_gen/template_pb2.py b/enstools/feature/identification/_proto_gen/template_pb2.py index 35b2a6f5696e41da0f2d420013a3c007311f2e7f..86d1e7729b81b134c7ea89af353f4b410d891410 100644 --- a/enstools/feature/identification/_proto_gen/template_pb2.py +++ b/enstools/feature/identification/_proto_gen/template_pb2.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: tmpqxin01s0 +# source: tmpfirnhda7 """Generated protocol buffer code.""" from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor @@ -13,10 +13,10 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpqxin01s0\"P\n\nProperties\x12\x19\n\x08\x63\x65ntroid\x18\x01 \x01(\x0b\x32\x07.Vector\x12\x0c\n\x04size\x18\x02 \x01(\x05\x12\x19\n\x11list_of_something\x18\x03 \x03(\t\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x02(\x02\x12\t\n\x01y\x18\x02 \x02(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xb4\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpfirnhda7\"P\n\nProperties\x12\x19\n\x08\x63\x65ntroid\x18\x01 \x01(\x0b\x32\x07.Vector\x12\x0c\n\x04size\x18\x02 \x01(\x05\x12\x19\n\x11list_of_something\x18\x03 \x03(\t\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x02(\x02\x12\t\n\x01y\x18\x02 \x02(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xc2\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\x12\x0c\n\x04\x66lag\x18\x06 \x01(\x08\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpqxin01s0_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpfirnhda7_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -43,11 +43,11 @@ if _descriptor._USE_C_DESCRIPTORS == False: _OBJECTGRAPH._serialized_start=647 _OBJECTGRAPH._serialized_end=693 _OBJECT._serialized_start=696 - _OBJECT._serialized_end=876 - _TIMESTEP._serialized_start=878 - _TIMESTEP._serialized_end=934 - _TRACKABLESET._serialized_start=937 - _TRACKABLESET._serialized_end=1090 - _DATASETDESCRIPTION._serialized_start=1092 - _DATASETDESCRIPTION._serialized_end=1187 + _OBJECT._serialized_end=890 + _TIMESTEP._serialized_start=892 + _TIMESTEP._serialized_end=948 + _TRACKABLESET._serialized_start=951 + _TRACKABLESET._serialized_end=1104 + _DATASETDESCRIPTION._serialized_start=1106 + _DATASETDESCRIPTION._serialized_end=1201 # @@protoc_insertion_point(module_scope) diff --git a/enstools/feature/identification/_proto_gen/threshold_pb2.py b/enstools/feature/identification/_proto_gen/threshold_pb2.py index a3639bc8f713c39776a44aafe3805f67bd0b79ca..f3a9ec9b844eaec5dbf2bf174cf90c1e707eb371 100644 --- a/enstools/feature/identification/_proto_gen/threshold_pb2.py +++ b/enstools/feature/identification/_proto_gen/threshold_pb2.py @@ -1,10 +1,6 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -<<<<<<< HEAD -# source: tmpwdhwhb1j -======= -# source: tmpncjfrx7c ->>>>>>> origin/aew_kitweather +# source: tmp8j7ak3eo """Generated protocol buffer code.""" from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor @@ -17,832 +13,10 @@ _sym_db = _symbol_database.Default() -<<<<<<< HEAD -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmpwdhwhb1j\"6\n\tMaskArray\x12\r\n\x05shape\x18\x01 \x03(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x02(\x0c\x12\x0c\n\x04zlib\x18\x03 \x02(\x08\"u\n\nProperties\x12\x18\n\x04mask\x18\x01 \x02(\x0b\x32\n.MaskArray\x12\x17\n\x0fouter_threshold\x18\x02 \x02(\x02\x12\x17\n\x0finner_threshold\x18\x03 \x02(\x02\x12\x1b\n\x13\x63omparison_operator\x18\x04 \x02(\t\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xb4\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') -======= -DESCRIPTOR = _descriptor.FileDescriptor( - name='tmpncjfrx7c', - package='', - syntax='proto2', - serialized_options=None, - create_key=_descriptor._internal_create_key, - serialized_pb=b'\n\x0btmpncjfrx7c\"6\n\tMaskArray\x12\r\n\x05shape\x18\x01 \x03(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x02(\x0c\x12\x0c\n\x04zlib\x18\x03 \x02(\x08\"u\n\nProperties\x12\x18\n\x04mask\x18\x01 \x02(\x0b\x32\n.MaskArray\x12\x17\n\x0fouter_threshold\x18\x02 \x02(\x02\x12\x17\n\x0finner_threshold\x18\x03 \x02(\x02\x12\x1b\n\x13\x63omparison_operator\x18\x04 \x02(\t\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"I\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1a\n\x06\x63hilds\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xb4\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet' -) - - - - -_MASKARRAY = _descriptor.Descriptor( - name='MaskArray', - full_name='MaskArray', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='shape', full_name='MaskArray.shape', index=0, - number=1, type=5, cpp_type=1, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='data', full_name='MaskArray.data', index=1, - number=2, type=12, cpp_type=9, label=2, - has_default_value=False, default_value=b"", - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='zlib', full_name='MaskArray.zlib', index=2, - number=3, type=8, cpp_type=7, label=2, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=15, - serialized_end=69, -) - - -_PROPERTIES = _descriptor.Descriptor( - name='Properties', - full_name='Properties', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='mask', full_name='Properties.mask', index=0, - number=1, type=11, cpp_type=10, label=2, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='outer_threshold', full_name='Properties.outer_threshold', index=1, - number=2, type=2, cpp_type=6, label=2, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='inner_threshold', full_name='Properties.inner_threshold', index=2, - number=3, type=2, cpp_type=6, label=2, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='comparison_operator', full_name='Properties.comparison_operator', index=3, - number=4, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=71, - serialized_end=188, -) - - -_VOXELDATA = _descriptor.Descriptor( - name='VoxelData', - full_name='VoxelData', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='index', full_name='VoxelData.index', index=0, - number=1, type=13, cpp_type=3, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value', full_name='VoxelData.value', index=1, - number=2, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=190, - serialized_end=231, -) - - -_VERTEXDATA = _descriptor.Descriptor( - name='VertexData', - full_name='VertexData', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='position', full_name='VertexData.position', index=0, - number=1, type=2, cpp_type=6, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value', full_name='VertexData.value', index=1, - number=2, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=233, - serialized_end=278, -) - - -_FACEDATA = _descriptor.Descriptor( - name='FaceData', - full_name='FaceData', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='vertices', full_name='FaceData.vertices', index=0, - number=1, type=13, cpp_type=3, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='value', full_name='FaceData.value', index=1, - number=2, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=280, - serialized_end=323, -) - - -_VOXELREPRESENTATION = _descriptor.Descriptor( - name='VoxelRepresentation', - full_name='VoxelRepresentation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='desc', full_name='VoxelRepresentation.desc', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='voxel_data', full_name='VoxelRepresentation.voxel_data', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=325, - serialized_end=392, -) - - -_LINEREPRESENTATION = _descriptor.Descriptor( - name='LineRepresentation', - full_name='LineRepresentation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='desc', full_name='LineRepresentation.desc', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='vertex_data', full_name='LineRepresentation.vertex_data', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=394, - serialized_end=462, -) - - -_BOUNDARYREPRESENTATION = _descriptor.Descriptor( - name='BoundaryRepresentation', - full_name='BoundaryRepresentation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='desc', full_name='BoundaryRepresentation.desc', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='vertex_data', full_name='BoundaryRepresentation.vertex_data', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='face_data', full_name='BoundaryRepresentation.face_data', index=2, - number=3, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=464, - serialized_end=566, -) - - -_GRAPHNODE = _descriptor.Descriptor( - name='GraphNode', - full_name='GraphNode', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='time', full_name='GraphNode.time', index=0, - number=1, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='object', full_name='GraphNode.object', index=1, - number=2, type=11, cpp_type=10, label=2, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=568, - serialized_end=618, -) - - -_GRAPHCONNECTION = _descriptor.Descriptor( - name='GraphConnection', - full_name='GraphConnection', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='parent', full_name='GraphConnection.parent', index=0, - number=1, type=11, cpp_type=10, label=2, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='childs', full_name='GraphConnection.childs', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=620, - serialized_end=693, -) - - -_OBJECTGRAPH = _descriptor.Descriptor( - name='ObjectGraph', - full_name='ObjectGraph', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='edges', full_name='ObjectGraph.edges', index=0, - number=1, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=695, - serialized_end=741, -) - - -_OBJECT = _descriptor.Descriptor( - name='Object', - full_name='Object', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='id', full_name='Object.id', index=0, - number=1, type=5, cpp_type=1, label=2, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='line_rep', full_name='Object.line_rep', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='voxel_rep', full_name='Object.voxel_rep', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='boundary_rep', full_name='Object.boundary_rep', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='properties', full_name='Object.properties', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=744, - serialized_end=924, -) - - -_TIMESTEP = _descriptor.Descriptor( - name='Timestep', - full_name='Timestep', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='valid_time', full_name='Timestep.valid_time', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='objects', full_name='Timestep.objects', index=1, - number=2, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=926, - serialized_end=982, -) - - -_TRACKABLESET = _descriptor.Descriptor( - name='TrackableSet', - full_name='TrackableSet', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='init_time', full_name='TrackableSet.init_time', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='member', full_name='TrackableSet.member', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='level', full_name='TrackableSet.level', index=2, - number=3, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='timesteps', full_name='TrackableSet.timesteps', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='graph', full_name='TrackableSet.graph', index=4, - number=5, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='tracks', full_name='TrackableSet.tracks', index=5, - number=6, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=985, - serialized_end=1138, -) - - -_DATASETDESCRIPTION = _descriptor.Descriptor( - name='DatasetDescription', - full_name='DatasetDescription', - filename=None, - file=DESCRIPTOR, - containing_type=None, - create_key=_descriptor._internal_create_key, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='DatasetDescription.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='file', full_name='DatasetDescription.file', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='run_time', full_name='DatasetDescription.run_time', index=2, - number=3, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=b"".decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - _descriptor.FieldDescriptor( - name='sets', full_name='DatasetDescription.sets', index=3, - number=4, type=11, cpp_type=10, label=3, - has_default_value=False, default_value=[], - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1140, - serialized_end=1235, -) - -_PROPERTIES.fields_by_name['mask'].message_type = _MASKARRAY -_VOXELREPRESENTATION.fields_by_name['voxel_data'].message_type = _VOXELDATA -_LINEREPRESENTATION.fields_by_name['vertex_data'].message_type = _VERTEXDATA -_BOUNDARYREPRESENTATION.fields_by_name['vertex_data'].message_type = _VERTEXDATA -_BOUNDARYREPRESENTATION.fields_by_name['face_data'].message_type = _FACEDATA -_GRAPHNODE.fields_by_name['object'].message_type = _OBJECT -_GRAPHCONNECTION.fields_by_name['parent'].message_type = _GRAPHNODE -_GRAPHCONNECTION.fields_by_name['childs'].message_type = _GRAPHNODE -_OBJECTGRAPH.fields_by_name['edges'].message_type = _GRAPHCONNECTION -_OBJECT.fields_by_name['line_rep'].message_type = _LINEREPRESENTATION -_OBJECT.fields_by_name['voxel_rep'].message_type = _VOXELREPRESENTATION -_OBJECT.fields_by_name['boundary_rep'].message_type = _BOUNDARYREPRESENTATION -_OBJECT.fields_by_name['properties'].message_type = _PROPERTIES -_TIMESTEP.fields_by_name['objects'].message_type = _OBJECT -_TRACKABLESET.fields_by_name['timesteps'].message_type = _TIMESTEP -_TRACKABLESET.fields_by_name['graph'].message_type = _OBJECTGRAPH -_TRACKABLESET.fields_by_name['tracks'].message_type = _OBJECTGRAPH -_DATASETDESCRIPTION.fields_by_name['sets'].message_type = _TRACKABLESET -DESCRIPTOR.message_types_by_name['MaskArray'] = _MASKARRAY -DESCRIPTOR.message_types_by_name['Properties'] = _PROPERTIES -DESCRIPTOR.message_types_by_name['VoxelData'] = _VOXELDATA -DESCRIPTOR.message_types_by_name['VertexData'] = _VERTEXDATA -DESCRIPTOR.message_types_by_name['FaceData'] = _FACEDATA -DESCRIPTOR.message_types_by_name['VoxelRepresentation'] = _VOXELREPRESENTATION -DESCRIPTOR.message_types_by_name['LineRepresentation'] = _LINEREPRESENTATION -DESCRIPTOR.message_types_by_name['BoundaryRepresentation'] = _BOUNDARYREPRESENTATION -DESCRIPTOR.message_types_by_name['GraphNode'] = _GRAPHNODE -DESCRIPTOR.message_types_by_name['GraphConnection'] = _GRAPHCONNECTION -DESCRIPTOR.message_types_by_name['ObjectGraph'] = _OBJECTGRAPH -DESCRIPTOR.message_types_by_name['Object'] = _OBJECT -DESCRIPTOR.message_types_by_name['Timestep'] = _TIMESTEP -DESCRIPTOR.message_types_by_name['TrackableSet'] = _TRACKABLESET -DESCRIPTOR.message_types_by_name['DatasetDescription'] = _DATASETDESCRIPTION -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -MaskArray = _reflection.GeneratedProtocolMessageType('MaskArray', (_message.Message,), { - 'DESCRIPTOR' : _MASKARRAY, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:MaskArray) - }) -_sym_db.RegisterMessage(MaskArray) - -Properties = _reflection.GeneratedProtocolMessageType('Properties', (_message.Message,), { - 'DESCRIPTOR' : _PROPERTIES, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:Properties) - }) -_sym_db.RegisterMessage(Properties) - -VoxelData = _reflection.GeneratedProtocolMessageType('VoxelData', (_message.Message,), { - 'DESCRIPTOR' : _VOXELDATA, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:VoxelData) - }) -_sym_db.RegisterMessage(VoxelData) - -VertexData = _reflection.GeneratedProtocolMessageType('VertexData', (_message.Message,), { - 'DESCRIPTOR' : _VERTEXDATA, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:VertexData) - }) -_sym_db.RegisterMessage(VertexData) - -FaceData = _reflection.GeneratedProtocolMessageType('FaceData', (_message.Message,), { - 'DESCRIPTOR' : _FACEDATA, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:FaceData) - }) -_sym_db.RegisterMessage(FaceData) - -VoxelRepresentation = _reflection.GeneratedProtocolMessageType('VoxelRepresentation', (_message.Message,), { - 'DESCRIPTOR' : _VOXELREPRESENTATION, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:VoxelRepresentation) - }) -_sym_db.RegisterMessage(VoxelRepresentation) - -LineRepresentation = _reflection.GeneratedProtocolMessageType('LineRepresentation', (_message.Message,), { - 'DESCRIPTOR' : _LINEREPRESENTATION, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:LineRepresentation) - }) -_sym_db.RegisterMessage(LineRepresentation) - -BoundaryRepresentation = _reflection.GeneratedProtocolMessageType('BoundaryRepresentation', (_message.Message,), { - 'DESCRIPTOR' : _BOUNDARYREPRESENTATION, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:BoundaryRepresentation) - }) -_sym_db.RegisterMessage(BoundaryRepresentation) - -GraphNode = _reflection.GeneratedProtocolMessageType('GraphNode', (_message.Message,), { - 'DESCRIPTOR' : _GRAPHNODE, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:GraphNode) - }) -_sym_db.RegisterMessage(GraphNode) - -GraphConnection = _reflection.GeneratedProtocolMessageType('GraphConnection', (_message.Message,), { - 'DESCRIPTOR' : _GRAPHCONNECTION, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:GraphConnection) - }) -_sym_db.RegisterMessage(GraphConnection) - -ObjectGraph = _reflection.GeneratedProtocolMessageType('ObjectGraph', (_message.Message,), { - 'DESCRIPTOR' : _OBJECTGRAPH, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:ObjectGraph) - }) -_sym_db.RegisterMessage(ObjectGraph) - -Object = _reflection.GeneratedProtocolMessageType('Object', (_message.Message,), { - 'DESCRIPTOR' : _OBJECT, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:Object) - }) -_sym_db.RegisterMessage(Object) - -Timestep = _reflection.GeneratedProtocolMessageType('Timestep', (_message.Message,), { - 'DESCRIPTOR' : _TIMESTEP, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:Timestep) - }) -_sym_db.RegisterMessage(Timestep) - -TrackableSet = _reflection.GeneratedProtocolMessageType('TrackableSet', (_message.Message,), { - 'DESCRIPTOR' : _TRACKABLESET, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:TrackableSet) - }) -_sym_db.RegisterMessage(TrackableSet) - -DatasetDescription = _reflection.GeneratedProtocolMessageType('DatasetDescription', (_message.Message,), { - 'DESCRIPTOR' : _DATASETDESCRIPTION, - '__module__' : 'tmpncjfrx7c_pb2' - # @@protoc_insertion_point(class_scope:DatasetDescription) - }) -_sym_db.RegisterMessage(DatasetDescription) ->>>>>>> origin/aew_kitweather +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0btmp8j7ak3eo\"6\n\tMaskArray\x12\r\n\x05shape\x18\x01 \x03(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x02(\x0c\x12\x0c\n\x04zlib\x18\x03 \x02(\x08\"u\n\nProperties\x12\x18\n\x04mask\x18\x01 \x02(\x0b\x32\n.MaskArray\x12\x17\n\x0fouter_threshold\x18\x02 \x02(\x02\x12\x17\n\x0finner_threshold\x18\x03 \x02(\x02\x12\x1b\n\x13\x63omparison_operator\x18\x04 \x02(\t\")\n\tVoxelData\x12\r\n\x05index\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"-\n\nVertexData\x12\x10\n\x08position\x18\x01 \x03(\x02\x12\r\n\x05value\x18\x02 \x01(\x02\"+\n\x08\x46\x61\x63\x65\x44\x61ta\x12\x10\n\x08vertices\x18\x01 \x03(\r\x12\r\n\x05value\x18\x02 \x01(\x02\"C\n\x13VoxelRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12\x1e\n\nvoxel_data\x18\x02 \x03(\x0b\x32\n.VoxelData\"D\n\x12LineRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\"f\n\x16\x42oundaryRepresentation\x12\x0c\n\x04\x64\x65sc\x18\x01 \x01(\t\x12 \n\x0bvertex_data\x18\x02 \x03(\x0b\x32\x0b.VertexData\x12\x1c\n\tface_data\x18\x03 \x03(\x0b\x32\t.FaceData\"2\n\tGraphNode\x12\x0c\n\x04time\x18\x01 \x02(\t\x12\x17\n\x06object\x18\x02 \x02(\x0b\x32\x07.Object\"K\n\x0fGraphConnection\x12\x1a\n\x06parent\x18\x01 \x02(\x0b\x32\n.GraphNode\x12\x1c\n\x08\x63hildren\x18\x02 \x03(\x0b\x32\n.GraphNode\".\n\x0bObjectGraph\x12\x1f\n\x05\x65\x64ges\x18\x01 \x03(\x0b\x32\x10.GraphConnection\"\xc2\x01\n\x06Object\x12\n\n\x02id\x18\x01 \x02(\x05\x12%\n\x08line_rep\x18\x02 \x03(\x0b\x32\x13.LineRepresentation\x12\'\n\tvoxel_rep\x18\x03 \x01(\x0b\x32\x14.VoxelRepresentation\x12-\n\x0c\x62oundary_rep\x18\x04 \x03(\x0b\x32\x17.BoundaryRepresentation\x12\x1f\n\nproperties\x18\x05 \x01(\x0b\x32\x0b.Properties\x12\x0c\n\x04\x66lag\x18\x06 \x01(\x08\"8\n\x08Timestep\x12\x12\n\nvalid_time\x18\x01 \x01(\t\x12\x18\n\x07objects\x18\x02 \x03(\x0b\x32\x07.Object\"\x99\x01\n\x0cTrackableSet\x12\x11\n\tinit_time\x18\x01 \x01(\t\x12\x0e\n\x06member\x18\x02 \x01(\r\x12\r\n\x05level\x18\x03 \x01(\x02\x12\x1c\n\ttimesteps\x18\x04 \x03(\x0b\x32\t.Timestep\x12\x1b\n\x05graph\x18\x05 \x01(\x0b\x32\x0c.ObjectGraph\x12\x1c\n\x06tracks\x18\x06 \x03(\x0b\x32\x0c.ObjectGraph\"_\n\x12\x44\x61tasetDescription\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04\x66ile\x18\x02 \x01(\t\x12\x10\n\x08run_time\x18\x03 \x02(\t\x12\x1b\n\x04sets\x18\x04 \x03(\x0b\x32\r.TrackableSet') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmpwdhwhb1j_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tmp8j7ak3eo_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None @@ -869,11 +43,11 @@ if _descriptor._USE_C_DESCRIPTORS == False: _OBJECTGRAPH._serialized_start=697 _OBJECTGRAPH._serialized_end=743 _OBJECT._serialized_start=746 - _OBJECT._serialized_end=926 - _TIMESTEP._serialized_start=928 - _TIMESTEP._serialized_end=984 - _TRACKABLESET._serialized_start=987 - _TRACKABLESET._serialized_end=1140 - _DATASETDESCRIPTION._serialized_start=1142 - _DATASETDESCRIPTION._serialized_end=1237 + _OBJECT._serialized_end=940 + _TIMESTEP._serialized_start=942 + _TIMESTEP._serialized_end=998 + _TRACKABLESET._serialized_start=1001 + _TRACKABLESET._serialized_end=1154 + _DATASETDESCRIPTION._serialized_start=1156 + _DATASETDESCRIPTION._serialized_end=1251 # @@protoc_insertion_point(module_scope) diff --git a/enstools/feature/identification/aew_vortices/__init__.py b/enstools/feature/identification/aew_vortices/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..10c699833c7791ad82260b5e80efc47be7e8d88b --- /dev/null +++ b/enstools/feature/identification/aew_vortices/__init__.py @@ -0,0 +1 @@ +from .identification import AEWVortexIdentification \ No newline at end of file diff --git a/enstools/feature/identification/aew_vortices/configuration.py b/enstools/feature/identification/aew_vortices/configuration.py new file mode 100644 index 0000000000000000000000000000000000000000..9d9e2436f7090c94f0e310a606e8382fef44f913 --- /dev/null +++ b/enstools/feature/identification/aew_vortices/configuration.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +from os.path import expanduser, join +from datetime import timedelta +import numpy as np + +# data area +# latN = 35 +# latS = -35 +# lonW = -100 +# lonE = 45 + +in_data = "/home/ws/he7273/phd_all/data/coll_oper/jjaso2021.nc" +in_wts = "/home/ws/he7273/phd_all/data/coll_oper/jjaso2021.json" + +# plot_dir = '/home/ws/he7273/phd_all/data/coll_oper/' # '/project/meteo/w2w/C3/fischer/belanger/plots/' # join('/home/ws/he7273/phd_all/data/aew/plots/') # '/project/meteo/w2w/C3/fischer/belanger/plots/' + +levels = [700, 850] # 700 hPa +u_dim = 'u' +v_dim = 'v' + +# time of interest, if None all +# june-oct is AEW season + +start_date = '2021-09-01T00:00' # '2022-08-01T00:00' # None # '2008-08-01T00:00' # # '2008-08-01T00:00' +end_date = '2021-09-05T00:00' # '2022-08-15T00:00' # None # '2008-08-15T00:00' # None # '2008-08-03T00:00' + diff --git a/enstools/feature/identification/aew_vortices/identification.py b/enstools/feature/identification/aew_vortices/identification.py new file mode 100644 index 0000000000000000000000000000000000000000..d5ceee27e764fb332fb66be9b48f9aaa9424a599 --- /dev/null +++ b/enstools/feature/identification/aew_vortices/identification.py @@ -0,0 +1,182 @@ +from enstools.feature.identification import IdentificationStrategy +import xarray as xr +import numpy as np +import os, sys +from .util import compute_field, interpolate_wavetroughs, create_wt_troughs_and_areas + +import json +from types import SimpleNamespace +from matplotlib import pyplot as plt +from enstools.feature.identification._proto_gen import african_easterly_waves_pb2 +import cartopy.crs as ccrs + +from scipy.signal import find_peaks +from scipy.ndimage import maximum_filter, generate_binary_structure +from skimage.draw import line_aa +from enstools.feature.util.enstools_utils import get_u_var, get_v_var, get_vertical_dim, get_longitude_dim, get_latitude_dim, get_init_time_dim, get_valid_time_dim +import threading +from skimage.draw import line + + +class AEWVortexIdentification(IdentificationStrategy): + + def __init__(self, field='cv', bpf=False, **kwargs): + """ + Initialize + + """ + + import enstools.feature.identification.aew_vortices.configuration as cfg + self.config = cfg # config + self.field = field + self.bpf = bpf + + json_path = cfg.in_wts + with open(json_path) as f: + wt_data = json.load(f, object_hook=lambda x: SimpleNamespace(**x)) + + self.json_desc = wt_data + + pass + + def precompute(self, dataset: xr.Dataset, **kwargs): + print("Precompute for AEW identification...") + + plt.switch_backend('agg') # this is thread safe matplotlib but cant display. + + # --------------- CLIMATOLOGY + + u_name = self.config.u_dim if hasattr(self.config, 'u_dim') and (self.config.u_dim is not None) else get_u_var(dataset) + v_name = self.config.v_dim if hasattr(self.config, 'v_dim') and (self.config.v_dim is not None) else get_v_var(dataset) + + if u_name is None or v_name is None: + print("Could not locate u and v fields in dataset. Needed to compute advection terms.") + exit() + + level_str = get_vertical_dim(dataset) + lat_str = get_latitude_dim(dataset) + lon_str = get_longitude_dim(dataset) + init_time_str = get_init_time_dim(dataset) + valid_time_str = get_valid_time_dim(dataset) + + # --------------- SUBSET DATA ACCORDING TO CFG + start_date_dt = np.datetime64(self.config.start_date) if self.config.start_date is not None else None + end_date_dt = np.datetime64(self.config.end_date) if self.config.end_date is not None else None + + # if data is lon=0..360, change it to -180..180 + dataset.coords[lon_str] = (dataset.coords[lon_str] + 180) % 360 - 180 + dataset = dataset.sortby(dataset[lon_str]) + + sel_levels = self.config.levels + filter_time_str = init_time_str if init_time_str is not None else valid_time_str + + # subset lon,lat,lev,time + dataset = dataset.sel( + # **{lat_str: slice(lat_range[0], lat_range[1])}, + # **{lon_str: slice(lon_range[0], lon_range[1])}, + **{level_str: sel_levels}, + **{filter_time_str: slice(start_date_dt, end_date_dt)}) + + # get the data we want to investigate + dataset = dataset.sortby(lat_str) # in case of descending + + if len(dataset.time.values) == 0: + print("Given start and end time leads to no data to process.") + exit(1) + + # --------------- DO NUMPY PARALLELIZED STUFF: CREATE TROUGH MASKS + + # BPF (optional) TODO + if self.bpf: + dataset = aew_bpf(dataset) + + self.json_desc = interpolate_wavetroughs(self.json_desc, african_easterly_waves_pb2, self.pb_dataset) + + # create field to use + dataset = compute_field(dataset, u_name, v_name, self.field) + dataset = dataset.transpose(..., lat_str, lon_str) + + data_field = dataset[self.field] + dataset['vortices'] = xr.zeros_like(dataset[self.field], dtype=int) + + # search local max. + # TODO make sure lat and lon are in back + neighborhood = generate_binary_structure(2, 2) + # TODO depending on num dimensions. here 4d, with latlon back. + neighborhood = np.pad([[neighborhood]], ((1,1),(1,1),(0,0),(0,0))) + max_mask = maximum_filter(data_field.values, footprint=neighborhood) == data_field.values + + # find peaks can give better results + # max_lat = find_peaks(data_field.values, np.greater, axis=-2) # if more sophisiticated: + # max_lon = find_peaks(data_field.values, np.greater, axis=-1) # scipy.signal.find_peaks + print(max_mask.shape) + dataset['vortices'].data = max_mask + + # TODO filter: + # prob > 66% clim + # cluster? only rep? + + dataset = create_wt_troughs_and_areas(dataset, self.json_desc, False) + + dataset.to_netcdf("/home/ws/he7273/phd_all/data/coll_oper/jjaso2021_test.nc") + exit() + # filter vortices somehow, before? prob need after + # add them to WT descs. + + # filter max points by WT mask + # interpolate_wave_areas() # for gaps in tracks. -> also add json info? maybe create WT area ourself. + # for each child in track node: if dt > 6h: add inbetween "fake" wt to json + # put lows in. + # maybe depending on whether they form a track? + + + + + + maxima.keep_where(wt_area) # WT Area range see Fink/Reiner? + + # add vortices to tracks? + + + + #if self.config.cv_name not in dataset.data_vars: + # print("Curvature Vorticity not found, trying to compute it out of U and V...") + # dataset = compute_cv(dataset, u_name, v_name, self.config.cv_name) + + # make dataset to 2.5 (or same as cv_clim) + # dataset = dataset.interp({lat_str: cv_clim.coords[lat_str], lon_str: cv_clim.coords[lon_str]}) + + # make sure that lat and lon are last two dimensions + # dataset = dataset.transpose(..., lat_str, lon_str) + + + # dataset['wavetroughs'] = wt + + return dataset + + def identify(self, data_chunk: xr.Dataset, **kwargs): + + objs = [] + + id_ = 1 + for path in []: + + # get new object, set id + # o = self.get_new_object() + # o.id = id_ + # populate it + # populate_object(o.properties, path, self.config) + + # add to objects if keep + # if not self.keep_wavetrough(o.properties): + # continue + + # objs.append(o) + # id_ += 1 + break + + return data_chunk, objs + + def postprocess(self, dataset: xr.Dataset, data_desc, **kwargs): + return dataset, data_desc + diff --git a/enstools/feature/identification/aew_vortices/run_identify.py b/enstools/feature/identification/aew_vortices/run_identify.py new file mode 100644 index 0000000000000000000000000000000000000000..9f546537634e37280da4b260bf3d52546d751f90 --- /dev/null +++ b/enstools/feature/identification/aew_vortices/run_identify.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python + +# Usage Example +from enstools.feature.pipeline import FeaturePipeline +from enstools.feature.identification.aew_vortices import AEWVortexIdentification +from datetime import timedelta, datetime +from enstools.feature.identification._proto_gen import african_easterly_waves_pb2 +from os.path import expanduser, join +from enstools.feature.util.graph import DataGraph +import enstools.feature.identification.aew_vortices.configuration as cfg +import os, sys, glob, shutil +from enstools.feature.util.data_utils import get_subset_by_description +import xarray as xr +xr.set_options(keep_attrs=True) +import numpy as np +from pprint import pprint + +pipeline = FeaturePipeline(african_easterly_waves_pb2, processing_mode='2d') + +# in_files_all_cv_data = cfg.cv_data_ex + +in_file = cfg.in_data +in_desc = cfg.in_wts +pipeline.set_data_path(in_file) + +# init AEWIdentification strategy, can take different parameters +i_strat = AEWVortexIdentification(field='cv', bpf=False) +# t_strat = SomeTracking() + +pipeline.set_identification_strategy(i_strat) +# pipeline.set_tracking_strategy(t_strat) + +# execute pipeline +pipeline.execute() + +od = pipeline.get_object_desc() + +all_tracks = [] +for set_id, trackable_set in enumerate(od.sets): + + # generate graph out of tracked data + g = DataGraph(trackable_set, t_strat) + + # generate single tracks from tracked data + # returns list of tracks, also gets added to object description. Also if apply_filter, keep_track can be implemented + g.generate_tracks(apply_filter=True) # add tracks to OD, applies filtering TODO tracks not in desc. + tracks = g.set_desc.tracks + + # parents of a node: track.get_parents(track.graph.edges[0].parent) + # children of a node: track.get_children(track.graph.edges[0].parent) + + # plot tracks + + for track_id, track in enumerate(tracks): + plot_track(track, "track" + "{:03d}".format(set_id) + "_" + "{:03d}".format(track_id)) + + ds = pipeline.get_data() + ds_set = get_subset_by_description(ds, trackable_set, '2d') + # plot differences (passed filtering / did not pass) + # plot_differences(g, tracks) TODO need to fix if we want this + + # for track_id, track in enumerate(tracks): + # plot_track(track, "track" + str(track_id)) + + all_tracks.extend(tracks) +# ds_set = get_subset_by_description(ds, trackable_set, '2d') + +ds = pipeline.get_data() + +# plot kitweather mode +# if len(sys.argv) > 1 and sys.argv[1] == '-kw': +# plot_kw(all_tracks, ds=ds, tp=rain_ds.tp, plot_prefix=(plot_dir + run + '/' + plot_file_prefix), ens_mode=ens_mode) # TODO need g? + + + +# no out dataset here. +pipeline.save_result(description_type='json', description_path=cfg.out_json_path) #, dataset_path=out_dataset_path) # dataset_path=out_dataset_path, diff --git a/enstools/feature/identification/aew_vortices/util.py b/enstools/feature/identification/aew_vortices/util.py new file mode 100644 index 0000000000000000000000000000000000000000..7e8dbd820b5fe5dcf86bc7416851ac8317bbac2a --- /dev/null +++ b/enstools/feature/identification/aew_vortices/util.py @@ -0,0 +1,369 @@ + +import numpy as np +import xarray as xr +import math, json +from enstools.feature.util.enstools_utils import get_u_var, get_v_var, get_vertical_dim, get_longitude_dim, \ + get_latitude_dim +from skimage.draw import line +from enstools.feature.util.data_utils import clip, pb_str_to_datetime64, datetime64_to_pb_str, get_json, pb_str_to_datetime +from types import SimpleNamespace +from google.protobuf import json_format + +# calculates the dx's and dy's for each grid cell +# takes list of latitudes and longitudes as input and returns field with dimensions len(lats) x len(lons) +def calculate_dx_dy(lats, lons): + lat_res = lats[1] - lats[0] + lon_res = lons[1] - lons[0] + nlat = len(lats) + nlon = len(lons) + lon_percent = (lon_res * nlon) / 360.0 # percentage of global longitudes. e.g. if 110W to 70E -> 0.5 + lat_percent = (lat_res * nlat) / 180.0 # percentage of global latitudes + Re = 6378100 + + # field filled with the latitude value at each grid point + lat_f = np.tile(lats, (nlon, 1)).transpose() + # field filled with the longitude value at each grid point + lon_f = np.tile(lons, (nlat, 1)) + # dx: circumference at current latitude * percentage of longitudes in dataset / amount of lon grid points + dx = np.cos(lat_f * math.pi / 180.0) * 2.0 * math.pi * Re * lon_percent / nlon + # dy: constant everywhere: half circumference * latitude percentage / amount of lat points + dy = (lat_f * 0) + lat_percent * math.pi * Re / nlat + + return dx, dy + + +def compute_vort(dataset, vtype, u_str, v_str, field_str): + xr.set_options(keep_attrs=True) # assign coords keeps attributes + + lon_str = get_longitude_dim(dataset) + lat_str = get_latitude_dim(dataset) + + lats = dataset.coords[lat_str].data + lons = dataset.coords[lon_str].data + + # be careful if your data is non-continuous by the chosen window (e.g. +120E..-120W) + # reorder axis for efficient numpy broadcasting + dataset = dataset.sortby(lat_str) + dataset = dataset.transpose(..., lat_str, lon_str) + + dataset[field_str] = xr.zeros_like(dataset[u_str], dtype=float) + + # calculate dx and dy for each cell in grid in meters + dx, dy = calculate_dx_dy(lats, lons) + + # Relative Vorticity = dv/dx - du/dy, use central differences + u_arr = dataset[u_str].data + v_arr = dataset[v_str].data + ndims = u_arr.ndim + + # roll axes so we have a reference to each cell's neighbours + # ax[-1] = lon, ax[-2] = lat + # works as expected if longitude band is full 360 degrees. Rolling does exactly that. + v_xp = np.roll(v_arr, -1, axis=ndims - 1) # roll -1 to get +1. v_xp = v(x+1) + v_xm = np.roll(v_arr, 1, axis=ndims - 1) + v_yp = np.roll(v_arr, -1, axis=ndims - 2) + v_ym = np.roll(v_arr, 1, axis=ndims - 2) + + u_xp = np.roll(u_arr, -1, axis=ndims - 1) # roll -1 to get +1 + u_xm = np.roll(u_arr, 1, axis=ndims - 1) + u_yp = np.roll(u_arr, -1, axis=ndims - 2) + u_ym = np.roll(u_arr, 1, axis=ndims - 2) + + # central differences: (V(x+1)-V(x-1)) / 2x - (U(y+1)-U(y-1)) / 2y + RV = ((v_xp - v_xm) / (2 * dx)) - ((u_yp - u_ym) / (2 * dy)) + # results verified to ERA5 vo-data + if vtype == 'relative': + dataset[field_str].values = RV + dataset[field_str].attrs = {'long_name': "Relative Vorticity", 'units': "s**-1"} + return dataset + + + # split into shear + curvature: RV = -dV/dn + V/R + # shear vorticity: + # rate of change of wind speed in the direction of flow + # -dV/dn + + # wind direction of this cell + ref_angle = np.arctan2(v_arr, u_arr) + + ### METHOD 1 ### from analytical standpoint + + sin_angle = np.sin(ref_angle) + cos_angle = np.cos(ref_angle) + # here is where the magic happens... + # to cartesian: dV/dn = - dV/dx * sin(phi) + dV/dy * cos(phi) ## n is normal to V, split it into x,y respecting the + # n-direction, where phi is the rotation angle of the natural coordinate system, this also is the angle of the + # wind vector + # + # we get the magnitude of shear as the projection of dV/dn onto the vector itself (direction e_t) + # with e_t = cos(phi)*e_x + sin(phi)*e_y , so: + # dV/dn * e_t = du/dx * (-sin*cos) + du/dy cos^2 + dv/dx *(-sin^2) + dv/dy (cos*sin) + SV = (u_xp - u_xm) / (2 * dx) * (-sin_angle * cos_angle) + \ + (u_yp - u_ym) / (2 * dy) * (cos_angle ** 2) + \ + (v_xp - v_xm) / (2 * dx) * (-(sin_angle ** 2)) + \ + (v_yp - v_ym) / (2 * dy) * (sin_angle * cos_angle) + SV = -SV # -dV/dn + if vtype == 'shear': + dataset[field_str].values = SV + dataset[field_str].attrs = {'long_name': "Shear Vorticity", 'units': "s**-1"} + return dataset + + # remainder is CV + CV = RV - SV + if vtype == 'curvature': + dataset[field_str].values = CV + dataset[field_str].attrs = {'long_name': "Curvature Vorticity", 'units': "s**-1"} + return dataset + return None + + +def compute_field(dataset, u_str, v_str, field_name): + + if field_name in ['cv', 'cva', 'stormrel_cv', 'stormrel_cva']: + dataset = compute_vort(dataset, 'curvature', u_str, v_str, 'cv') + elif field_name in ['rv', 'rva']: + dataset = compute_vort(dataset, 'relative', u_str, v_str, 'rv') + else: + print("NYI") + exit(1) + + if field_name in ['rva', 'cva', 'stormrel_cv', 'stormrel_cva']: + print("NYI") + exit(1) + + return dataset + + +def create_fake_wt_edges(edge, child_idx, pb_ref, pb_desc): + # make multiple edges out of this one + + parent_node = edge.parent + parent_node_pb = json_format.Parse(json.dumps(get_json(parent_node)), pb_ref.GraphNode(), ignore_unknown_fields=False) + child_node = edge.children[child_idx] + child_node_pb = json_format.Parse(json.dumps(get_json(child_node)), pb_ref.GraphNode(), ignore_unknown_fields=False) + + parent_node_time = pb_str_to_datetime64(parent_node.time) + child_node_time = pb_str_to_datetime64(child_node.time) + + delt = child_node_time - parent_node_time + print(delt) + if delt != np.timedelta64(12, 'h'): + print("NO 12h abort") + print(delt) + else: + print("12h") + + fake_node_time = parent_node_time + 0.5 * delt # TODO assert only skip 1 + parent_json = get_json(parent_node) + + # create fake node as copy of parent + fake_node = pb_ref.GraphNode() # json_format.Parse(json.dumps(parent_json), pb_ref.GraphNode(), ignore_unknown_fields=False) + fake_node.time = datetime64_to_pb_str(fake_node_time) + + # id and flag False + fake_node.object.id = -1 + fake_node.object.flag = False + + # set properties: bb as mean of parent and child + parent_props = fake_node.object.properties + child_props = fake_node.object.properties + fake_props = fake_node.object.properties + + fake_props.bb.min.lat = (parent_props.bb.min.lat + child_props.bb.min.lat) / 2.0 + fake_props.bb.max.lat = (parent_props.bb.max.lat + child_props.bb.max.lat) / 2.0 + fake_props.bb.min.lon = (parent_props.bb.min.lon + child_props.bb.min.lon) / 2.0 + fake_props.bb.max.lon = (parent_props.bb.max.lon + child_props.bb.max.lon) / 2.0 + + avg_lon = (fake_props.bb.min.lon + fake_props.bb.max.lon) / 2.0 + fake_props.line_pts.add() + fake_props.line_pts[0].lat = fake_props.bb.min.lat + fake_props.line_pts[0].lon = avg_lon + fake_props.line_pts.add() + fake_props.line_pts[1].lat = fake_props.bb.max.lat + fake_props.line_pts[1].lon = avg_lon + + # new edge: + edge1 = pb_ref.GraphConnection() + edge1.parent.CopyFrom(parent_node_pb) + edge1.children.append(fake_node) + + edge2 = pb_ref.GraphConnection() + edge2.parent.CopyFrom(fake_node) + edge2.children.append(child_node_pb) + + return [edge1, edge2] + +def interpolate_wavetroughs(json_desc, pb_ref, pb_desc): + + for set_ in json_desc.sets: + + for track in set_.tracks: + # old_edges = [] + new_edges = [] + + for edge in track.edges: + parent_node = edge.parent + parent_node_time = pb_str_to_datetime64(parent_node.time) + if not hasattr(edge, 'children'): + continue + + for child_idx, child_node in enumerate(edge.children): + child_node_time = pb_str_to_datetime64(child_node.time) + + if child_node_time - parent_node_time > np.timedelta64(6, 'h'): + print("skipper") + wt_edges = create_fake_wt_edges(edge, child_idx, pb_ref, pb_desc) + # old_edges.append((edge, child_idx)) + new_edges.extend(wt_edges) + else: + print("non skipper") + + # TODO dont remove edges for now, quite complicated with splits. lets have transitives instead + # remove old_edges from this track and from graph + + track.edges.extend(new_edges) + set_.graph.edges.extend(new_edges) + # print("EOT") + # not to TS! + + return json_desc + + +def create_wt_troughs_and_areas(dataset, in_json, use_fc): + print("Create WT lines...") + + if use_fc: + # TODO + print("NO FC") + exit(1) + # dataset['wt_fc'] = xr.zeros_like(dataset.u700_fc, dtype=int) + else: + dataset['wt_rea'] = xr.zeros_like(dataset.u.isel(level=0).squeeze(), dtype=int) + + # for ts in ana_set.timesteps: + + min_lat = dataset.latitude.data.min() + max_lat = dataset.latitude.data.max() + min_lon = dataset.longitude.data.min() + max_lon = dataset.longitude.data.max() + lons = len(dataset.longitude.data) + lats = len(dataset.latitude.data) + + for wt_set in in_json.sets: + + cur_set = wt_set + + if use_fc: + initTime = wt_set.initTime + set_ds = dataset.sel(time=initTime) # init time + else: + set_ds = dataset + + for track in cur_set.tracks: + track_nodes = [e.parent for e in track.edges] + + for node in track_nodes: + + vt = node.validTime + """ + try: + if use_fc: + diff_time = pb_str_to_datetime(vt) - pb_str_to_datetime(initTime) + wt_da = set_ds.wt_fc.sel(step=diff_time) + else: + """ + wt_da = set_ds.wt_rea.sel(time=vt) + #except KeyError: + #continue + + props = node.properties + + for v_idx in range(len(props.linePts) - 1): + start_lonlat = props.linePts[v_idx].lon, props.linePts[v_idx].lat + end_lonlat = props.linePts[v_idx + 1].lon, props.linePts[v_idx + 1].lat + + start_idx = ((start_lonlat[0] - min_lon) / (max_lon - min_lon) * lons, + (start_lonlat[1] - min_lat) / (max_lat - min_lat) * lats) + # start_idx = clip(start_idx, (0, 0), (lons, lats)) + + end_idx = ((end_lonlat[0] - min_lon) / (max_lon - min_lon) * lons, + (end_lonlat[1] - min_lat) / (max_lat - min_lat) * lats) + # end_idx = clip(end_idx, (0, 0), (lons, lats)) + + rr, cc = line(int(start_idx[0]), int(start_idx[1]), int(end_idx[0]), int(end_idx[1])) + rr = clip(rr, 0, lons - 1) + cc = clip(cc, 0, lats - 1) + + wt_da.data[cc, rr] = wt.id + + lons_along_wt = lons_from(cc) + lats_along_wt = lats_from(rr) + + # make circle + for px_idx in range(len(lons_along_wt)): + + circle = circles.sel(longitude_center=lons_along_wt[px_idx], latitude_center=lats_along_wt[px_idx]) + influence_area = circle.where(circle < d, 0) + + circle_da = xr.where(influence_area, wt.id, circle_da) + + + + +""" +# from wavetrough line expand by d meters TODO also ahead on land. -> just also on trough and then shift ahead? +def create_wt_areas(dataset, circles, use_fc, d=5.0): + print("Create WT areas...") + + if use_fc: + wt = dataset['wt_fc'] # TODO rea + else: + wt = dataset['wt_rea'] # TODO rea + + wt_area = xr.zeros_like(wt, dtype=int) + + multi_wt_data = wt.stack(z=[...]) + multi_wt_data = multi_wt_data.where(multi_wt_data > 0, drop=True) + + num = len(multi_wt_data.z.data) + for z in range(len(multi_wt_data.z.data)): + if z % 100 == 0: + print(str(z) + "/" + str(num)) + + lon = multi_wt_data.longitude[z] + lat = multi_wt_data.latitude[z] + time = multi_wt_data.time[z] + if use_fc: + step = multi_wt_data.step[z] + wt_area_subset = wt_area.sel(time=time, step=step) # TODO FC sel where to put circle. + else: + wt_area_subset = wt_area.sel(time=time) # TODO FC sel where to put circle. + + wt_index = int(multi_wt_data.data[z]) + + circle = circles.sel(longitude_center=lon, latitude_center=lat) + + influence_area = circle.where(circle < d, 0) + influence_area = influence_area.astype(dtype=bool).astype(dtype=int) * wt_index + + wt_area_subset_new_values = np.where(influence_area > 0, influence_area, wt_area_subset.values) + if use_fc: + wt_area.loc[dict(time=time, step=step)] = wt_area_subset_new_values + else: + wt_area.loc[dict(time=time)] = wt_area_subset_new_values + + if use_fc: + dataset['wt_area_fc'] = wt_area + else: + dataset['wt_area_rea'] = wt_area +""" +""" +def create_wt_troughs_and_areas(dataset, in_json): +""" + # iterate over wavetroughs, for each + # put line in WT field, keep id (-1 also!) + # put area around it, keep id + + + + diff --git a/enstools/feature/identification/african_easterly_waves/configuration.py b/enstools/feature/identification/african_easterly_waves/configuration.py index c868ecea2be3e84694be9a47f14694de37e5ec8d..c48aa71808cb009efd5d3fea3c8c0c6a602c77ae 100644 --- a/enstools/feature/identification/african_easterly_waves/configuration.py +++ b/enstools/feature/identification/african_easterly_waves/configuration.py @@ -12,12 +12,12 @@ import numpy as np data_lat = (3, 35) data_lon = (-100, 45) -aew_clim_dir = '/project/meteo/w2w/C3/fischer/belanger/aew_clim/cv_clim_era5.nc' # '/lsdf/MOD/Gruppe_Transregio/Gruppe_Knippertz/kitweather/data/era5/cv_clim_era5.nc' 'C:\\Users\\Christoph\\phd\\data\\enstools-feature\\cv_clim_era5.nc' # '/home/christoph/phd/data/aew/clim/cv_clim_era5.nc' # '/home/christoph/phd/data/framework_example_ds/aew/' # '/project/meteo/w2w/C3/fischer/belanger/aew_clim/' # -in_files = '/project/meteo/w2w/C3/fischer/data/jja2022.nc' # '/home/ws/he7273/phd_all/data/coll_oper/jja2021/jja2021.nc' # 'C:\\Users\\Christoph\\phd\\data\\enstools-feature\\2008_sum_uv.nc' # '/home/christoph/phd/data/framework_example_ds/aew/cv_aug_08.nc' -out_dir = '/project/meteo/w2w/C3/fischer/belanger/out/' # join('/home/ws/he7273/phd_all/data/aew/out/') # '/project/meteo/w2w/C3/fischer/belanger/out/' -out_json_path = out_dir + 'jja2022_fc_test.json' +aew_clim_dir = '/home/ws/he7273/phd_all/data/aew/clim/cv_clim_era5.nc' # '/project/meteo/w2w/C3/fischer/belanger/aew_clim/cv_clim_era5.nc' # '/lsdf/MOD/Gruppe_Transregio/Gruppe_Knippertz/kitweather/data/era5/cv_clim_era5.nc' 'C:\\Users\\Christoph\\phd\\data\\enstools-feature\\cv_clim_era5.nc' # '/home/christoph/phd/data/aew/clim/cv_clim_era5.nc' # '/home/christoph/phd/data/framework_example_ds/aew/' # '/project/meteo/w2w/C3/fischer/belanger/aew_clim/' # +in_files = '/home/ws/he7273/phd_all/data/coll_oper/jjaso2021.nc' # '/project/meteo/w2w/C3/fischer/data/jja2022.nc' # '/home/ws/he7273/phd_all/data/coll_oper/jja2021/jja2021.nc' # 'C:\\Users\\Christoph\\phd\\data\\enstools-feature\\2008_sum_uv.nc' # '/home/christoph/phd/data/framework_example_ds/aew/cv_aug_08.nc' +out_dir = '/home/ws/he7273/phd_all/data/coll_oper/' # '/project/meteo/w2w/C3/fischer/belanger/out/' # join('/home/ws/he7273/phd_all/data/aew/out/') # '/project/meteo/w2w/C3/fischer/belanger/out/' +out_json_path = out_dir + 'jjaso2021.json' -plot_dir = '/project/meteo/w2w/C3/fischer/belanger/plots/' # join('/home/ws/he7273/phd_all/data/aew/plots/') # '/project/meteo/w2w/C3/fischer/belanger/plots/' +plot_dir = '/home/ws/he7273/phd_all/data/coll_oper/' # '/project/meteo/w2w/C3/fischer/belanger/plots/' # join('/home/ws/he7273/phd_all/data/aew/plots/') # '/project/meteo/w2w/C3/fischer/belanger/plots/' timedelta_ana = np.timedelta64(7, 'D') @@ -67,8 +67,8 @@ wave_filter_lat = (-5, 30) # TODO see bottom method -> more adaptive on lons. wave_filter_lon = (-110, 55) levels = [700] # 700 hPa -u_dim = 'xxu700_fc' -v_dim = 'v700_fc' +u_dim = 'u' +v_dim = 'v' # time of interest, if None all # june-oct is AEW season diff --git a/enstools/feature/identification/identification.proto b/enstools/feature/identification/identification.proto index 575a922b2fbe856b7632f53bbed576d0f56f0f6e..805045f9d3a0b876d7f154ee6b1b57abb3670263 100644 --- a/enstools/feature/identification/identification.proto +++ b/enstools/feature/identification/identification.proto @@ -66,6 +66,8 @@ message Object { optional VoxelRepresentation voxel_rep = 3; repeated BoundaryRepresentation boundary_rep = 4; optional Properties properties = 5; + + optional bool flag = 6; } /* Timestep represents the state of the data for one single point in time within one time series. It is defined by its diff --git a/enstools/feature/util/data_utils.py b/enstools/feature/util/data_utils.py index 592a7cfe7588636d9eec86ac39ce475ba1566c8f..7f720bf7c1befbba749ff8d8ec112a377839d0f2 100644 --- a/enstools/feature/util/data_utils.py +++ b/enstools/feature/util/data_utils.py @@ -1,11 +1,12 @@ import xarray as xr from enum import Enum from datetime import datetime - +import json from enstools.misc import get_ensemble_dim, get_time_dim from enstools.feature.util.enstools_utils import get_vertical_dim, get_init_time_dim, get_longitude_dim, \ get_latitude_dim, get_possible_time_dims, get_valid_time_dim from multiprocessing import Lock +import pandas as pd lock = Lock() class SplitDimension: @@ -252,3 +253,21 @@ def datetime_to_pb_str(time_dt): Time string in %Y-%m-%dT%H:%M:%S format """ return time_dt.strftime('%Y-%m-%dT%H:%M:%S') + +def datetime64_to_pb_str(time_dt): + return pd.to_datetime(str(time_dt)).strftime('%Y-%m-%dT%H:%M:%S') + +def pb_str_to_datetime64(time_str): + dt = datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S') + return np.datetime64(dt) + +def get_json(obj): + """ + Convert objects (e.g. proto) to json recursively. + """ + return json.loads( + json.dumps(obj, default=lambda o: getattr(o, '__dict__', str(o))) + ) + +def clip(tup, mint, maxt): + return np.clip(tup, mint, maxt) \ No newline at end of file