Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

wrong wind measurements - 86000 Young Anemometer and CR1000


aldirio.almeida Aug 10, 2019 12:00 AM

1020/5000I am using a Young 86000 anemometer on a CR1000, and I am having the following problem: overall measurements are correct, but sometimes measurements are incorrect, with values ​​above 75 m / s, even without apparent wind. I am using a 15 second scan. For wind measurements, the table collects the instantaneous value, direction and maximum wind (in one hour). Most often the error occurs at maximum wind, when it occurs at snapshot, the direction comes as NAN. In all there are 26 weather stations with this same problem. I have tried some solutions, such as setting values ​​above 75 = NAN, but other bad values ​​end up being measured at some point. Another curiosity, these errors usually occur at sequential times. An example of a station that has this problem (without the threshold I set at some 75 = NAN) is the one with Goes ID B0428FD8.

It follows programming that I am using, which even with some changes, still presenting such a problem.

 

Const Scanrate = 15
'Const Sens = 15.00

'******************************************

'Publicacao do ID
Public ID As String *8

'Publicacao das  variaveis do Resultado
Public ResultadoGoes

'Publicacao do Dia e Horario
Public rTime(9)
Public Date As String *10
Public Time As String *10

Alias rTime(1) = Year         
Alias rTime(2) = Month       
Alias rTime(3) = DOM          
Alias rTime(4) = Hour        
Alias rTime(5) = Minute       
Alias rTime(6) = Second  

'Publicacao da tensao da bateria
Public BattV
Public BattV_s As String *7
Public Dest_BattV As Float
Units BattV = Volts

'Publicacao da temp interna
Public PTemp_C
Public PTemp_C_s As String *7
Public Dest_PTemp_C As Float
Units PTemp_C = Deg C 

'Publicacao Umidade Interna da Caixa
Public Enc_RH 
Public enc_rh_s As String *7

'Publicacao Chuva 
Public Rain
Public Dest_Rain As Float
Public Rain_s As String *7
Units Rain = mm

'Publicacao Temperaura do ar
Public AirTc 
Public AirTc_Mx As String *7
Public Dest_AirTc_Mx As Float
Public AirTC_Mm As String *7
Public Dest_AirTc_Mn As Float
Public AirTc_s As String *7
Units AirTc = Deg C

'Publicacao da Umidade do AR
Public RH 
Public RH_s As String *7
Public RH_Mx As String *7
Public RH_Mn As String *7
Public Dest_RH_Mx As Float
Public Dest_RH_Mn As Float
Units RH = %

'Publicacao do Ponto de Orvalho
Public DewPt
Public DewPt_Mn As String *7
Public DewPt_Mx As String *7
Public Dest_DewPt_Mn
Public Dest_DewPt_Mx
Public DewPt_s As String *7

'Publicacao Pressao Atmosferica
Public BP_mbar_s As String *7
Public BP_mbar

'Publicacao Velocidade e Direcao do Vento 
Public RMY86000 (4) As Float
Public Serial86000 As String *25
Public Wind_Speed_Mx As String *7
Public Dest_Wind_Speed_Medium As Float
Public Dest_Wind_Speed_Mx As Float
Public Dest_WindSpeed As Float
Public WindSpeed_s As String *7
Public Dest_Wind_Direction As Float
Public Wind_Direction_s As String *7

Alias RMY86000(2) = Wind_Speed 
Alias RMY86000(3) = Wind_Direction 
Alias RMY86000(4) =  Status86004
Units Wind_Speed = m/s
Units Wind_Direction = Deg

'Publicacao da Temperatura do Solo
'Sensor a 5 cm
Public CS65X(6)

Alias CS65X(1) = VWC
Units VWC = %
Public Dest_VWC As Float 
Public VWC_s As String *7
Alias CS65X(3) = T_05cm
Public T_05cm_s As String *7
Units T_05cm = Deg C

'Sensor a 20 cm
Public CS65X_2(6)

Alias CS65X_2(1) = VWC_2
Units VWC_2 = %
Public Dest_VWC_2 As Float
Public VWC_s2 As String
Public T_20cm_s As String *7
Alias CS65X_2(3) = T_20cm
Units T_20cm = Deg C

'Sensor a 50 cm
Public CS65X_3(6)

Alias CS65X_3(1) = VWC_3
Units VWC_3 = %
Public Dest_VWC_3 As Float
Public VWC_s3 As String
Alias CS65X_3(3) = T_50cm
Public T_50cm_s As String *7
Units T_50cm = Deg C

