Weather.gov is owned by the National Weather Service (NWS). Weather.gov and associated applications are frequently in the Top-10 list of most-visited federal websites with 1.5 billion visits per year. They are a major source of life and property-saving weather/water/climate information for the public and partners. Often they are the only source for on-demand, detailed weather/water/climate information from 122 Weather Forecast Offices.
The fundamental problem that we’ve observed is that weather.gov reflects its organizational silos (Conway's Law) more than its users’ needs. A lack of overall strategy, feedback/monitoring, and tools have perpetuated this problem.
This has led to a disorganized repository of valuable information that external users struggle to use and internal users struggle to manage.
We will know that we are progressing forward on this problem if people find the information faster, understand it better, continue to see NWS as the authoritative source, and maintain that progress.
Anyone can understand the impact of impending weather, especially when it comes to making decisions to save life and property – every word and every minute matters.
Rebuild weather.gov to reflect the integrity and care NWS has for the people they serve.
Weather.gov 2.0 will only succeed if everyone with NWS sees the site reflect their values, much like the agency. Because the mission and culture at NWS is built around serving, preparing, and protecting people, the site must do the same.
-
By the end of Sept 2025:
- The new weather.gov is “experimental” to NWS standards and ready for public release
- Partner needs are being met (county, state, regional, national) through automated content
- A governance policy for content and tools exists
- Model for 24x7 support is defined and tested
- Acquisition for longer-term support is completed
- A strategy for complementary sites (tools and centers) exists
- Feature and user experience development continues
-
By the end of Sept 2026:
- The new weather.gov is “operational” to NWS standards and ready for public and partner usage
- Majority of public, partner, and other user needs are met
- The site is supported 24x7
- All WFOs and Forecasters are trained and onboarded
- A governance policy for content and tools is implemented
- Long-term support is established, transition is ongoing
- ATO has been attained
- Feature and user experience development continues
This project is in the worldwide public domain. As stated in CONTRIBUTING:
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.
Type: Traditional CMS (aka Legacy, United, Headful :laugh:) Stack: Docker Drupal Image (Apache, PHP, Composer, MariaDB) Languages and frameworks: PHP, Symfony, Twig
*.weather.gov sites are covered by the Department of Commerce Vulnerability Disclosure Policy. If you would like to disclose a vulnerability with our Beta site or any of the testing sites, there are two options:
- Use the DOC VDP Portal to submit your vulnerability
- Report a new vulnerability as a Github security advisory
Docker does all the heavy lifting for set up and configurations. It's a cinch to get up and running. Make sure you have Docker installed locally.
- Clone this repository into a new directory and
cd
into it. - Run
docker compose up
from the command line. Alternatively, install the Docker plugin in VSCode, then right click on the docker-compose.yml and select Compose Up. - Install our site configuration by running
make install-site
. - Browse to http://localhost:8080 in your broswer. You should see a 404 page because we haven't defined any content. That's okay.
- Browse to http://localhost:8080/user/login
to log in. Your username is
admin
and your password isroot
. Then you can do stuff!
We bind-mount the themes folder so we can test adding a new theme. So changes made in the themes folder are reflected in the host folder.
- Navigate to the Drupal Appearance page
http://localhost:8080/admin/appearance
- Notice the Hello World theme already there.
- To create a new theme, run the following commands:
make shell
to get a shell in the containercd web
to get to the Drupal root folderphp core/scripts/drupal generate-theme new_weather_theme
[!WARNING]
Make sure your new theme has underscores (_) as a delimiter. Dashes and spaces WILL NOT WORK.exit
to leave the container
- Refresh the Appearance page and notice new_weather_theme is now installed.
- Change title of the theme in
themes/new_weather_theme/new_weather_theme.info.yml
file to a reader-friendly one, such asNew Weather
.
That's it! Now when you make changes to theme files, they will sync to the
Docker instance. Whenever you make a change to a .twig template, make sure
to rebuild the cache using the make clear-cache
command.
When a new version of Drupal core is available, use Composer to intall the latest updates. See Updating core docs.
Run composer show drupal/core-recommended
to see the latest Drupal core version. Then run:
composer update "drupal/core-*" --with-all-dependencies
This will update the required projects: drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message
The update the db using drush
make shell
drush updatedb
drush cache:rebuild
- Push the changed composer.json and composer.lock files to production.
- run
composer install --no-dev
on production, rather than composer update. - run
drush updatedb
or visit update.php