How to set up Global Variables?

I want to set up a script that runs before every one of my automations that updates (custom) seasons and weather, as I want some of my automations to be customized to what that is. For that though, I need Global Variables so my automatons can access that data from anywhere at any time.

Is there a way I can set it up so that information can be accessed any time outside of its respective script/automation?

Generally, that’s what Helpers are for. There are many types of helpers for different needs and uses.

One of the most flexible and powerful tools in HA is Templating which can be used to define dynamic entities, passing variables to and from scripts, and creating macros. They can also be used as triggers and conditions in automations and scripts.

What you have described seems like it might be best covered by a Template Sensor, but there may be non-template options. If you can provide more specific description of what you are trying to accomplish, we can probably help you get what you need.

Note that there is nothing wrong with getting weather information using an action in multiple automations because the informtion is cached anyway.

If you do copy the complete weather data to (attributes of) entities then remember that these get recorded by default. So your recorder database might grow a lot from storing all changes to the weather forecasts. If you run Home Assistant from an SD card you’ll also suffer extra wear, causing it to fail earlier.

If you want to avoid code duplication you might want to consider using scripts.