In the wxt520 campbell produced manual for the Vaisala WXT520 (hooked up via SDI12) the sample code appears to be only taking a straight average of the wind direction in the output table (averaging 5 second values every minute). Is this correct? How does it handle directions that move through north? Should it be using the windvector() function?
'CR1000 Series Datalogger
Public PTemp, batt_volt
Public WXT520(7)
'Values are updated internally in the WXT520 every 5 seconds
Alias WXT520(1)=Wdavg
Alias WXT520(2)=Wsavg
Alias WXT520(3)=Airtemp
Alias WXT520(4)=Relhumidity
Alias WXT520(5)=Airpressure
Alias WXT520(6)=Ramount
Alias WXT520(7)=Hamount
Units Wdavg = Degrees
Units Wsavg = m/s
Units Airtemp = Celcius
Units Relhumidity = %
Units Airpressure = hPa
Units Ramount = mm
Units Hamount = hits/cm^2
DataTable (Test,1,-1)
DataInterval (0,60,Sec,10)
Average (5,WXT520(1),IEEE4,False)
Totalize (2,WXT520(6),FP2,False)
Minimum (1,batt_volt,FP2,0,False)
Sample (1,PTemp,FP2)
EndTable
BeginProg
'Running a 5 second scan to coincide with 5 second
'update interval of the WXT520
Scan (5,Sec,0,0)
PanelTemp (PTemp,250)
Battery (Batt_volt)
'WXT520 connected to SDI12 port 1
SDI12Recorder (WXT520(1),1,0,"R!",1.0,0)
CallTable Test
NextScan
EndProg
The sample code in the current version of the manual (as of 02/27/12) is primarily focused on programming that is unique to interfacing a WXT520 with a Campbell datalogger. These WXT520-unique instructions are found in the 'declarations' and 'main program' sections of the program. There is nothing unique or different about programming for data outputs using a WXT520. The end user can include most any output -- including wind vector -- that one might normally use with other standard met sensors. Keep in mind that the measurements from the WXT520 for wind (and all its other parameters) are limited to a max frequency of 5 seconds. (M Bennett, Campbell Sci)
Thanks for the quick reply. I thought that was the case, but wasn't sure if there was something unique about SDI12, but the method of getting the raw data doesn't matter.
Also ... as you are pointing out, averaging of wind direction is incorrect (as presently shown in the manual). (This error was carried over from the WXT520 configuration settings, which offers max, min, avg.) The below code more correctly shows how the WXT520 could be used with a Campbell logger:
'CR1000 Series Datalogger
'Declarations
Public PTemp, batt_volt
Public WXT520(7)
Alias WXT520(1)=WindDir '(was "Wdavg")
Alias WXT520(2)=WindSpd '(was "Wsavg")
Alias WXT520(3)=AirTemp
Alias WXT520(4)=RelHumidity
Alias WXT520(5)=AirPressure
Alias WXT520(6)=Ramount
Alias WXT520(7)=Hamount
Units WindDir = Degrees '(was "Wdavg")
Units WindSpd = m/s '(was "Wsavg")
Units AirTemp = Celcius
Units RelHumidity = %
Units AirPressure = hPa
Units Ramount = mm
Units Hamount = hits/cm^2
'Define Data Tables
DataTable (Test,1,-1)
DataInterval (0,60,Min,10)
WindVector (1,WindSpd,WindDir,FP2,False,900,0,0)
FieldNames("Ws_Mean,Wd_MeanUnitVector,Wd_StdDev")
Average (1,AirTemp,FP2,False)
Sample (1,RelHumidity,FP2)
Sample (1,AirPressure,IEEE4)
Totalize (1,Ramount,FP2,False)
Totalize (1,Hamount,FP2,False)
EndTable
'Main Program
BeginProg
'Running a 5 second scan to coincide with 5 second
'update interval of the WXT520
Scan (5,Sec,0,0)
PanelTemp (PTemp,250)
Battery (batt_volt)
'WXT520 connected to SDI12 port 1
SDI12Recorder (WXT520(1),1,0,"R!",1.0,0)
CallTable Test
NextScan
EndProg