“CR1000X数据记录器”目的:证明更好method of obtaining average RH Public BattV Public PTemp_C Public HygroVUE10(2) Alias HygroVUE10(1) = AirTC Alias HygroVUE10(2) = rawRH Public e_Sat 'saturation vapor pressure Public e_Act 'actual vapor pressure Public avgRH 'for calculating average RH correctly Dim interm_RH(2) Alias interm_RH(1) = es Alias interm_RH(2) = ea Units BattV=Volts Units PTemp_C=Deg C Units AirTC=Deg C Units rawRH=% Units e_Sat=kPa Units e_Act=kPa Units avgRH=% 'Data tables DataTable(scratch,True,10) TableHide DataInterval(0,60,Min,10) Average (1,e_Sat,IEEE4,False) Average (1,e_Act,IEEE4,False) EndTable DataTable(Hourly,True,-1) DataInterval (0,60,Min,10) Average(1,AirTC,FP2,False) Sample (1,avgRH,FP2) Average (1,e_Sat,FP2,False) Average (1,e_Act,FP2,False) EndTable 'Main Program BeginProg 'Main Scan Scan(5,Sec,1,0) Battery(BattV) PanelTemp(PTemp_C,60) 'measure HygroVUE10 temperature and RH sensor SDI12Recorder (HygroVUE10(),C1,0,"M!",1.0,0,-1) 'calculate instantaneous vapor pressures for RH calculations VaporPressure (e_Act,AirTC,rawRH) SatVP (e_Sat,AirTC) 'store average vapor pressures in a hidden table CallTable scratch 'retreive vapor pressure averages and calculate average RH If (scratch.Output(1,1)) Then GetRecord (interm_RH(),scratch,1) avgRH = 100*ea/es EndIf 'store data CallTable Hourly NextScan EndProg
Baidu