Let us know
Getting precipitation spectrum on disdrometer

This topic will cover programming method to read raw data of precipitation spectrum from a disdrometer: https://www.ott.com/en-us/products/meteorological-sensors-26/ott-parsivel2-laser-weather-sensor-2392/.

Precipitation spectrum is useful to classify the type of precipitation based on the size of the droplet (diameter equivalent) and its velocity. Each properties of droplet (size and velocity) contain 32 classes which mean the entire spectrum comprises 1024 data values.

Also within this instruction, I perform parsing loop to simplify parsing sequence due to the limit of 1000 dataTaker channel table. However this method of simplification will be saved as alarm (text), since we can't grab it as data (number) due to inability of creating dynamic label for each value.

This program will need some adjustment on Parsivel output comprising measurement number (refer to page 31 of Parsivel's user manual):

  • 01 (rain intensity)
  • 02 (rain amount)
  • 03 (weather code according to SYNOP)
  • 07 (Radar reflectivity)
  • 08 (MOR visibility)
  • 11 (number of detected particles)
  • 93 (raw value of precipitation spectrum)

dataTaker program would be:

BEGIN"Spectrum"
PROFILE SERSEN_PORT BPS=19200
PROFILE SERSEN_PORT MODE=RS485
1SERIAL("\e")

RA(DATA:5MB)5M LOGONA
1SERIAL("\e{CS/R^M^J}\\w[500]%f[11CV];%f[12CV];%d[13CV];%f[14CV];%d[15CV];%d[16CV];",W)
11CV("Rain Intensity~mm/h")
12CV("Rain Amount~mm")
13CV("SYNOP")
14CV("Reflectivity~dBz")
15CV("MOR~m")
16CV("Particles")
2ST(=21CV,W)
22CV(W)=21CV%15
IF(22CV!=0){1SERIAL("\\w[5000]\\e")}
IF(22CV==0){1CV=1 2CV=0 H GB}

RB(ALARMS:30MB) HB LOGONB
1SERIAL("%d[16CV];",W)
2CV(W)=2CV+1
IF(2CV==32)AND IF(1CV==32){G HB}
1..2CV(NL)
IF1(16CV>1)"DC?1F0-SC?2F0=?16F0"
IF(16CV>1){XC}
IF(2CV==32){2CV=0 1CV=1CV+1}
END

Best regards,
Rudy Gunawan

This topic will cover programming method to read raw data of precipitation spectrum from a disdrometer: https://www.ott.com/en-us/products/meteorological-sensors-26/ott-parsivel2-laser-weather-sensor-2392/. Precipitation spectrum is useful to classify the type of precipitation based on the size of the droplet (diameter equivalent) and its velocity. Each properties of droplet (size and velocity) contain 32 classes which mean the entire spectrum comprises 1024 data values. Also within this instruction, I perform parsing loop to simplify parsing sequence due to the limit of 1000 dataTaker channel table. However this method of simplification will be saved as alarm (text), since we can't grab it as data (number) due to inability of creating dynamic label for each value. This program will need some adjustment on Parsivel output comprising measurement number (refer to page 31 of Parsivel's user manual): - 01 (rain intensity) - 02 (rain amount) - 03 (weather code according to SYNOP) - 07 (Radar reflectivity) - 08 (MOR visibility) - 11 (number of detected particles) - 93 (raw value of precipitation spectrum) dataTaker program would be: ```` BEGIN"Spectrum" PROFILE SERSEN_PORT BPS=19200 PROFILE SERSEN_PORT MODE=RS485 1SERIAL("\e") RA(DATA:5MB)5M LOGONA 1SERIAL("\e{CS/R^M^J}\\w[500]%f[11CV];%f[12CV];%d[13CV];%f[14CV];%d[15CV];%d[16CV];",W) 11CV("Rain Intensity~mm/h") 12CV("Rain Amount~mm") 13CV("SYNOP") 14CV("Reflectivity~dBz") 15CV("MOR~m") 16CV("Particles") 2ST(=21CV,W) 22CV(W)=21CV%15 IF(22CV!=0){1SERIAL("\\w[5000]\\e")} IF(22CV==0){1CV=1 2CV=0 H GB} RB(ALARMS:30MB) HB LOGONB 1SERIAL("%d[16CV];",W) 2CV(W)=2CV+1 IF(2CV==32)AND IF(1CV==32){G HB} 1..2CV(NL) IF1(16CV>1)"DC?1F0-SC?2F0=?16F0" IF(16CV>1){XC} IF(2CV==32){2CV=0 1CV=1CV+1} END ```` Best regards, Rudy Gunawan
44
0
1
live preview
enter atleast 10 characters
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
With selected deselect posts show selected posts
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft