Campbell Scientific CSAT3B CSAT3B Three-Dimensional Sonic Anemometer - Page 84

Appendix C., Example CRBasic Datalogger Programs

Page 84 highlights

Appendix C. Example CRBasic Datalogger Programs Units Ts Units diag = degC = unitless 'CSAT3B monitor outputs Public monitor(4) Alias monitor(1) = board_temp Alias monitor(2) = board_humidity Alias monitor(3) = incline_pitch Alias monitor(4) = incline_roll Units board_temp = degC Units board_humidity = percent Units incline_pitch = deg Units incline_roll = deg 'Board Temperature 'Board Relative Humidity 'Inclinometer Pitch 'Inclinometer Roll 'CSAT3B diagnostic flags Public diag_bits(9) As Boolean Alias diag_bits(1) = Flag_LowAmp Alias diag_bits(2) = Flag_HighAmp Alias diag_bits(3) = Flag_Tracking Alias diag_bits(4) = Flag_HighDeltaC Alias diag_bits(5) = Flag_Acq Alias diag_bits(6) = Flag_LowVolt Alias diag_bits(7) = Flag_MemErr Alias diag_bits(8) = Flag_ADCSkip Alias diag_bits(9) = Flag_TrigErr 'Low Amplitude Flag 'High Amplitude Flag 'Tracking Flag 'High Delta Speed of Sound Flag 'Acquiring Flag 'Low Supply Voltage Flag 'Memory Error Flag 'ADC Clock Error Flag 'Trigger Error Flag 'Wind directions and speed. Public wind_out(8) 'Alias wind_out(1) = wind_spd - in compass coord system, same as CSAT3B 'Alias wind_out(2) = result_wind_speed - in compass coord system, same as CSAT3B Alias wind_out(3) = wind_dir_compass 'Alias wind_out(4) = standard_wind_dir - in compass coord system, same as CSAT3B Alias wind_out(5) = wind_speed Alias wind_out(6) = result_wind_speed Alias wind_out(7) = wind_dir_csat Alias wind_out(8) = standard_wind_dir Units wind_dir_compass = degrees Units wind_speed = m/s Units result_wind_speed = m/s Units wind_dir_csat = degrees Units standard_wind_dir = degrees 'Working variables. Dim wind_east Dim wind_north Dim diag_integer As Long Dim disable_stats(2) As Boolean 'East wind in compass coordinate system 'North wind in compass coordinate system 'Intermediate processing disable flags 'Other Variables Public battery_volt Units battery_volt = V Public panel_temp Units panel_temp = C Define Data Tables Original Sonic Data DataTable (DataSonic,1,-1) Sample (5,wind(1),IEEE4) EndTable ' Monitor Data DataTable (DataMonitor,1,-1) DataInterval (0,MONITOR_INTERVAL,Sec,10) Sample (4,monitor(1),IEEE4) EndTable C-4

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88

Appendix C.
Example CRBasic Datalogger Programs
Units Ts
= degC
Units diag
= unitless
'CSAT3B monitor outputs
Public monitor(4)
Alias monitor(1) = board_temp
'Board Temperature
Alias monitor(2) = board_humidity
'Board Relative Humidity
Alias monitor(3) = incline_pitch
'Inclinometer Pitch
Alias monitor(4) = incline_roll
'Inclinometer Roll
Units board_temp
= degC
Units board_humidity = percent
Units incline_pitch
= deg
Units incline_roll
= deg
'CSAT3B diagnostic flags
Public diag_bits(9) As Boolean
Alias diag_bits(1) = Flag_LowAmp
'Low Amplitude Flag
Alias diag_bits(2) = Flag_HighAmp
'High Amplitude Flag
Alias diag_bits(3) = Flag_Tracking
'Tracking Flag
Alias diag_bits(4) = Flag_HighDeltaC
'High Delta Speed of Sound Flag
Alias diag_bits(5) = Flag_Acq
'Acquiring Flag
Alias diag_bits(6) = Flag_LowVolt
'Low Supply Voltage Flag
Alias diag_bits(7) = Flag_MemErr
'Memory Error Flag
Alias diag_bits(8) = Flag_ADCSkip
'ADC Clock Error Flag
Alias diag_bits(9) = Flag_TrigErr
'Trigger Error Flag
'Wind directions and speed.
Public wind_out(8)
'Alias wind_out(1) = wind_spd - in compass coord system, same as CSAT3B
'Alias wind_out(2) = result_wind_speed - in compass coord system, same as CSAT3B
Alias wind_out(3)
= wind_dir_compass
'Alias wind_out(4) = standard_wind_dir - in compass coord system, same as CSAT3B
Alias wind_out(5)
= wind_speed
Alias wind_out(6)
= result_wind_speed
Alias wind_out(7)
= wind_dir_csat
Alias wind_out(8)
= standard_wind_dir
Units wind_dir_compass
= degrees
Units wind_speed
= m/s
Units result_wind_speed
= m/s
Units wind_dir_csat
= degrees
Units standard_wind_dir
= degrees
'Working variables.
Dim wind_east
'East wind in compass coordinate system
Dim wind_north
'North wind in compass coordinate system
Dim diag_integer As Long
Dim disable_stats(2) As Boolean
'Intermediate processing disable flags
'Other Variables
Public battery_volt
Units
battery_volt = V
Public panel_temp
Units
panel_temp = C
'---------------------------------------------
' Define Data Tables
'---------------------------------------------
' Original Sonic Data
DataTable (DataSonic,1,-1)
Sample (5,wind(1),IEEE4)
EndTable
' Monitor Data
DataTable (DataMonitor,1,-1)
DataInterval (0,MONITOR_INTERVAL,Sec,10)
Sample (4,monitor(1),IEEE4)
EndTable
C-4