NETSIM  1.0.0
Hardware-in-the-loopacousticnetworksimulator
iBellhop_messages.proto
Go to the documentation of this file.
1 syntax="proto2";
2 
3 import "goby/moos/protobuf/goby_moos_app.proto";
4 import "goby/protobuf/option_extensions.proto";
5 
6 import "netsim/acousticstoolbox/environment.proto";
7 
8 package netsim.protobuf;
9 
10 message iBellhopConfig
11 {
12  optional goby.moos.protobuf.GobyMOOSAppConfig common = 1 [(goby.field).description="Configuration common to all Goby MOOS applications"]; // see tes_moos_app.proto
13 
14  required bellhop.protobuf.Environment initial_env = 2 [(goby.field).description="Environment used as a background for all requests"];
15 
16  optional string moos_var_request = 3 [(goby.field).description="MOOS variable to listen for requests on", default="BELLHOP_REQUEST"];
17  optional string moos_var_response = 4 [(goby.field).description="MOOS variable to publish responses", default="BELLHOP_RESPONSE"];
18 
19  optional string output_env_dir = 5 [(goby.field).description="Directory to write generated ENV files in", default="/tmp"];
20 
21  optional bool extrapolate_nav = 6 [(goby.field).description="If true, use last heading to extrapolate navigation data", default=false];
22 
23  optional string local_sound_speed_var = 7 [(goby.field).description="If set, post interpolated sound speed readings from the env file to this variable."];
24 
25  optional int32 max_number_of_receivers = 10 [default = 1000000];
26 
27 }
28 
29 message iBellhopRequest
30 {
31  required bellhop.protobuf.Environment env = 1 [(goby.field).description="Environment updates to initial env"];
32  optional int32 request_number = 2 [(goby.field).description="Up to the requestor to set; will be put in the iBellhopResponse."];
33 
34 
35  enum WaterColumnAction
36  {
37  MERGE_WATER_COLUMNS = 1;
38  MERGE_SAMPLES = 2;
39  OVERWRITE = 3;
40  }
41  optional WaterColumnAction water_column_action = 3 [default = MERGE_SAMPLES, (goby.field).description="How to merge water column when merging Environment file. MERGE_WATER_COLUMNS adds the additional water_column vectors to the existing vectors. MERGE_SAMPLES merges the samples of the first water_column vectors of the default and request environment files. OVERWITE replaces the default environment water_column with those in the request."];
42 }
43 
44 message iBellhopResponse
45 {
46  required bool success = 1 [(goby.field).description="Was the request ok?"];
47  required string requestor = 2 [(goby.field).description="CMOOSMsg::GetSource() of the requesting application"];
48  optional bellhop.protobuf.Environment env = 3 [(goby.field).description="Complete environmental file used for run (request merged with initial)"];
49  optional string output_file = 4 [(goby.field).description="Path to file that bellhop.exe wrote"];
50 
51 
52  optional TLAveragedInRange avg_tl = 5 [(goby.field).description="written if read_shd = true and output is a SHD file (TL types)"];
53  message TLAveragedInRange
54  {
55  repeated TLSample sample = 1;
56  message TLSample
57  {
58  required double depth = 1;
59  required double tl = 2;
60  }
61  }
62 
63  optional bytes serialized_tl_matrix = 10 [(goby.field).description="TL matrix serialized using boost::serialization: written if read_shd = true, full_shd_matrix = true, and output is a SHD file (TL types)"];
64 
65  optional int32 request_number = 6 [(goby.field).description="Same as the request number set in the iBellhopRequest"];
66 }
67 
68 message SVPInfoRequest
69 {
70  repeated double depth = 1;
71 }
72 
73 message SVPInfoResponse
74 {
75  repeated SVPSample svp_sample = 1;
76  message SVPSample
77  {
78  required double depth = 1;
79  required double sound_speed = 2;
80  }
81  required double surface_sound_speed = 2;
82  optional double water_depth = 3;
83  optional double bottom_sound_speed = 4;
84 }