3 import "goby/moos/protobuf/goby_moos_app.proto";
4 import "goby/protobuf/option_extensions.proto";
6 import "netsim/acousticstoolbox/environment.proto";
8 package netsim.protobuf;
10 message iBellhopConfig
12 optional goby.moos.protobuf.GobyMOOSAppConfig common = 1 [(goby.field).description="Configuration common to all Goby MOOS applications"]; // see tes_moos_app.proto
14 required bellhop.protobuf.Environment initial_env = 2 [(goby.field).description="Environment used as a background for all requests"];
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"];
19 optional string output_env_dir = 5 [(goby.field).description="Directory to write generated ENV files in", default="/tmp"];
21 optional bool extrapolate_nav = 6 [(goby.field).description="If true, use last heading to extrapolate navigation data", default=false];
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."];
25 optional int32 max_number_of_receivers = 10 [default = 1000000];
29 message iBellhopRequest
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."];
35 enum WaterColumnAction
37 MERGE_WATER_COLUMNS = 1;
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."];
44 message iBellhopResponse
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"];
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
55 repeated TLSample sample = 1;
58 required double depth = 1;
59 required double tl = 2;
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)"];
65 optional int32 request_number = 6 [(goby.field).description="Same as the request number set in the iBellhopRequest"];
68 message SVPInfoRequest
70 repeated double depth = 1;
73 message SVPInfoResponse
75 repeated SVPSample svp_sample = 1;
78 required double depth = 1;
79 required double sound_speed = 2;
81 required double surface_sound_speed = 2;
82 optional double water_depth = 3;
83 optional double bottom_sound_speed = 4;