science_datarate_cookbook.txt Options for optimizing the collection of Science Bay payload data. 14-Oct-06 pfurey@DinkumSoftware.com Initial 22-Nov-06 pfurey@DinkumSoftware.com Added all outputs for every proglet to the Table of proglets. 05-Jan-06 pfurey@DinkumSoftware.com Added details for auvb proglet. 09-Feb-07 moose@DinkumSoftware.com Added timestamps for appropriate proglets. 12-Feb-07 moose@DinkumSoftware.com Added bb3sloV3 proglet. 11-Apr-07 pfurey@webbresearch.com Added bb2fV2 proglet. 06-Aug-07 pfurey@webbresearch.com Added nbctd proglet. 11-Oct-07 pfurey@webbresearch.com Added bbfl2sV2 proglet 05-Nov-07 wayne.pearson@nrc-cnrc.gc.ca Added details for glbps proglet. 12-Dec-07 pfurey@webbresearch.com Added instruction on using bitmaps to select output sensors and added traffic limits for deep gliders. 12-apr-08 dpingal@webbresearch.com Added bbfl2sV3 proglet Overview: The problem How to calculate load Table of recommended settings Table of proglets Table of capacities The problem: A glider is unable to process all of the data from a science bay with lots of sensors in a timely fashion. The observed symptom is the periodic science_super ODDITY: Input ringbuffer overflow. In the time between these oddities, M_SCIENCE_CLOTHESLINE_LAG(sec) continues to climb as the glider falls further and further behind until eventually a ring buffer overflow happens. Gliders configured with heavily loaded science bays can: 1. Live with current behavior, i.e., get all the data for a while and take out the M_SCIENCE_CLOTHESLINE_LAG in post processing. 2. Reduce the data in time, i.e. increase behavior: sample b_arg: intersample_time 3. Reduce the amount of data, i.e. decrease c_XXX_num_fields_to_send(nodim) for all the proglets to the minimum required number of output sensors. It is NOT expected that the glider's ability to consume science data will be increased. This documentation quantifies the glider's ability to consume science data and give some guidelines for configuring the glider to get what portions of the payload data that is most important to the user. Gliders will be shipped configured with some combination of #2 and #3. The production mission gy10v003.mi is a clone of gy10v001.mi with behavior: sample ; b_arg: intersample_time set to 4 seconds. Gliders with heavily loaded science bays should fly this mission to avoid ring buffer overflows. NOTE: At the present time, a glider must be flown in non-simulation mode to truely test its configuration since data consumption rates vary greatly between simulations and real flights. A production mission called snsrload.mi can be run on land (or in water) without being in simulation mode. This mission turns on all science sensors and samples as fast as they can on dives, hovers, and climbs. It tries to dive to max working depth and times out in 15 minutes. How to calculate your science sensor load: 1. Look at the science configuration file (SCI)C:\config\proglets.dat to determine which sensors are in your science bay (these are the uncommented proglets). 2. Look up the number of output variables from the table below. By default, the maximum number of output sensors are sent from science to the glider at whatever the sampling rate is for that instrument. 3. For each of these installed proglets, multiply the data rate (hz) by the number of outputs, which gives the number of sensors per second. For i = 1 to n proglets: DATA_RATE_IN_HZ(i) x # OUTPUTS(i) = SENSORS PER SECOND(i) 4. Sum the total sensors per second and add 1/cycle_time for the cycle timestamp (1 timestamp per cycle). For example; if you had a ctd41cp and a bb2f on your science bay, your traffic load would be: ctd41cp: 0.5 hz x 3 output sensors = 1.5 sensors per second bb2f: 1.0 hz x 7 output sensors = 7.0 sensors per second 0.25 hz x 1 timestamp sensor = 0.25 sensors per second (@ 4 sec/cycle) ---- 8.75 sensors per second Table of recommended settings There are configuration settings that can be used to reduce both the number of sensor outputs and the data rate. In the table of proglets below under the column, MIN REQ # OUTPUTS, is the number of essential output variables that is required for every device. Every proglet has a c_XXX_num_fields_to_send(nodim) sensor variable associated with it that can be set in the glider configuration file (GPICO)C:\config\autoexec.mi. By default these are set to the maximum number of outputs for each proglet. Most devices have outputs that are used to derived the essential data, which can be filtered out to reduce traffic. To continue on with the above example; if a glider's science bay contained the proglets ctd41cp and bb2f we could use the table below to see which outputs were essential. We see that all of the ctd41cp outputs are essential but that only 3 of the 7 bb2f outputs are essential so we could reduce the above traffic load as such: put the following setting in the autoexec.mi sensor: c_bb2f_num_fields_to_send(nodim) 3 this would reduce the load by 4 sensors per second: ctd41cp: 0.5 hz x 3 outputs = 1.5 sensors per second bb2f: 1.0 hz x 3 outputs = 3.0 sensors per second 0.25 hz x 1 timestamp = 0.25 sensors per second (@ 4 sec/cycle) ---- 4.75 sensors per second Another way to limit traffic in a mission is to reduce the sampling rate for all science sensors with the sample behavior. example.mi .... behavior: yo .... behavior: sample b_arg: intersample_time(s) 4 behavior: prepare_to_dive .... .... In this instance, all of the science data would be sent over at a data rate of 0.25 hz. The following table summarizes your options for reducing science sensor traffic with some recommended settings. FILE TO MODIFIY DATA RATE SETTINGS OUTPUT QUANTITY SETTINGS ---------------------------------------------------------------------- # These are the individual science sensor settings # defaults can be decreased to the the following autoexec.mi c_bb2f_num_fields_to_send(nodim) 3 c_bb2c_num_fields_to_send(nodim) 2 c_bb2lss_num_fields_to_send(nodim) 1 c_bbfl2s_num_fields_to_send(nodim) 3 c_bbfl2sV2_num_fields_to_send(nodim) 3 c_bb2fls_num_fields_to_send(nodim) 3 c_bb2flsV2_num_fields_to_send(nodim) 3 c_bb3slo_num_fields_to_send(nodim) 3 c_bb3sloV2_num_fields_to_send(nodim) 3 c_bb3sloV3_num_fields_to_send(nodim) 3 c_fl3slo_num_fields_to_send(nodim) 3 c_fl3sloV2_num_fields_to_send(nodim) 3 c_flntu_num_fields_to_send(nodim) 2 c_sam_num_fields_to_send(nodim) 2 c_whpar_num_fields_to_send(nodim) 2 c_whgpbm_num_fields_to_send(nodim) 2 c_ocr504R_num_fields_to_send(nodim) 4 c_ocr504I_num_fields_to_send(nodim) 4 c_ocr507R_num_fields_to_send(nodim) 7 c_ocr507I_num_fields_to_send(nodim) 7 c_glbps_num_fields_to_send(nodim) 3 leave the default values for the rest Also, most of these c_XXX_num_fields_to_send(nodim) sensors can be used as bitmaps to select any combination of outputs from the proglet. For example (from /glider/code/masterdata): sensor: c_ctd41cp_num_fields_to_send(nodim) 3 # in, number of columns to send on each # measurement, fields to send chosen # by order in the list below # A negative value signifies # to use this value as a bitmap. # The user may specify any # outputs regardless of order by # by using this sensor as a bitmap. # -1 * (2^(f1-1)+2^(f2-1)+...) # where fn is the field number. # For example, if the user wished # to just record temperature # they would use: # -1 * 2^(2-1) = -2 Use in your mission file behavior: sample b_arg: intersample_time(s) 4 (default is 2) b_arg: sensor_type(enum) 0 (default is 0, all) ====================================================================== Table of proglets: NAME MODEL/DESCRIPTION DATA RATE # OUTPUTS MIN REQ # OUTPUTS in PRIORITY order C_XXX_ON=0 OUTPUTS ---------------------------------------------------------------------- ctd41cp Seabird CTD (SBE-41) CP 0.5 hz 4 3 sci_water_cond(S/m) sci_water_temp(degC) sci_water_pressure(bar) sci_ctd41cp_timestamp(sec) ctd41 Seabird CTD (SBE-41) pulsed 0.5 hz 3 3 sci_water_cond(S/m) sci_water_temp(degC) sci_water_pressure(bar) nbctd Neil Brown CTD (W.H.O.I.) 1.0 hz 4 3 sci_water_cond(S/m) sci_water_temp(degC) sci_water_pressure(bar) sci_nbctd_timestamp(sec) bb2f Wet Labs Fluorometer / 1.0 hz 8 3 Backscattering Meter sci_bb2f_b470(nodim) sci_bb2f_b700(nodim) sci_bb2f_fluor(nodim) sci_bb2f_therm(nodim) sci_bb2f_b470_ref(nodim) sci_bb2f_b700_ref(nodim) sci_bb2f_counter(nodim) sci_bb2f_timestamp(sec) bb2c Wet Labs Backscattering Meter 1.0 hz 10 2 sci_bb2c_beta532_eng_units(nodim) sci_bb2c_beta660_eng_units(nodim) sci_bb2c_beta532(nodim) sci_bb2c_beta660(nodim) sci_bb2c_cdom(nodim) sci_bb2c_ref1(nodim) sci_bb2c_ref2(nodim) sci_bb2c_ref3(nodim) sci_bb2c_temp(nodim) sci_bb2c_timestamp(sec) bb2lss Wet Labs Light Scatter Sensor 1.0 hz 7 1 sci_bb2lss_beta880_eng_units(nodim) sci_bb2lss_beta880(nodim) sci_bb2lss_lss(nodim) sci_bb2lss_ref1(nodim) sci_bb2lss_ref2(nodim) sci_bb2lss_temp(nodim) sci_bb2lss_timestamp(sec) bbfl2s Wet Labs Fluorometer / 0.67 hz 11 3 Backscattering Meter sci_bbfl2s_bb_scaled(nodim) sci_bbfl2s_chlor_scaled(ug/l) sci_bbfl2s_cdom_scaled(ppb) sci_bbfl2s_bb_sig(nodim) sci_bbfl2s_chlor_sig(nodim) sci_bbfl2s_cdom_sig(nodim) sci_bbfl2s_bb_ref(nodim) sci_bbfl2s_chlor_ref(nodim) sci_bbfl2s_cdom_ref(nodim) sci_bbfl2s_temp(nodim) sci_bbfl2s_timestamp(sec) bbfl2sV2 Wet Labs Fluorometer / 0.67 hz 11 3 Backscattering Meter sci_bbfl2sV2_bb_scaled(nodim) sci_bbfl2sV2_fl1_scaled(ug/l) sci_bbfl2sV2_fl2_scaled(ppb) sci_bbfl2sV2_bb_sig(nodim) sci_bbfl2sV2_fl1_sig(nodim) sci_bbfl2sV2_fl2_sig(nodim) sci_bbfl2sV2_bb_ref(nodim) sci_bbfl2sV2_fl1_ref(nodim) sci_bbfl2sV2_fl2_ref(nodim) sci_bbfl2sV2_therm(nodim) sci_bbfl2sV2_timestamp(sec) bb2fls Wet Labs Scattering Meter / 0.67 hz 11 3 Fluorometer sci_bb2fls_b660_scaled(nodim) sci_bb2fls_b880_scaled(nodim) sci_bb2fls_cdom_scaled(ppb) sci_bb2fls_b660_sig(nodim) sci_bb2fls_b880_sig(nodim) sci_bb2fls_cdom_sig(nodim) sci_bb2fls_b660_ref(nodim) sci_bb2fls_b880_ref(nodim) sci_bb2fls_cdom_ref(nodim) sci_bb2fls_therm(nodim) sci_bb2fls_timestamp(sec) bb2flsV2 Wet Labs Scattering Meter / 0.67 hz 11 3 Fluorometer, 2nd configuration sci_bb2flsV2_b470_scaled(nodim) sci_bb2flsV2_b532_scaled(nodim) sci_bb2flsV2_chl_scaled(ug/l) sci_bb2flsV2_b470_sig(nodim) sci_bb2flsV2_b532_sig(nodim) sci_bb2flsV2_chl_sig(nodim) sci_bb2flsV2_b470_ref(nodim) sci_bb2flsV2_b532_ref(nodim) sci_bb2flsV2_chl_ref(nodim) sci_bb2flsV2_therm(nodim) sci_bb2flsV2_timestamp(sec) bb2flsV3 Wet Labs Scattering Meter / 0.67 hz 11 3 Fluorometer, 3rd configuration sci_bb2flsV3_b715_scaled(nodim) sci_bb2flsV3_b880_scaled(nodim) sci_bb2flsV3_pe_scaled(ug/l) sci_bb2flsV3_b715_sig(nodim) sci_bb2flsV3_b880_sig(nodim) sci_bb2flsV3_pe_sig(nodim) sci_bb2flsV3_b715_ref(nodim) sci_bb2flsV3_b880_ref(nodim) sci_bb2flsV3_pe_ref(nodim) sci_bb2flsV3_therm(nodim) sci_bb2flsV3_timestamp(sec) bb3slo Wet Labs Backscatter 1.0 hz 11 3 Triplet Sensor sci_bb3slo_b470_scaled(nodim) sci_bb3slo_b532_scaled(nodim) sci_bb3slo_b660_scaled(nodim) sci_bb3slo_b470_sig(nodim) sci_bb3slo_b532_sig(nodim) sci_bb3slo_b660_sig(nodim) sci_bb3slo_b470_ref(nodim) sci_bb3slo_b532_ref(nodim) sci_bb3slo_b660_ref(nodim) sci_bb3slo_temp(nodim) sci_bb3slo_timestamp(sec) bb3sloV2 Wet Labs Backscatter 1.0 hz 11 3 Triplet Sensor, 2nd configuration sci_bb3sloV2_b532_scaled(nodim) sci_bb3sloV2_b660_scaled(nodim) sci_bb3sloV2_b880_scaled(nodim) sci_bb3sloV2_b532_sig(nodim) sci_bb3sloV2_b660_sig(nodim) sci_bb3sloV2_b880_sig(nodim) sci_bb3sloV2_b532_ref(nodim) sci_bb3sloV2_b660_ref(nodim) sci_bb3sloV2_b880_ref(nodim) sci_bb3sloV2_temp(nodim) sci_bb3sloV2_timestamp(sec) bb3sloV3 Wet Labs Backscatter 1.0 hz 11 3 Triplet Sensor, 2nd configuration sci_bb3sloV3_b532_scaled(nodim) sci_bb3sloV3_b630_scaled(nodim) sci_bb3sloV3_b880_scaled(nodim) sci_bb3sloV3_b532_sig(nodim) sci_bb3sloV3_b630_sig(nodim) sci_bb3sloV3_b880_sig(nodim) sci_bb3sloV3_b532_ref(nodim) sci_bb3sloV3_b630_ref(nodim) sci_bb3sloV3_b880_ref(nodim) sci_bb3sloV3_temp(nodim) sci_bb3sloV3_timestamp(sec) fl3slo Wet Labs Fluorometer 1.0 hz 11 3 Triplet Sensor sci_fl3slo_chlor_units(ug/l) sci_fl3slo_phyco_units(ppb) sci_fl3slo_cdom_units(QSDE) sci_fl3slo_chlor_sig(nodim) sci_fl3slo_phyco_sig(nodim) sci_fl3slo_cdom_sig(nodim) sci_fl3slo_chlor_ref(nodim) sci_fl3slo_phyco_ref(nodim) sci_fl3slo_cdom_ref(nodim) sci_fl3slo_temp(nodim) sci_fl3slo_timestamp(sec) fl3sloV2 Wet Labs Fluorometer 1.0 hz 11 3 Triplet Sensor, 2nd configuration sci_fl3sloV2_chlor_units(ug/l) sci_fl3sloV2_rhod_units(ppb) sci_fl3sloV2_cdom_units(ppb) sci_fl3sloV2_chlor_sig(nodim) sci_fl3sloV2_rhod_sig(nodim) sci_fl3sloV2_cdom_sig(nodim) sci_fl3sloV2_chlor_ref(nodim) sci_fl3sloV2_rhod_ref(nodim) sci_fl3sloV2_cdom_ref(nodim) sci_fl3sloV2_temp(nodim) sci_fl3sloV2_timestamp(sec) flntu Wet Labs Fluorometer 1.0 hz 8 2 and Turbidity Sensor sci_flntu_chlor_units(ug/l) sci_flntu_turb_units(NTU) sci_flntu_chlor_sig(nodim) sci_flntu_turb_sig(nodim) sci_flntu_chlor_ref(nodim) sci_flntu_turb_ref(nodim) sci_flntu_temp(nodim) sci_flntu_timestamp(sec) sam Wet Labs Scattering 1.0 hz 9 2 Attenuation Meter sci_sam_c_mix(nodim) sci_sam_vis(nodim) sci_sam_filter_age(sec) sci_sam_s1_filtered(nodim) sci_sam_s2_filtered(nodim) sci_sam_s1(nodim) sci_sam_s2(nodim) sci_sam_ref(nodim) sci_sam_temp(nodim) whpar WHOI Photosynthetic 0.5 hz 7 2 Active Radiation sci_whpar_par(nodim) sci_whpar_ref(nodim) sci_whpar_therm(nodim) sci_whpar_volt(nodim) sci_whpar_counter(nodim) sci_whpar_spare(nodim) sci_whpar_timestamp(sec) whgpbm WHOI Glider 0.25 hz 8 2 Bathy-PhotoMeter sci_whgpbm_par(nodim) sci_whgpbm_biolumin(nodim) sci_whgpbm_interval(nodim) sci_whgpbm_volt_excite(nodim) sci_whgpbm_volt_left(nodim) sci_whgpbm_volt_bat(nodim) sci_whgpbm_counter(nodim) sci_whgpbm_timestamp(sec) hs2 HobiLab HydroScat2 Spectral 0.1-10 hz 6 6 Backscattering Sensor sci_hs2_1bb(nodim) sci_hs2_1bbu(nodim) sci_hs2_2bb(nodim) sci_hs2_2bbu(nodim) sci_hs2_3bb(nodim) sci_hs2_3bbu(nodim) oxy3835 Aanderaa oxygen optode 0.5 hz 4 3 3835 Sensor sci_oxy3835_oxygen(nodim) sci_oxy3835_saturation(nodim) sci_oxy3835_temp(nodim) sci_oxy3835_timestamp(sec) oxy3835_wphase Aanderaa oxygen optode 0.5 hz 11 3 3835 Sensor, 2nd configuration sci_oxy3835_wphase_oxygen(nodim) sci_oxy3835_wphase_saturation(nodim) sci_oxy3835_wphase_temp(nodim) sci_oxy3835_wphase_dphase(nodim) sci_oxy3835_wphase_bphase(nodim) sci_oxy3835_wphase_rphase(nodim) sci_oxy3835_wphase_bamp(nodim) sci_oxy3835_wphase_bpot(nodim) sci_oxy3835_wphase_ramp(nodim) sci_oxy3835_wphase_rawtemp(nodim) sci_oxy3835_wphase_timestamp(sec) ocr504R Satlantic OCR-504 0.5 hz 16 4 measuring radiance sci_ocr504R_rad1(uW/cm^2/nm) sci_ocr504R_rad2(uW/cm^2/nm) sci_ocr504R_rad3(uW/cm^2/nm) sci_ocr504R_rad4(uW/cm^2/nm) sci_ocr504R_itemp(Celsius) sci_ocr504R_Vin(volts) sci_ocr504R_fcount(nodim) sci_ocr504R_channel1(nodim) sci_ocr504R_channel2(nodim) sci_ocr504R_channel3(nodim) sci_ocr504R_channel4(nodim) sci_ocr504R_itemp_raw(nodim) sci_ocr504R_Vin_raw(nodim) sci_ocr504R_timer(sec) sci_ocr504R_delay(msec) sci_ocr504R_cksum(nodim) ocr504I Satlantic OCR-504 0.5 hz 16 4 measuring irradiance sci_ocr504I_irrad1(uW/cm^2/nm) sci_ocr504I_irrad2(uW/cm^2/nm) sci_ocr504I_irrad3(uW/cm^2/nm) sci_ocr504I_irrad4(uW/cm^2/nm) sci_ocr504I_itemp(Celsius) sci_ocr504I_Vin(volts) sci_ocr504I_fcount(nodim) sci_ocr504I_channel1(nodim) sci_ocr504I_channel2(nodim) sci_ocr504I_channel3(nodim) sci_ocr504I_channel4(nodim) sci_ocr504I_itemp_raw(nodim) sci_ocr504I_Vin_raw(nodim) sci_ocr504I_timer(sec) sci_ocr504I_delay(msec) sci_ocr504I_cksum(nodim) ocr507R Satlantic OCR-507 0.5 hz 24 7 measuring radiance sci_ocr507R_rad1(uW/cm^2/nm) sci_ocr507R_rad2(uW/cm^2/nm) sci_ocr507R_rad3(uW/cm^2/nm) sci_ocr507R_rad4(uW/cm^2/nm) sci_ocr507R_rad5(uW/cm^2/nm) sci_ocr507R_rad6(uW/cm^2/nm) sci_ocr507R_rad7(uW/cm^2/nm) sci_ocr507R_itemp(Celsius) sci_ocr507R_Vin(volts) sci_ocr507R_Va(volts) sci_ocr507R_fcount(nodim) sci_ocr507R_channel1(nodim) sci_ocr507R_channel2(nodim) sci_ocr507R_channel3(nodim) sci_ocr507R_channel4(nodim) sci_ocr507R_channel5(nodim) sci_ocr507R_channel6(nodim) sci_ocr507R_channel7(nodim) sci_ocr507R_itemp_raw(nodim) sci_ocr507R_Vin_raw(nodim) sci_ocr507R_Va_raw(nodim) sci_ocr507R_timer(sec) sci_ocr507R_delay(msec) sci_ocr507R_cksum(nodim) ocr507I Satlantic OCR-507 0.5 hz 24 7 measuring irradiance sci_ocr507I_irrad1(uW/cm^2/nm) sci_ocr507I_irrad2(uW/cm^2/nm) sci_ocr507I_irrad3(uW/cm^2/nm) sci_ocr507I_irrad4(uW/cm^2/nm) sci_ocr507I_irrad5(uW/cm^2/nm) sci_ocr507I_irrad6(uW/cm^2/nm) sci_ocr507I_irrad7(uW/cm^2/nm) sci_ocr507I_itemp(Celsius) sci_ocr507I_Vin(volts) sci_ocr507I_Va(volts) sci_ocr507I_fcount(nodim) sci_ocr507I_channel1(nodim) sci_ocr507I_channel2(nodim) sci_ocr507I_channel3(nodim) sci_ocr507I_channel4(nodim) sci_ocr507I_channel5(nodim) sci_ocr507I_channel6(nodim) sci_ocr507I_channel7(nodim) sci_ocr507I_itemp_raw(nodim) sci_ocr507I_Vin_raw(nodim) sci_ocr507I_Va_raw(nodim) sci_ocr507I_timer(sec) sci_ocr507I_delay(msec) sci_ocr507I_cksum(nodim) moteBB Mote Marine Lab 0.0023 to 0.0011 hz 22 22 Optical Phytoplankton Detector sci_motebb_sn(nodim) sci_motebb_status(nodim) sci_motebb_volt(nodim) sci_motebb_press(nodim) sci_motebb_cdomref(nodim) sci_motebb_int_time(nodim) sci_motebb_start_time(nodim sci_motebb_stop_time(nodim) sci_motebb_absorb_a(nodim) sci_motebb_absorb_b(nodim) sci_motebb_corr0(nodim) sci_motebb_corr1(nodim) sci_motebb_corr2(nodim) sci_motebb_corr3(nodim) sci_motebb_corr4(nodim) sci_motebb_corr5(nodim) sci_motebb_corr6(nodim) sci_motebb_corr7(nodim) sci_motebb_corr8(nodim) sci_motebb_corr9(nodim) sci_motebb_corr10(nodim) sci_motebb_corr11(nodim) viper DMA Viper Processor intermittent 6 6 sci_viper_power_on(bool) sci_viper_error(nodim) sci_viper_target(enum) sci_viper_collect_time(sec) sci_viper_finished(bool) sci_viper_collecting(bool) badd Benthos Acoustic intermittent 7 7 Data Delivery sci_badd_power_on(bool) sci_badd_error(enum) sci_badd_remote_stored_bytes(nodim) sci_badd_retrieved_bytes(nodim) sci_badd_n_tries_to_connect(nodim) sci_badd_target_range(m) sci_badd_finished(bool) whfctd WHOI Fast CTD 10.0 hz 8 8 sci_whfctd_ref_hi(nodim) sci_whfctd_ref_mid(nodim) sci_whfctd_ref_lo(nodim) sci_whfctd_raw_temp(nodim) sci_whfctd_raw_con1(nodim) sci_whfctd_raw_con2(nodim) sci_whfctd_raw_pres(nodim) sci_whfctd_elap_time(nodim) bam Benthos Acoustic Modem intermittent 3 3 sci_bam_science_on(bool) sci_bam_rcvd_chars_since_last_report(nodim) sci_bam_rcvd_chars_since_last_surfacing(nodim) hydrophone DREA hydrophone sampler intermittent 1 1 sci_hydrophone_collection(nodim) hard_disk NA - No output is sent over the clothesline auvb Wet Labs Flourometer AUV-B 1.25 hz 4 2 sci_auvb_sig(nodim) sci_auvb_ref(nodim) sci_auvb_therm(nodim) sci_auvb_timestamp(sec) bb2fV2 Wet Labs Fluorometer / 0.5 hz 10 3 Backscattering Meter, 2nd config sci_bb2fV2_b470_scaled(nodim) sci_bb2fV2_b700_scaled(nodim) sci_bb2fV2_chlor_scaled(ug/l) sci_bb2fV2_b470_sig(nodim) sci_bb2fV2_b700_sig(nodim) sci_bb2fV2_chlor(nodim) sci_bb2fV2_b470_ref(nodim) sci_bb2fV2_b700_ref(nodim) sci_bb2fV2_therm(nodim) sci_bb2fV2_timestamp(sec) glbps ASL GLBPS SONAR Device 0.5 hz 12 3 sci_glbps_round_trip_time(nodim) sci_glbps_persistance(nodim) sci_glbps_timestamp(timestamp) sci_glbps_ping_number(nodim) sci_glbps_year(nodim) sci_glbps_month(nodim) sci_glbps_day(nodim) sci_glbps_hour(nodim) sci_glbps_minute(nodim) sci_glbps_second(nodim) sci_glbps_hundreds_of_second(nodim) sci_glbps_target_count(nodim) Add new proglets here ====================================================================== Table of capacities While in a real mission, the maximum science data load without ring buffer overflow is 15 sensors/second for 200m gliders and 9.25 sensors/second for 1000m gliders. This number increases significantly when the glider is just sitting in GliderDos, and is reduced while in simulation mode. However, understanding data consumption rates during real missions is of primary importance. The clothesline input ring buffer is 20K and each binary sensor packet contains 13 bytes. The operational consumption is derived from the "Seconds to Ring Buffer Overflow" table below. We multiply the sensor load of the test runs (26 sensors/second) by the seconds until overflow, subtract the number of sensors that fit into the ring buffer (20K bytes / 13 bytes/sensor = 1575 sensors), and divide this number by the number of seconds until overflow. e.g.; ((26 sensors/sec x 155 sec) - 1575 sensors) / 155 sec = 15 senosrs/sec Unit066 (Dory) Table of operational consumption. ---------------------------------------------------------------------- GliderDos GliderDos snsrload.mi snsrload.mi on_bench on_bench ---------------------------------------------------------------------- Sensor Load 24 22 15 8 (sensors/sec) ====================================================================== "Stress" tests were performed to determine the number of seconds between ring buffer overflows under various conditions. The table below displays some of these results. Unit066 (Dory) Seconds to Ring Buffer Overflow ---------------------------------------------------------------------- Sensor Load GliderDos GliderDos snsrload.mi snsrload.mi on_bench on_bench ---------------------------------------------------------------------- 26 sensors/sec 1393 sec 486 sec 155 sec 90 sec ====================================================================== Unit066 (Dory) running snsrload.mi, starting with the following payload ---------------------------------------------------------------------- ctd 3 output sensors x 0.5 hz = 1.5 oxy3835 3 output sensors x 0.5 hz = 1.5 ocr507R 24 output sensors x 0.5 hz = 12.0 ocr507I 24 output sensors x 0.5 hz = 12.0 bbfl2s 10 output sensors x 0.67 hz = 6.7 timestamp 1 sensor x 0.25 hz = 0.25 ---------------------------------------------------------------------- 33.95 Seconds to Ring Buffer Overflow (test2) ---------------------------------------------------------------------- case 1 case 2 case 3 case 4 ---------------------------------------------------------------------- 62 sec 65 sec 577 sec no overflow ---------------------------------------------------------------------- case 1: all sensors with high density logging on case 2: all sensors with high density logging off case 3: change sample b_arg: intersample time from 0 to 4, h.d. logging off (load becomes 16.25 sensors/sec) case 4: case 3 + reduce output sensors to just essential outputs (load becomes 6 sensors/sec)