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.

Strange total radiation Table value input


JPRodrigues Jun 26, 2018 02:07 PM

Hi

I have some dataloggers with LP02 (and other sensors!!) in the field.

It was brought to my attention that the MJ per sqr meter that i have in my hourly table is affected by a factor of 10.

I revised my code (that i post here) and i cant find any kind of error.

Can you help me to understand what is the problem.

'Wind - Windsonic

Const MultVVento = 1.079 'calib Ago 2017
Const OffsetVVento = 0
'-----------------------------------------------
'Radiation - LP02
Const MultRS = 49.24941 'calib Set 2016
Const OffsetRS = 0
'-----------------------------------------------
'Precipitation - Young
Const MultPrec = 0.118 ' Calib Abr 2017
'-----------------------------------------------
'-----------------------------------------------
'Variaveis
Public Batt_Volt
Public T_Solo
Public RS
Public RS_kJ
Public RS_MJ
Public LW_kOhm
Public Temp
Public HRel
Public Prec
Public POrv
'Sensor de vento
Public StringVento As String * 200
Public ArrayVento(8) As Float
Public DVento
Public VVento
'-----------------------------------------------
Units Batt_Volt=Volts
Units T_Solo=Deg C
Units RS=W/m²
Units RS_kJ=kJ/m²
Units LW_kOhm=kOhms
Units Temp=oC
Units HRel=%
Units VVento=ms
Units DVento=oN
Units POrv=oC
'-----------------------------------------------
'Tabelas
DataTable(Dados10m,True,-1)
DataInterval(0,10,Min,10)
Average(1,Temp,FP2,False)
Average(1,HRel,FP2,False)
Average(1,POrv,FP2,False)
Average(1,T_Solo,FP2,False)
WindVector (1,VVento,DVento,FP2,VVento="",0,0,1)
FieldNames("VVentoMed,DVentoMed")
Totalize(1,Prec,FP2,False)
Average(1,RS,IEEE4,False)
EndTable
'-----------------------------------------------
DataTable(Dados60m,True,-1)
DataInterval(0,60,Min,10)
Average(1,Temp,FP2,False)
Average(1,HRel,FP2,False)
Average(1,POrv,FP2,False)
Average(1,T_Solo,FP2,False)
WindVector (1,VVento,DVento,FP2,VVento="",0,0,1)
FieldNames("VVentoMed,DVentoMed")
Totalize(1,Prec,FP2,False)
Average(1,RS,IEEE4,False)
Totalize(1,RS_MJ,IEEE4,False)
ETsz (Temp,HRel,VVento,RS_MJ,-7.0337,41.2334,500,10,0,IEEE4,False)
Histogram (LW_kOhm,FP2,False,2,000,1,0,440)
EndTable
'-----------------------------------------------
DataTable(Dados24h,True,-1)
DataInterval(0,1440,Min,10)
Minimum(1,Batt_Volt,FP2,False,False)
Maximum(1,Temp,FP2,False,False)
Minimum(1,Temp,FP2,False,False)
Maximum(1,HRel,FP2,False,False)
Minimum(1,HRel,FP2,False,False)
Maximum(1,POrv,FP2,False,False)
Minimum(1,POrv,FP2,False,False)
Maximum(1,T_Solo,FP2,False,False)
Minimum(1,T_Solo,FP2,False,False)
Maximum(1,VVento,FP2,False,False)
Totalize(1,Prec,FP2,False)
Maximum(1,RS,IEEE4,False,False)
Totalize(1,RS_MJ,IEEE4,False)
Histogram (LW_kOhm,FP2,False,2,000,1,0,440)
EndTable
'-----------------------------------------------
'-----------------------------------------------
BeginProg
Scan(10,Sec,1,0)
SW12 (1 )
Battery(Batt_Volt)
SequentialMode()
'-----------------------------------------------
'Precipitation RM Young
PulseCount (Prec,1,1 ,2,0,MultPrec,0)
'Soil temperature -  PT100
BrHalf3W(T_Solo,1,mV25,1,1,1,2100,True,0,250,100,0)
PRT(T_Solo,1,T_Solo,1.0,0.0)
'------------------------------------------------
'Solar Radiation LP02
VoltSe(RS,1,mV250,3,True,0,250,1,0)
RS = MultRS*RS + OffsetRS

If RS<=OffsetRS Then RS=0 ' alteracao feita a 16 de Janeiro de 2013
RS_kJ= RS * 10/1000  'multiplyed by 10s (scan rate) - value in Joule - and divided by 1000 for KJ
RS_MJ=RS_kJ/1000    ' kJ value divided by 1000 for MJ


'-----------------------------------------------
'Humectacao - 237
BrHalf(LW_kOhm,1,mV250,4,Vx1,1,250,True,0,250,1,0)
LW_kOhm=1/LW_kOhm-101
'-----------------------------------------------
'AmbientTemperature and Humidity -  HMP45
VoltSe(Temp,1,mV2500,5,True,0,250,0.1,-40)
VoltSe(HRel,1,mV2500,6,True,0,250,0.1,0)
If HRel>100 Then HRel = 100
'-----------------------------------------------
'Calculo ponto de orvalho
DewPoint (POrv,Temp,HRel)
'-----------------------------------------------
'Vento Gill WindSonic 2-D:
'Leitura do sensor de vento serie
SerialOpen (Com1,9600,0,0,10000)
SerialOut (Com1,"?Q","",1,100)
SerialIn (StringVento,Com1,200,3,60)
SerialFlush (Com1)
SerialClose(Com1)
SplitStr (ArrayVento(),StringVento,",",8,5)
'Filtro para o Vento
If ArrayVento(5)<> 0
VVento=""
DVento=""
Else
If (ArrayVento(3)>=0 AND ArrayVento(3)<=60) Then
VVento=ArrayVento(3)
VVento=VVento*MultVVento + OffSetVVento
EndIf
If ArrayVento(2)>=0 AND ArrayVento(2)<360 Then
DVento=ArrayVento(2)
EndIf
EndIf
'-----------------------------------------------
'Call Data Tables and Store Data
CallTable(Dados10m)
CallTable(Dados60m)
CallTable(Dados24h)
NextScan
EndProg

Best Regards


nsw Jun 29, 2018 02:47 PM

Quickly checked your program and there does not seem to be anything wrong.

Just to check, is the cal factor for the LP02  : 49.24941 microV / Wm-2?

If this is the cal factor, this needs to be converted as follows for the multiplier : 1000/49.24941

As you are calculating kJ as well, why not totalise that as well in the output table, to see if this gives a sensible value?

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