'Publicacao Radiacao Solar
Public SlrKJ_2
Public SlrkW_2
Public Dest_Slrkj As Float
Public SlrKJ_s As String *7
Units SlrKJ_2=KJ/m^2   

'Publicacao Saida de Dados
Public Saida As String *7

'Publicacao dos espacos
Public Space1 As String *2
Public Space2 As String *2
Public Space3 As String *2
Public Space4 As String *2
Public Space5 As String *2
Public Space6 As String *2
Public Space7 As String *2
Public Space8 As String *2
Public Space9 As String *2
Public Space10 As String *2
Public Space11 As String *2
Public Space12 As String *2
Public Space13 As String *2
Public Space14 As String *2
Public Space15 As String *2
Public Space16 As String *2
Public Space17 As String *2
Public Space18 As String *2
Public Space19 As String *2
Public Space20 As String *2
Public Space21 As String *2
Public Space22 As String *2
Public Space23 As String *2
Public Space24 As String *2
Public Space25 As String *2
Public Space26 As String *2
Public Space27 As String *2

'*************************************************
DataTable(GOESENVIO_ABAETE,True,-1)
	DataInterval(0,1,Hr,10)
				 
'Variaveis para analise dos parametros do ID
  Sample (1,ID,String)
  Sample (1,Space1,String)
  	
'Variaveis para analise dos parametros da DATE
  Sample (1,Date,String)
  Sample (1,Space2,String)
 
'Variaveis para analise dos parametros da TIME 
  Sample (1,Time,String)
  Sample (1,Space3,String)
  
'Variaveis para analise dos parametros da BATERIA 
  Sample(1,BattV_s,String)
	Sample (1,Space4,String)
	
'Variaveis para analise dos parametros do sensor de TEMPERATURA INTERNA
	Sample (1,PTemp_C_s,String)
	Sample (1,Space5,String)
  
'Variaveis para analise dos parametros do sensor de UMIDADE INTERNA DA CAIXA
	Sample(1,enc_rh_s,String)
	Sample(1,Space6,String)
	
'Variaveis para analise dos parametros do pluviometro - CHUVA
	Sample(1,Rain_s,String)
	Sample(1,Space7,String)

'Variaveis para analise dos parametros de temperatura do ar
	Sample(1,AirTc_s,String)
	Sample (1,Space8,String)
	
  Sample(1,AirTc_Mx,String)
  Sample (1,Space9,String)
	
 	Sample(1,AirTC_Mm,String)
 	Sample (1,Space10,String)	
	
'Variaveis para analise dos parametros de temperatura do ar
	Sample(1,RH_s,String)
	Sample (1,Space11,String)
	
 	Sample(1,RH_Mx,String)
 	Sample (1,Space12,String)
	
	Sample(1,RH_Mn,String)	
	Sample (1,Space13,String)
	
'Variaveis para analise dos parametros de ponto de orvalho
	Sample(1,DewPt_s,String)
	Sample(1,Space14,String)
	
	Sample(1,DewPt_Mx,String)
	Sample(1,Space15,String)
	
 	Sample(1,DewPt_Mn,String)
 	Sample(1,Space16,String)
	
'Variaveis para analise dos parametros do sensor de pressao barometrica
	Sample(1,BP_mbar_s,String)	
	Sample(1,Space17,String)

'Variaveis para analise dos parametros do sensor de velocidade de direcao do vento ultrassonico
	Sample (1,WindSpeed_s,String) 
	Sample (1,Space18,String)
  
  Sample (1,Wind_Direction_s,String)
  Sample (1,Space19,String)
  
  Sample (1,Wind_Speed_Mx,String)
  Sample (1,Space20,String)
  
'Variaveis para analise dos parametros do sensor de temperatura do solo e Umidade do solo
'***************Temperatura do Solo***************'
'Temperatura para 05 cm
	Sample(1,T_05cm_s,String)
	Sample (1,Space21,String)
 
'Temperatura para 20 cm 
  Sample(1,T_20cm_s,String)
	Sample(1,Space22,String)
	
'Temperatura para 50 cm
  Sample(1,T_50cm_s,String)
  Sample(1,Space23,String)
	
''***************Umidade do Solo***************' 
  Sample(1,VWC_s,String)
  Sample(1,Space24,String)
  
  Sample(1,VWC_s2,String)
  Sample(1,Space25,String)
	
  Sample(1,VWC_s3,String)
  Sample(1,Space26,String)
	
