Campbell Scientific T.Weather T107 Toro Weather Station User Manual

Page 100

Advertising
background image

Appendix D. Default Programs

Battery (BattVolt)
'Micrologger temperature
PanelTemp (LgrTmpC,250)
'Save Site Values
If SaveSite = 1 Then
CallTable SiteVal
SaveSite=0
EndIf

'Query Site Values from data table and use if needed.
If Latitude = 0.00001 AND SiteVal.Latitude(1,1)<> NAN Then
Latitude=SiteVal.Latitude(1,1)
Longitude=SiteVal.Longitude(1,1)
Altitude_m=SiteVal.Altitude_m(1,1)
EndIf

'Enclosure humidity
VoltSe(Encl_RH, 1, mV2500, 10, False, 0, _60Hz, 0.1, 0)
If Encl_RH > 100 Then Encl_RH = 100

'CONNECTOR TEMP/RH
'HMP50-ET & HMP60-ET or HMP45C-ET temperature/humidity sensor
VoltSe(AirTempC, 1, mV2500, 2, False, 0, _60Hz, 0.1, -40)
If (AirTempC = NAN) Then AirTempC = -6999
VoltSe(RelHum, 1, mV2500, 1, False, 0, _60Hz, 0.1, 0)
If (RelHum = NAN) Then RelHum = -6999
If (RelHum >= 100) AND (RelHum < 108) Then RelHum = 100
AirTempF = AirTempC * 1.8 + 32

If FirstPass = False Then
MaxAirC = AirTempC
MinAirC = AirTempC
FirstPass = True
Else
If (AirTempC > MaxAirC) Then MaxAirC = AirTempC
If (AirTempC < MinAirC) Then MinAirC = AirTempC
EndIf

'CONNECTOR SOLAR RADIATION
'CS305-ET or LI200X-ET Pyranometer
VoltDiff(SlrRad_W, 1, mV7_5, 3, true, 0, _60Hz, 200, 0)
If (SlrRad_W < 0) Then SlrRad_W = 0
If (SlrRad_W = NAN) Then
SlrRad_W = -6999
SlrRad_KW = -6999
SlrRad_MJ = -6999
Else
SlrRad_KW = SlrRad_W*0.001
SlrRad_MJ = SlrRad_W*0.000005
EndIf

'CONNECTOR TEMP/SONIC
'Get RS232 data from WindSonic connected to TEMP/SONIC (COM1).
SerialInRecord (Com1,in_bytes_str,&h02,0,&h0D&h0A,nmbr_bytes_rtrnd,01)
WindDir = Mid (in_bytes_str,3,3)
WindSpd_ms = Mid (in_bytes_str,7,6)
diag = Mid (in_bytes_str,16,2)
checksum_flg = ( (HexToDec (Mid (in_bytes_str,20,2))) EQV (CheckSum (in_bytes_str,9,18)) )
disable_flag = (NOT (checksum_flg) OR (nmbr_bytes_rtrnd=0) OR (diag<>0))
WindSpd_mph = WindSpd_ms * 2.236936
TotalWSmph = TotalWSmph + WindSpd_mph*0.05

'CONNECTOR RAIN (PRECIP)
'TE525-ET, TE525WS-LC, CS700-LC, or TB4-LC tipping rain bucket
PulseCount(Rain_mm, 1, 2, 2, 0, 0.254, 0)
Rain_inch = Rain_mm * 0.03937
Rain_Hr = Rain_mm + Rain_Hr
RainRun = RainRun + Rain_mm

CallTable ToroHourly
If (ToroHourly.Output(1,1)) Then
ETos_mm = ToroHourly.ETos_mm(1,1)
ETos_Run = ETos_Run + ETos_mm
Rain_Hr = 0
TotalWSmph = 0
EndIf

CallTable ToroStatus

D-6

Advertising