An Apps Script Project to send Wunderground, Windy, PWSWeather, Weathercloud, OpenWeatherMap, WindGuru, and/or CWOP

Hello friends!

I’d like to throw my own data forwarding project into the ring. I’ve been using it for a couple of years and it’s pretty battle-tested at this point.

This is open-source code built to be run on the free Google Apps Script platform. It automatically takes readings from the Tempest API and forwards them on to any services you choose, including CWOP. Take a look, and feedback welcome!


This is pretty amazing. Instructions were easy to follow and I was up and running and feeding pretty quickly. It saved me a bunch of time.

Thanks for sharing!

I tried “buying you a coffee” but apparently there’s an issue with that site or backend credentials or something.

1 Like

Hey thanks! And thanks for letting me know about the BuyMeACoffee thing. I’ll look into it.

Found your post - ran the script, worked well.

I’m just seeing this for the first time, this is great!

For my Tempest station what should the below look like to send it to CWOP ID DW6494?

const weatherflowPUT = ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’;
const weatherflowStationId = ‘xxxxx’;

const updateCWOP = false;
const cwopStationIDOrHamCallsign = ‘CW0001’;
const cwopValidationCode = null;

Create a new “Personal Use Token” for the weatherflowPUT, and the weatherflowStationID is 85004. :slight_smile:

I created a personal use token and have it in for for weatherflowPUT, looks like below now.

const weatherflowPUT = ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’;
const weatherflowStationId = ‘85004’;

What should the CWOP lines look like for ID DW6494? Below is what I have now.

const updateCWOP = false;
const cwopStationIDOrHamCallsign = ‘DW6494’;
const cwopValidationCode = null;

Change the updateCWOP “false” to “true” and run the “Schedule” function once with the ▷ Run button in the toolbar. You should be good to go.

Also consider generating another PUT and not publishing it publicly. Tokens like that should be treated like passwords :slight_smile:

Edit: Also, don’t forget to change the “datasource” on line 10 to “weatherflow”. More info in the setup instructions in the repository.

Thanks for the heads up about PUT, removed it.

Line 10 now looks like:
const datasource = ‘weatherflow’; // ‘ibm’ (wunderground), ‘acurite’ (myacurite), ‘davis’ (weatherlink), ‘weatherflow’ (tempestwx), or ‘ambient’ (ambient weather)

It is working, here is the link to my Tempest data on CWOP ! Thanks!!! I have been looking for a CWOP solution for a few years now, not sure how I missed this thread…

1 Like

Strangely, this thread did not get the attention that it deserves.

1 Like

No it did not, hopefully it does now. This is a easy solution to get your Tempest data on CWOP which so many of us want since as of yet WeatherFlow still has been unable to provide.

My Tempest device is currently over reporting rainfall quantum, have taken up the issue with the WeatherFlow support team to calibrate the haptic rain sensor. In the meantime, was wondering whether I can use this script to calibrate the rain data that I am currently forwarding to WU and figured out that you can.

If someone wants to calibrate the data forwarded to external sites like WU, PWSWeather, Windy, etc., you can do so by applying a correction to the reported values.

Set this up a couple of weeks ago. Works like a charm. Thanks!


WeatherFlow is not going to give us that ability as they already send our data to CWOP. Allowing us to do so duplicates the data which is detrimental to the CWOP.

1 Like

WeatherFlow […] already send our data to CWOP.

Are you sure about this? This is the first I’ve heard this claim.

1 Like

Very interesting. I wonder then why these stations don’t show up in the various CWOP viewers such as FindU or

I would think that the reason they don’t show up in or APRS/CWOP weather – – live APRS map is because they are not CWOP reports. The implication is that they are part of a Mesonet network that is used for NWS (and other) purposes. Ultimately, I think that datasets that NWS uses are available for viewing at NOAA MADIS Surface Observations . I do not see the “National Mesonet Program” or “Synoptic Data” or anythng similar as available datasets, and, if my report is being handled as described, I would expect to be able to find it on the MADIS plot, which I do not … even with all datasets selected.

Note that the MADIS dataset that contains CWOP reports is called APRSWXNET.

At least at the WFO level, we do not see Tempest data. Nor do I see it in the Synoptic Data Viewer ( So as far as I can tell, the data is not making it into MADIS without users sending it to CWOP.

I’ve had your script set up for a few weeks now, and it’s been working like a charm for PWS weather. However, I cannot see any data on FindU. Do you see any issues with the packet is sending to the aprs server?