'Variaveis para analise dos parametros do sensor de radicao global
  Sample(1,SlrKJ_s,String)
  Sample (1,Space27,String)
 
'Caracter de Saida
  Sample (1,Saida,String)
    
EndTable

'DataTable(teste,True,-1)
	'DataInterval(0,30,Sec,10)
				 
'Variaveis para analise dos parametros de temperatura do ar
	'Sample(1,AirTc_s,String)
	
  'Sample(1,AirTc_Mx,String)
 
 	'Sample(1,AirTC_Mm,String)
 	
	
'Variaveis para analise dos parametros de temperatura do ar
	'Sample(1,RH_s,String)
	
	
 	'Sample(1,RH_Mx,String)

	
	'Sample(1,RH_Mn,String)	

	
'EndTable
'*************************************************

BeginProg
		Scan(Scanrate,Sec,1,0)
      SerialOpen (Com4,9600,0,0,10000)

'**************************************************************************************           
    
'ID
    ID = "B042CCD2"	
      		  
'SAIDA
    Saida = "/////"
    
'Espaco
Space1 = " "
Space2 = " "
Space3 = " "
Space4 = " "
Space5 = " "
Space6 = " "
Space7 = " "
Space8 = " "
Space9 = " "
Space10 = " "
Space11 = " "
Space12 = " "
Space13 = " "
Space14 = " "
Space15 = " "
Space16 = " "
Space17 = " "
Space18 = " "
Space19 = " "
Space20 = " "
Space21 = " "
Space22 = " "
Space23 = " "
Space24 = " "
Space25 = " "
Space26 = " "
Space27 = " "

'**************************************************************************************     
'DATA E HORARIO			  			  
RealTime (rTime)
    Date = FormatLong(rTime(3),"%02d")&FormatLong(rTime(2),"%02d")&rTime(1)
    Time = FormatLong(rTime(4),"%02d")&FormatLong(rTime(5),"%02d")&FormatLong(rTime(6),"%02d")     

'TENSAO DA BATERIA
    Battery(BattV)
    AvgRun (Dest_BattV,1,BattV,240)
    BattV_s = FormatFloat(Dest_BattV,"%05.01f")
    
'TEMPERATURA INTERNA 
    PanelTemp(PTemp_C,_60Hz) 
    AvgRun (Dest_PTemp_C,1,PTemp_C,240)
    PTemp_C_s = FormatFloat(Dest_PTemp_C,"%05.01f")
    
'UMIDADE INTERNA DA CAIXA    
    VoltSe(Enc_RH,1,mV2500,9,1,0,_60Hz,0.1,0)
    If Enc_RH>100 AND Enc_RH<103 Then Enc_RH=100
    enc_rh_s = FormatFloat (Enc_RH,"%05.01f")
           
'CHUVA EM MM
    PulseCount(Rain,1,1,2,0,0.2,0)
    TotalRun (Dest_Rain,1,Rain,240)
    Rain_s = FormatFloat (Dest_Rain,"%05.01f")
   	  
'TEMPERATURA DO AR       
	  VoltSe(AirTc,1,mV2500,1,0,0,_60Hz,0.1,-40)
	  AirTc_s = FormatFloat (AirTc,"%04.01f")
	 		
    MaxRun (Dest_AirTc_Mx,1,AirTc,240)
    AirTc_Mx = FormatFloat (Dest_AirTc_Mx,"%04.01f")
    
    MinRun (Dest_AirTc_Mn,1,AirTc,240)
    AirTC_Mm = FormatFloat (Dest_AirTc_Mn,"%04.01f")
    
'UMIDADE DO AR
		VoltSe(RH,1,mV2500,2,0,0,_60Hz,0.1,0)
		  If RH>100 AND RH<103 Then RH=100     
		RH_s = FormatFloat (RH,"%05.01f")   
		   		      
    MaxRun (Dest_RH_Mx,1,RH,240)
    RH_Mx = FormatFloat (Dest_RH_Mx,"%05.01f")
    
    MinRun (Dest_RH_Mn,1,RH,240)
    RH_Mn = FormatFloat (Dest_RH_Mn,"%05.01f")
    
