Hi Graham, If I use '=' instead of '==' then weewx throws an error and exits:
2025-01-16T10:28:04.198797+00:00 weewx5 python3[2361]: File "StdCalibrate", line 1 2025-01-16T10:28:04.198850+00:00 weewx5 python3[2361]: windSpeed * 1.15 if winDir is not None else windSpeed = 20 2025-01-16T10:28:04.198911+00:00 weewx5 python3[2361]: ^ 2025-01-16T10:28:04.198978+00:00 weewx5 python3[2361]: SyntaxError: invalid syntax 2025-01-16T10:28:04.199068+00:00 weewx5 weewxd[2361]: CRITICAL __main__: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-01-16T10:28:04.199130+00:00 weewx5 weewxd[2361]: CRITICAL __main__: **** File "StdCalibrate", line 1 2025-01-16T10:28:04.199179+00:00 weewx5 weewxd[2361]: CRITICAL __main__: **** windSpeed * 1.15 if winDir is not None else windSpeed = 20 2025-01-16T10:28:04.199230+00:00 weewx5 weewxd[2361]: CRITICAL __main__: **** ^ 2025-01-16T10:28:04.199314+00:00 weewx5 weewxd[2361]: CRITICAL __main__: **** SyntaxError: invalid syntax 2025-01-16T10:28:04.199402+00:00 weewx5 weewxd[2361]: CRITICAL __main__: **** Exiting. On Thursday, January 16, 2025 at 10:10:20 AM UTC Graham Eddy wrote: > python syntax: should be = not == in the ‘else’s > > semantics: presumably testing as they make no sense > *⊣GE⊢* > > On 16 Jan 2025, at 8:00 pm, 'Rory Gillies' via weewx-user < > weewx...@googlegroups.com> wrote: > > Thanks Michael, > > Based on the values being calculated in order (as it says in the docs) I > tried the following which didn't work (although no errors when starting > WeeWX): > > [StdCalibrate] > [[Corrections]] > > windSpeed = 20 if windSpeed == 0 else windSpeed == windSpeed * 1.15 > windGust = windSpeed + 10 if windGust == 0 else windGust == windGust * > 1.15 > windDir = windDir if windDir is not None else windDir == 220 > > So I reversed it based on windDir being null which didn't work either: > > windSpeed = windSpeed * 1.15 if winDir is not None else windSpeed == 20 > windGust = windGust * 1.15 if windDir is not None else windGust == > windSpeed + 10 > windDir = windDir if windDir is not None else windDir == 220 > > This is the overnight plot, you can see it went off completely for a > couple of hours after 04:00. I was working on it around between 22:00 and > 00:00 when it started to drop. > > <Screenshot 2025-01-16 at 08.51.41.png> > Also, I noticed a strange effect with the force_null setting, if I set it > to True windDir appears to stay at the last known direction, if I set it as > False windDir moves to north, I thought this was supposed to work the other > way round? > > Thanks, > > Rory > > On Wednesday, January 15, 2025 at 6:09:54 PM UTC michael.k...@gmx.at > wrote: > >> >> For your specific case I'd just kick zero wind loop packets out: >> >> windSpeed = None if windSpeed == 0 else windSpeed, loop >> >> The windDir should be "None" if windSpeed is zero anyway, but to be sure: >> >> windDir = None if windSpeed == 0 else windDir, loop >> >> >> michael.k...@gmx.at schrieb am Mittwoch, 15. Januar 2025 um 18:48:53 >> UTC+1: >> >>> See: >>> https://weewx.com/docs/5.1/reference/weewx-options/stdcalibrate/?h=stdcalibrate#corrections >>> >>> michael.k...@gmx.at schrieb am Mittwoch, 15. Januar 2025 um 18:47:38 >>> UTC+1: >>> >>>> Yes it is. I have a station with two Anemometers and I mix them in the >>>> way, that always the higher windSpeed/windGust will be used, if both are >>>> there, or the one that's there. Anemometers freeze or sometime I have >>>> Signal strength issues. I always take the direction of a specific one (an >>>> ultrasonic with heating, that won't freeze), except it isn't there. It's >>>> quite a brainf*ck, but it works. Some other Corrections are also done: >>>> >>>> [StdCalibrate] >>>> >>>> [[Corrections]] >>>> >>>> radiation = luminosity/126.7 if luminosity is not None else >>>> None #gw1000 fix >>>> lightning_distance = lightning_distance if >>>> lightning_strike_count > 0 else None >>>> windSpeed = ws90_windSpeed if 'windSpeed' not in locals() else >>>> windSpeed if 'ws90_windSpeed' not in locals() else ws90_windSpeed if >>>> ws90_windSpeed > windSpeed else windSpeed >>>> windGust = ws90_windGust if 'windGust' not in locals() else >>>> windGust if 'ws90_windGust' not in locals() else ws90_windGust if >>>> ws90_windGust > windGust else windGust >>>> windDir = ws90_windDir if 'ws90_windDir' in locals() and >>>> ws90_windDir is not None else windDir >>>> >>>> >>>> >>>> Rory Gillies schrieb am Mittwoch, 15. Januar 2025 um 17:53:42 UTC+1: >>>> >>>>> I know I could just try this but interested to hear if it would work, >>>>> or if I have any other options. WeeWX 5.1. >>>>> >>>>> Is it possible to use logic in StdCalibrate in weewx.con? Something >>>>> like this: >>>>> >>>>> [StdCalibrate] >>>>> if windSpeed == 0 windspeed = windspeed + 15 >>>>> if windDir == NULL windDir = windDir + 235 >>>>> >>>>> The reason is I have a dying anemometer and it's going to take a >>>>> couple of weeks to get a replacement installed (it's on my chimney 8m >>>>> above >>>>> the ground). When the wind blows from SSW to WSW above 20mph it sometimes >>>>> drops to zero every few loop packets (other times it is perfect). >>>>> >>>>> [image: Screenshot 2025-01-15 at 16.49.12.png] >>>>> >>>>> I know the observations will be technically incorrect but better than >>>>> no wind at all! >>>>> >>>>> > -- > You received this message because you are subscribed to the Google Groups > "weewx-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to weewx-user+...@googlegroups.com. > To view this discussion visit > https://groups.google.com/d/msgid/weewx-user/cd6cbe95-9bb7-42f5-8e40-b17937659d3an%40googlegroups.com > > <https://groups.google.com/d/msgid/weewx-user/cd6cbe95-9bb7-42f5-8e40-b17937659d3an%40googlegroups.com?utm_medium=email&utm_source=footer> > . > <Screenshot 2025-01-16 at 08.51.41.png> > > > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/weewx-user/82c09de1-d80d-4ed2-8412-531adcf00c0cn%40googlegroups.com.