Appendix E. Default Programs
E-2
Minimum
(1, RelHum, FP2, 0, False)
Average
(1, SlrRad_W, FP2, 0)
Maximum
(1, SlrRad_W, FP2, 0, False)
Maximum
(1,DewPntC,FP2,False,False)
Minimum
(1,DewPntC,FP2,False,False)
Maximum
(1,WindChilC,FP2,False,False)
Minimum
(1,WindChilC,FP2,False,False)
Maximum
(1,HeatIndxC,FP2,False,False)
Minimum
(1,HeatIndxC,FP2,False,False)
EndTable
DataTable
(STATS,TRUE,168)
DataInterval
(0,60,Min,10)
Totalize
(1,one,IEEE4,disable_flag)
FieldNames
("n_TOT")
Totalize
(1,one,IEEE4,diag<>1)
FieldNames
("diag_1_TOT")
Totalize
(1,one,IEEE4,diag<>2)
FieldNames
("diag_2_TOT")
Totalize
(1,one,IEEE4,diag<>4)
FieldNames
("diag_4_TOT")
Totalize
(1,one,IEEE4,diag<>8)
FieldNames
("diag_8_TOT")
Totalize
(1,one,IEEE4,diag<>9)
FieldNames
("diag_9_TOT")
Totalize
(1,one,IEEE4,diag<>10)
FieldNames
("diag_10_TOT")
Totalize
(1,one,IEEE4,diag<>NaN)
FieldNames
("no_data_TOT")
EndTable
BeginProg
'Set all rain variables to zero.
For
n = 1
To
24
Rain(n) = 0
Next
n
one = 1
SerialOpen
(Com1,38400,3,0,432)
Scan
(5,Sec, 3, 0)
BattVolt = Status.
Battery
(1,1)
LogrTmpC = Status.
PanelTemp
(1,1)
WatchDog = Status.WatchdogErrors(1,1)
Overruns = Status.SkippedScan(1,1)
LowVolts = Status.Low12VCount(1,1)
LiBattV = Status.LithiumBattery(1,1)
VoltSe
(Encl_RH, 1, mV2500, 10, False, 0, _60Hz, 0.1, 0)
If
Encl_RH > 100
Then
Encl_RH = 100
SerialInRecord
(Com1,in_bytes_str,&h02,0,&h0d0a,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
PulseCount
(Rain_mm, 1, 2, 2, 0, 0.254, 0)
RainHrTtl = R RainHrTtl
Rain24Ttl = R Rain24Ttl
If
TimeIntoInterval
(0,60,Min)
Then
Rain24Ttl = 0
For
n = 24
To
2
Step
-1
Rain(n) = Rain(n-1)
Rain24Ttl = Rai Rain(n)
Next
n
RainHrTtl = 0
EndIf