'PONTO DE ORVALHO
    DewPoint (DewPt,AirTc,RH)	
    DewPt_s = FormatFloat (DewPt,"%04.01f")
         
    MaxRun (Dest_DewPt_Mx,1,DewPt,240)
    DewPt_Mx = FormatFloat (Dest_DewPt_Mx,"%04.01f")
    
    MinRun (Dest_DewPt_Mn,1,DewPt,240)
    DewPt_Mn = FormatFloat (Dest_DewPt_Mn,"%04.01f")
     
'PRESSAO ATMOSFERICA
		SDI12Recorder(BP_mbar,1,"1","M!",1,0,-1)
		BP_mbar_s = FormatFloat (BP_mbar,"%06.01f") 
	
'DIRECAO E VELOCIDADE DO VENTO 
    SerialOut (Com4,"M0!"+ CHR(13)," ",0,100)
        SerialIn (Serial86000,Com4,10,CHR(13),200)
           SplitStr (RMY86000(),Serial86000," ",4,0)
    SerialFlush (Com4)
   
    Dest_Wind_Direction = RMY86000(3)
    'If Dest_Wind_Direction = NAN Then Dest_Wind_Direction = Dest_Wind_Direction_Med Descobrir como calcular
    Wind_Direction_s = FormatFloat (Dest_Wind_Direction,"%05.01f")	
      
    Dest_WindSpeed = RMY86000(2)
    If Dest_WindSpeed > 75 Then Dest_WindSpeed = NAN
    'If Dest_WindSpeed > 8,9 AND < 9,1 Then Dest_WindSpeed = NAN
    AvgRun (Dest_Wind_Speed_Medium,1,Dest_WindSpeed,4)
    If Dest_WindSpeed = NAN Then Dest_WindSpeed = Dest_Wind_Speed_Medium
    WindSpeed_s = FormatFloat (Dest_WindSpeed,"%05.01f")
    MaxRun (Dest_Wind_Speed_Mx,1,Dest_WindSpeed,240)
    Wind_Speed_Mx= FormatFloat (Dest_Wind_Speed_Mx,"%05.01f")
  
'TEMPERATURA E UMIDADE DO SOLO
    'Sensor para 05 cm
		SDI12Recorder(CS65X(),3,"1","M1!",1,0,-1)
		Dest_VWC = CS65X(1)
    VWC_s = FormatFloat (Dest_VWC,"%05.01f")
    T_05cm = CS65X(3)
	  T_05cm_s = FormatFloat (T_05cm,"%05.01f")   

		'Sensor para 20 cm
		SDI12Recorder(CS65X_2(),3,"2","M1!",1,0,-1)
		Dest_VWC_2 = CS65X_2(1)
		VWC_s2 = FormatFloat (Dest_VWC_2,"%05.01f")
	  T_20cm = CS65X_2(3)
	  T_20cm_s = FormatFloat (T_20cm,"%05.01f")   
		  		
		'Sensor para 50 cm
		SDI12Recorder(CS65X_3(),3,"3","M1!",1,0,-1)
		Dest_VWC_3 = CS65X_3(1)
		VWC_s3 = FormatFloat (Dest_VWC_3,"%05.01f")
		T_50cm = CS65X_3(3)
	  T_50cm_s = FormatFloat (T_50cm,"%05.01f")   
		 	
'RADIACAO SOLAR Atualizar para o CL200
		VoltDiff(SlrkW_2,1,mV7_5,3,True,0,_60Hz,1,0)
		If SlrkW_2<0 Then SlrkW_2=0
		'Transformando de MegaJoule para KiloJoule
		
    SlrkW_2 = (SlrkW_2*200)/1000
    SlrKJ_2 = (SlrkW_2*Scanrate)
		
    TotalRun (Dest_Slrkj,1,SlrKJ_2,240)
    SlrKJ_s = FormatFloat (Dest_Slrkj,"%06.01f")

		    	
'CARACTER DE SAIDA
Saida  = "//////"

'TABELA DE TRANSMISSAO
    CallTable GOESENVIO_ABAETE
    'CallTable teste
     If TimeIntoInterval (0,1,Hr) Then
      GOESData (ResultadoGoes,GOESENVIO_ABAETE,1,0,1)
     End If
     
    
  NextScan
     
  'SlowSequence
   'Scan(17,min,1,0)
     'SW12(0)
     'Delay(0,5,sec)
     'SW12(1)

  'NextScan
 
EndProg

 


aldirio.almeida Aug 10, 2019 02:40 AM

Analyzing the data, I realized that the wrong wind values do not exceed 359. Probably for some reason he is reading the direction as speed. But this only occurs a few times.

Log in or register to post/reply in the forum.