How to send (simple) data from GATT client to server?
If there is no public service for weather data, then create a private (custom) service.  That's the canonical approach.  That's why BLE has got private services.

[ I'm in a similar predicament as the O.P.  I'm adding BLE to an industrial pump.  Obviously, there is no public service defined for a pump. ]