MSC AniMet
A simple tool enabling users to interact with MSC Open Data weather data and create custom weather animations for any area in the world.
https://github.com/eccc-msc/msc-animet
Category: Atmosphere
Sub Category: Meteorological Observation and Forecast
Keywords
animation canada data visualization weather wms
Last synced: about 19 hours ago
JSON representation
Repository metadata
MSC AniMet is a simple tool enabling users to interact with MSC Open Data weather data and create custom weather animations for any area in the world. The resulting animations can be downloaded and shared with a permalink.
- Host: GitHub
- URL: https://github.com/eccc-msc/msc-animet
- Owner: ECCC-MSC
- License: other
- Created: 2022-06-09T15:31:53.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-17T18:26:40.000Z (10 days ago)
- Last Synced: 2025-04-21T10:05:09.094Z (6 days ago)
- Topics: animation, canada, data, visualization, weather, wms
- Language: JavaScript
- Homepage: https://eccc-msc.github.io/msc-animet/
- Size: 11 MB
- Stars: 17
- Watchers: 9
- Forks: 8
- Open Issues: 0
- Releases: 19
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Security: SECURITY.md
README.md
MSC AniMet
Overview
MSC AniMet is a simple tool enabling users to interact with MSC Open Data weather data and create custom weather animations for any area in the world. The resulting animations can be downloaded and shared with a permalink.
MSC AniMet can be used to showcase a diversity of weather events such as storms, heat waves, hurricane trajectories, air quality events, extreme wind gusts, and much more.
In its current incarnation, MSC AniMet provides access to GeoMet-Weather layers.
A publically available version can be found at https://eccc-msc.github.io/msc-animet/ and the associated documentation is available via the Meteorological Service of Canada open data documentation.
Installation
Requirements
- Node.js
Dependencies
Dependencies are listed in package.json. Dependencies
are automatically installed during MSC AniMet
installation.
Installing msc-animet
# clone codebase and install
git clone https://github.com/ECCC-MSC/msc-animet.git
cd msc-animet
npm i
Running
npm run dev
Server will be located at http://localhost:3000/msc-animet/
Note: The path will be different if you changed the BASE_URL in the .env file
Building for deployment
npm run build
Development
Bugs, enhancements and issues may be posted on GitHub, but most are managed internally.
Updating GeoMet-Weather layer tree names
A static list of layer names and titles is generated for ease of translation and reference without needing to make a large request for the global WMS GetCapabilities document on application load. A Python script is used to update the /src/locales/{lang}/layers
and the /src/assets/trees/tree
json files for GeoMet Weather and GeoMet Climate. To update the layer name files, do the following (instructions for Linux):
# Set directory name of your Python virtual environment
PYTHON_VENV=generate-tree-venv
# Create Python virtual environment
python3 -m venv --system-site-packages $PYTHON_VENV
# Activate virtual env
. $PYTHON_VENV/bin/activate
# Install deps
pip install owslib
# Update layers_en|fr.json
cd ./scripts
python3 generate_trees_layers_list.py
Adding custom WMS sources
If you'd like to have your own instance of AniMet with more/other WMS sources for the layer tree, it's also possible, although for it to work they need to comply with the OpenGIS Web Map Service (WMS) Implementation Specification. The steps are as follows:
First, on the AniMet GitHub page, make yourself a Fork. Once that's done, inside a terminal(commands shown are for a linux terminal), we will do the usual installation steps, except we'll be using your newly created fork instead, so:
git clone https://github.com/YOUR_USERNAME/msc-animet.git
cd msc-animet
npm i
git remote add upstream https://github.com/ECCC-MSC/msc-animet.git
Afterwards, we'll be changing the configuration file to specify which WMS sources we wish to have. That file is located inside scripts/wms_sources_configs.py
and this is where we'll be adding our new sources. This process is quite simple; you simple give it a name, the url to the wms, the version and display to True
, which would look like:
wms_sources = {
"Weather": {
"url": "https://geo.weather.gc.ca/geomet",
"version": "1.3.0"
"display": True,
},
"Climate": {
"url": "https://geo.weather.gc.ca/geomet-climate",
"version": "1.3.0"
"display": True,
},
"NOAA-Nowcoast": {
"url": "https://nowcoast.noaa.gov/geoserver/ows",
"version": "1.3.0",
"query_pattern": "https://nowcoast.noaa.gov/geoserver{LAYER}/ows",
"no_translations": True,
"display": True,
},
}
Optionally:
- Set
no_translations
toTrue
if you don't have french/english versions of these names inside bothcommon.json
files. - Also, if the source you are adding contains a specific pattern to query layers individually, set the
query_pattern
parameter
with{LAYER}
so the app knows how to make such queries.
Once that's done and you've saved the file, inside the terminal, all we have left to do is to run the script to update the layer tree and run the application, it's that easy!
Owner metadata
- Name: Meteorological Service of Canada
- Login: ECCC-MSC
- Email:
- Kind: organization
- Description:
- Website: https://www.ec.gc.ca/meteo-weather
- Location: Canada
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/18532679?v=4
- Repositories: 12
- Last ynced at: 2023-03-01T04:15:20.833Z
- Profile URL: https://github.com/ECCC-MSC
GitHub Events
Total
- Release event: 1
- Watch event: 1
- Delete event: 3
- Issue comment event: 1
- Push event: 46
- Pull request event: 55
- Fork event: 1
- Create event: 3
Last Year
- Release event: 1
- Watch event: 1
- Delete event: 3
- Issue comment event: 1
- Push event: 46
- Pull request event: 55
- Fork event: 1
- Create event: 3
Committers metadata
Last synced: 4 days ago
Total Commits: 196
Total Committers: 11
Avg Commits per committer: 17.818
Development Distribution Score (DDS): 0.684
Commits in past year: 91
Committers in past year: 7
Avg Commits per committer in past year: 13.0
Development Distribution Score (DDS) in past year: 0.67
Name | Commits | |
---|---|---|
Philippe Theroux | t****p@g****a | 62 |
Philippe Theroux | t****p@g****a | 27 |
Kevin Ngai | k****i@c****a | 22 |
Philippe Theroux | a****h@g****a | 20 |
Kevin Ngai | n****k@g****a | 20 |
Kevin Ngai | a****n@g****a | 12 |
Philippe Theroux | a****h@g****a | 10 |
Etienne Pelletier | e****r@c****a | 8 |
Geomet user for nightly docker builds | g****y@g****a | 8 |
Kevin Ngai | a****n@g****a | 6 |
Samanta-Alondra Emes-Lapointe | e****s@g****a | 1 |
Committer domains:
- geomet-dev-22.cmc.ec.gc.ca: 3
- geomet-dev-11.cmc.ec.gc.ca: 2
- geomet-dev-21.cmc.ec.gc.ca: 2
- canada.ca: 2
- geomet-dev-31.edc-mtl.ec.gc.ca: 2
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 1
Total pull requests: 134
Average time to close issues: 3 months
Average time to close pull requests: about 13 hours
Total issue authors: 1
Total pull request authors: 4
Average comments per issue: 5.0
Average comments per pull request: 0.03
Merged pull request: 134
Bot issues: 0
Bot pull requests: 0
Past year issues: 0
Past year pull requests: 62
Past year average time to close issues: N/A
Past year average time to close pull requests: about 15 hours
Past year issue authors: 0
Past year pull request authors: 4
Past year average comments per issue: 0
Past year average comments per pull request: 0.05
Past year merged pull request: 62
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- yraheja77 (1)
Top Pull Request Authors
- PhilippeTh (124)
- Dukestep (5)
- kngai (4)
- saemeslapointe (1)
Top Issue Labels
Top Pull Request Labels
- enhancement (1)
Dependencies
- develop-stage latest build
- nginx 1.23.3-alpine build
- node 18-slim build
- eccc-msc/msc-animet nightly
- 936 dependencies
- @mdi/font ^7.1.96 development
- @mdi/js ^7.1.96 development
- @vue/cli-plugin-babel ~5.0.8 development
- @vue/cli-service ~5.0.8 development
- babel-eslint ^10.1.0 development
- eslint ^6.7.2 development
- eslint-plugin-vue ^6.2.2 development
- node-polyfill-webpack-plugin ^2.0.1 development
- sass ~1.32.6 development
- sass-loader ^8.0.2 development
- vue-cli-plugin-vuetify ~2.5.8 development
- vue-template-compiler ^2.6.11 development
- vuetify-loader ^1.3.0 development
- axios ^0.26.0
- canvas-txt ^3.0.0
- core-js ^3.6.5
- debounce ^1.2.1
- h264-mp4-encoder ^1.0.12
- luxon ^2.5.2
- ol ^6.13.0
- saxon-js ^2.5.0
- vue ^2.6.11
- vue-i18n ^8.18.2
- vue-router ^3.3.4
- vuetify ^2.6.14
- vuex ^3.4.0
Score: 5.231108616854587