foehn 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- foehn-0.1.0/.github/workflows/ci.yml +31 -0
- foehn-0.1.0/.github/workflows/publish.yml +34 -0
- foehn-0.1.0/.gitignore +30 -0
- foehn-0.1.0/LICENSE +21 -0
- foehn-0.1.0/PKG-INFO +204 -0
- foehn-0.1.0/README.md +169 -0
- foehn-0.1.0/assets/banner.svg +19 -0
- foehn-0.1.0/databricks.yml +179 -0
- foehn-0.1.0/pyproject.toml +73 -0
- foehn-0.1.0/scripts/ingest_delta.py +68 -0
- foehn-0.1.0/src/foehn/__init__.py +3 -0
- foehn-0.1.0/src/foehn/cli.py +148 -0
- foehn-0.1.0/src/foehn/collections.py +150 -0
- foehn-0.1.0/src/foehn/convert.py +116 -0
- foehn-0.1.0/src/foehn/download.py +319 -0
- foehn-0.1.0/src/foehn/py.typed +0 -0
- foehn-0.1.0/src/foehn/stac.py +62 -0
- foehn-0.1.0/tests/conftest.py +5 -0
- foehn-0.1.0/tests/fixtures/climate_normals_sample.txt +11 -0
- foehn-0.1.0/tests/fixtures/smn_sample.csv +4 -0
- foehn-0.1.0/tests/test_cli.py +130 -0
- foehn-0.1.0/tests/test_collections.py +34 -0
- foehn-0.1.0/tests/test_convert.py +93 -0
- foehn-0.1.0/tests/test_download.py +319 -0
- foehn-0.1.0/tests/test_stac.py +105 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
lint:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
- uses: actions/setup-python@v5
|
|
14
|
+
with:
|
|
15
|
+
python-version: "3.12"
|
|
16
|
+
- run: pip install ruff
|
|
17
|
+
- run: ruff check src/
|
|
18
|
+
- run: ruff format --check src/
|
|
19
|
+
|
|
20
|
+
test:
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
strategy:
|
|
23
|
+
matrix:
|
|
24
|
+
python-version: ["3.10", "3.11", "3.12"]
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v4
|
|
27
|
+
- uses: actions/setup-python@v5
|
|
28
|
+
with:
|
|
29
|
+
python-version: ${{ matrix.python-version }}
|
|
30
|
+
- run: pip install -e ".[dev]"
|
|
31
|
+
- run: pytest --cov=foehn --cov-report=term-missing
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v4
|
|
12
|
+
- uses: actions/setup-python@v5
|
|
13
|
+
with:
|
|
14
|
+
python-version: "3.12"
|
|
15
|
+
- run: pip install build twine
|
|
16
|
+
- run: python3 -m build
|
|
17
|
+
- run: twine check dist/*
|
|
18
|
+
- uses: actions/upload-artifact@v4
|
|
19
|
+
with:
|
|
20
|
+
name: dist
|
|
21
|
+
path: dist/
|
|
22
|
+
|
|
23
|
+
publish:
|
|
24
|
+
needs: build
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
environment: pypi
|
|
27
|
+
permissions:
|
|
28
|
+
id-token: write
|
|
29
|
+
steps:
|
|
30
|
+
- uses: actions/download-artifact@v4
|
|
31
|
+
with:
|
|
32
|
+
name: dist
|
|
33
|
+
path: dist/
|
|
34
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
foehn-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
dist/
|
|
6
|
+
build/
|
|
7
|
+
*.egg
|
|
8
|
+
|
|
9
|
+
# Virtual environments
|
|
10
|
+
.venv/
|
|
11
|
+
venv/
|
|
12
|
+
env/
|
|
13
|
+
|
|
14
|
+
# Tools
|
|
15
|
+
.ruff_cache/
|
|
16
|
+
.mypy_cache/
|
|
17
|
+
.pytest_cache/
|
|
18
|
+
.coverage
|
|
19
|
+
htmlcov/
|
|
20
|
+
|
|
21
|
+
# IDE
|
|
22
|
+
.vscode/
|
|
23
|
+
.idea/
|
|
24
|
+
|
|
25
|
+
# OS
|
|
26
|
+
.DS_Store
|
|
27
|
+
Thumbs.db
|
|
28
|
+
|
|
29
|
+
# Project
|
|
30
|
+
data/
|
foehn-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 kayhendriksen
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
foehn-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: foehn
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Download MeteoSwiss Open Government Data and convert to Parquet / Delta tables
|
|
5
|
+
Project-URL: Homepage, https://github.com/kayhendriksen/foehn
|
|
6
|
+
Project-URL: Repository, https://github.com/kayhendriksen/foehn
|
|
7
|
+
Project-URL: Issues, https://github.com/kayhendriksen/foehn/issues
|
|
8
|
+
Author: Kay Hendriksen
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: delta,meteoswiss,open-data,parquet,switzerland,weather
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
|
|
22
|
+
Classifier: Topic :: Scientific/Engineering :: GIS
|
|
23
|
+
Classifier: Typing :: Typed
|
|
24
|
+
Requires-Python: >=3.10
|
|
25
|
+
Requires-Dist: polars>=1.0
|
|
26
|
+
Requires-Dist: requests>=2.32
|
|
27
|
+
Provides-Extra: databricks
|
|
28
|
+
Requires-Dist: delta-spark<5.0,>=4.0; extra == 'databricks'
|
|
29
|
+
Requires-Dist: pyspark<5.0,>=4.0; extra == 'databricks'
|
|
30
|
+
Provides-Extra: dev
|
|
31
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
32
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: ruff>=0.9; extra == 'dev'
|
|
34
|
+
Description-Content-Type: text/markdown
|
|
35
|
+
|
|
36
|
+
<h1 align="center">
|
|
37
|
+
<img src="assets/banner.svg" alt="foehn" width="600">
|
|
38
|
+
</h1>
|
|
39
|
+
|
|
40
|
+
<p align="center">
|
|
41
|
+
<strong>MeteoSwiss Open Data → Parquet → Databricks Delta tables</strong>
|
|
42
|
+
</p>
|
|
43
|
+
|
|
44
|
+
<p align="center">
|
|
45
|
+
<a href="https://pypi.org/project/foehn/">
|
|
46
|
+
<img src="https://img.shields.io/pypi/v/foehn.svg" alt="PyPI Latest Release">
|
|
47
|
+
</a>
|
|
48
|
+
<a href="https://pypi.org/project/foehn/">
|
|
49
|
+
<img src="https://img.shields.io/pypi/pyversions/foehn.svg" alt="Python Versions">
|
|
50
|
+
</a>
|
|
51
|
+
<a href="https://github.com/kayhendriksen/foehn/blob/main/LICENSE">
|
|
52
|
+
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License">
|
|
53
|
+
</a>
|
|
54
|
+
<a href="https://pypi.org/project/foehn/">
|
|
55
|
+
<img src="https://img.shields.io/pypi/dm/foehn.svg" alt="Monthly Downloads">
|
|
56
|
+
</a>
|
|
57
|
+
</p>
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
foehn downloads every [MeteoSwiss OGD](https://github.com/MeteoSwiss/opendata) collection via the STAC API, converts CSV/TXT to Parquet with [Polars](https://pola.rs), and optionally ingests everything into [Databricks](https://www.databricks.com) Unity Catalog Delta tables on a daily schedule.
|
|
62
|
+
|
|
63
|
+
## Why foehn?
|
|
64
|
+
|
|
65
|
+
- **20+ collections in one command** — weather stations, radar, hail maps, forecasts, climate scenarios, and more
|
|
66
|
+
- **5–10× smaller on disk** — columnar Parquet with Zstd compression vs. raw CSVs
|
|
67
|
+
- **Incremental by default** — only re-downloads files that changed since your last run, tracked via `_last_run.json`
|
|
68
|
+
- **No Spark required locally** — download + conversion uses Polars only; Spark is optional for Delta ingestion
|
|
69
|
+
- **Ships a Declarative Automation Bundle** — ready-to-deploy daily job and historical backfill, no pipeline config needed
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Quick start
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
pip install foehn
|
|
77
|
+
foehn
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Recent data (Jan 1 → yesterday) is downloaded and converted to Parquet under `./data/meteoswiss/`.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Collections
|
|
85
|
+
|
|
86
|
+
| Key | Description | Format |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| `smn` | Automatic weather stations (A1) | CSV → Parquet |
|
|
89
|
+
| `smn_precip` | Automatic precipitation stations (A2) | CSV → Parquet |
|
|
90
|
+
| `smn_tower` | Tower stations (A3) | CSV → Parquet |
|
|
91
|
+
| `nime` | Manual precipitation stations (A5) | CSV → Parquet |
|
|
92
|
+
| `tot` | Totaliser precipitation (A6) | CSV → Parquet |
|
|
93
|
+
| `obs` | Visual observations (A8) | CSV → Parquet |
|
|
94
|
+
| `pollen` | Pollen stations (A7) | CSV → Parquet |
|
|
95
|
+
| `phenology` | Phenological observations (A9) | CSV → Parquet |
|
|
96
|
+
| `nbcn` | Homogeneous climate stations (C1) | CSV → Parquet |
|
|
97
|
+
| `nbcn_precip` | Homogeneous precipitation (C2) | CSV → Parquet |
|
|
98
|
+
| `climate_normals` | Station normals 1961–1990 / 1991–2020 (C6) | TXT → Parquet |
|
|
99
|
+
| `climate_normals_*` | Spatial normals (C7) | NetCDF / GeoTIFF |
|
|
100
|
+
| `surface_derived_grid` | Spatial analyses — precip, temp, sunshine (C3/C4) | NetCDF |
|
|
101
|
+
| `satellite_derived_grid` | Spatial analyses — radiation, clouds (C5) | NetCDF |
|
|
102
|
+
| `climate_scenarios` | CH2025 local scenarios (C8) | CSV → Parquet |
|
|
103
|
+
| `climate_scenarios_grid` | CH2025 gridded scenarios (C9) | NetCDF |
|
|
104
|
+
| `hail_hazard_*` | Hail hazard maps | NetCDF / ZIP |
|
|
105
|
+
| `forecast_local` | Local point forecasts (E4) | CSV → Parquet |
|
|
106
|
+
| `forecast_icon_ch1/ch2` | ICON-CH1/CH2-EPS (E2/E3) | GRIB2 (opt-in) |
|
|
107
|
+
| `radar_precip/hail` | Precipitation + hail radar (D1/D3) | HDF5 (opt-in) |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Installation
|
|
112
|
+
|
|
113
|
+
**From PyPI:**
|
|
114
|
+
```bash
|
|
115
|
+
pip install foehn
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**From source:**
|
|
119
|
+
```bash
|
|
120
|
+
git clone https://github.com/kayhendriksen/foehn
|
|
121
|
+
cd foehn
|
|
122
|
+
pip install -e .
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**With Databricks extras** (PySpark + Delta):
|
|
126
|
+
```bash
|
|
127
|
+
pip install "foehn[databricks]"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Requires Python ≥ 3.10.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## CLI reference
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
foehn [options]
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Time range** — recent (Jan 1 this year → yesterday) is always included; flags extend it:
|
|
141
|
+
|
|
142
|
+
| Flag | Description |
|
|
143
|
+
|---|---|
|
|
144
|
+
| *(none)* | Recent only — Jan 1 this year → yesterday, updated daily at 12 UTC |
|
|
145
|
+
| `--historical` | Also fetch full archive — start of measurement → Dec 31 last year |
|
|
146
|
+
| `--now` | Also fetch realtime slice — yesterday 12 UTC → now, 10-min updates |
|
|
147
|
+
| `--all` | All three slices: historical + recent + now |
|
|
148
|
+
|
|
149
|
+
**Behaviour:**
|
|
150
|
+
|
|
151
|
+
| Flag | Description |
|
|
152
|
+
|---|---|
|
|
153
|
+
| `--full-refresh` | Ignore incremental tracking, re-download everything |
|
|
154
|
+
| `--convert-only` | Convert existing CSVs to Parquet without downloading |
|
|
155
|
+
|
|
156
|
+
**Output:**
|
|
157
|
+
|
|
158
|
+
| Flag | Description |
|
|
159
|
+
|---|---|
|
|
160
|
+
| `--grids` | Also fetch GRIB2, radar HDF5, NetCDF, GeoTIFF (large) |
|
|
161
|
+
| `--no-parquet` | Skip conversion, keep raw CSVs only |
|
|
162
|
+
| `--data-dir PATH` | Output root (default: `./data/meteoswiss`) |
|
|
163
|
+
|
|
164
|
+
Parquet files land in `<data-dir>/parquet/<collection>/`.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Databricks pipeline
|
|
169
|
+
|
|
170
|
+
The recommended setup uses Declarative Automation Bundles.
|
|
171
|
+
|
|
172
|
+
**1. Set variables:**
|
|
173
|
+
```bash
|
|
174
|
+
export BUNDLE_VAR_host=https://adb-xxx.azuredatabricks.net
|
|
175
|
+
export BUNDLE_VAR_alert_email=you@example.com
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**2. Deploy:**
|
|
179
|
+
```bash
|
|
180
|
+
pip install databricks-cli
|
|
181
|
+
databricks bundle validate
|
|
182
|
+
databricks bundle deploy -t prod
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
This deploys two jobs:
|
|
186
|
+
|
|
187
|
+
- **`foehn_daily`** — runs at 13:30 UTC every day; downloads recent data and refreshes Delta tables
|
|
188
|
+
- **`foehn_historical`** — paused by default; trigger manually for first run or on Jan 1 for the annual archive slice
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Data sources
|
|
193
|
+
|
|
194
|
+
| | |
|
|
195
|
+
|---|---|
|
|
196
|
+
| STAC API | https://data.geo.admin.ch/api/stac/v1 |
|
|
197
|
+
| Documentation | https://opendatadocs.meteoswiss.ch |
|
|
198
|
+
| MeteoSwiss OGD | https://github.com/MeteoSwiss/opendata |
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## License
|
|
203
|
+
|
|
204
|
+
MIT
|
foehn-0.1.0/README.md
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
<h1 align="center">
|
|
2
|
+
<img src="assets/banner.svg" alt="foehn" width="600">
|
|
3
|
+
</h1>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<strong>MeteoSwiss Open Data → Parquet → Databricks Delta tables</strong>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://pypi.org/project/foehn/">
|
|
11
|
+
<img src="https://img.shields.io/pypi/v/foehn.svg" alt="PyPI Latest Release">
|
|
12
|
+
</a>
|
|
13
|
+
<a href="https://pypi.org/project/foehn/">
|
|
14
|
+
<img src="https://img.shields.io/pypi/pyversions/foehn.svg" alt="Python Versions">
|
|
15
|
+
</a>
|
|
16
|
+
<a href="https://github.com/kayhendriksen/foehn/blob/main/LICENSE">
|
|
17
|
+
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License">
|
|
18
|
+
</a>
|
|
19
|
+
<a href="https://pypi.org/project/foehn/">
|
|
20
|
+
<img src="https://img.shields.io/pypi/dm/foehn.svg" alt="Monthly Downloads">
|
|
21
|
+
</a>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
foehn downloads every [MeteoSwiss OGD](https://github.com/MeteoSwiss/opendata) collection via the STAC API, converts CSV/TXT to Parquet with [Polars](https://pola.rs), and optionally ingests everything into [Databricks](https://www.databricks.com) Unity Catalog Delta tables on a daily schedule.
|
|
27
|
+
|
|
28
|
+
## Why foehn?
|
|
29
|
+
|
|
30
|
+
- **20+ collections in one command** — weather stations, radar, hail maps, forecasts, climate scenarios, and more
|
|
31
|
+
- **5–10× smaller on disk** — columnar Parquet with Zstd compression vs. raw CSVs
|
|
32
|
+
- **Incremental by default** — only re-downloads files that changed since your last run, tracked via `_last_run.json`
|
|
33
|
+
- **No Spark required locally** — download + conversion uses Polars only; Spark is optional for Delta ingestion
|
|
34
|
+
- **Ships a Declarative Automation Bundle** — ready-to-deploy daily job and historical backfill, no pipeline config needed
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Quick start
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install foehn
|
|
42
|
+
foehn
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Recent data (Jan 1 → yesterday) is downloaded and converted to Parquet under `./data/meteoswiss/`.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Collections
|
|
50
|
+
|
|
51
|
+
| Key | Description | Format |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `smn` | Automatic weather stations (A1) | CSV → Parquet |
|
|
54
|
+
| `smn_precip` | Automatic precipitation stations (A2) | CSV → Parquet |
|
|
55
|
+
| `smn_tower` | Tower stations (A3) | CSV → Parquet |
|
|
56
|
+
| `nime` | Manual precipitation stations (A5) | CSV → Parquet |
|
|
57
|
+
| `tot` | Totaliser precipitation (A6) | CSV → Parquet |
|
|
58
|
+
| `obs` | Visual observations (A8) | CSV → Parquet |
|
|
59
|
+
| `pollen` | Pollen stations (A7) | CSV → Parquet |
|
|
60
|
+
| `phenology` | Phenological observations (A9) | CSV → Parquet |
|
|
61
|
+
| `nbcn` | Homogeneous climate stations (C1) | CSV → Parquet |
|
|
62
|
+
| `nbcn_precip` | Homogeneous precipitation (C2) | CSV → Parquet |
|
|
63
|
+
| `climate_normals` | Station normals 1961–1990 / 1991–2020 (C6) | TXT → Parquet |
|
|
64
|
+
| `climate_normals_*` | Spatial normals (C7) | NetCDF / GeoTIFF |
|
|
65
|
+
| `surface_derived_grid` | Spatial analyses — precip, temp, sunshine (C3/C4) | NetCDF |
|
|
66
|
+
| `satellite_derived_grid` | Spatial analyses — radiation, clouds (C5) | NetCDF |
|
|
67
|
+
| `climate_scenarios` | CH2025 local scenarios (C8) | CSV → Parquet |
|
|
68
|
+
| `climate_scenarios_grid` | CH2025 gridded scenarios (C9) | NetCDF |
|
|
69
|
+
| `hail_hazard_*` | Hail hazard maps | NetCDF / ZIP |
|
|
70
|
+
| `forecast_local` | Local point forecasts (E4) | CSV → Parquet |
|
|
71
|
+
| `forecast_icon_ch1/ch2` | ICON-CH1/CH2-EPS (E2/E3) | GRIB2 (opt-in) |
|
|
72
|
+
| `radar_precip/hail` | Precipitation + hail radar (D1/D3) | HDF5 (opt-in) |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Installation
|
|
77
|
+
|
|
78
|
+
**From PyPI:**
|
|
79
|
+
```bash
|
|
80
|
+
pip install foehn
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**From source:**
|
|
84
|
+
```bash
|
|
85
|
+
git clone https://github.com/kayhendriksen/foehn
|
|
86
|
+
cd foehn
|
|
87
|
+
pip install -e .
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**With Databricks extras** (PySpark + Delta):
|
|
91
|
+
```bash
|
|
92
|
+
pip install "foehn[databricks]"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Requires Python ≥ 3.10.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## CLI reference
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
foehn [options]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Time range** — recent (Jan 1 this year → yesterday) is always included; flags extend it:
|
|
106
|
+
|
|
107
|
+
| Flag | Description |
|
|
108
|
+
|---|---|
|
|
109
|
+
| *(none)* | Recent only — Jan 1 this year → yesterday, updated daily at 12 UTC |
|
|
110
|
+
| `--historical` | Also fetch full archive — start of measurement → Dec 31 last year |
|
|
111
|
+
| `--now` | Also fetch realtime slice — yesterday 12 UTC → now, 10-min updates |
|
|
112
|
+
| `--all` | All three slices: historical + recent + now |
|
|
113
|
+
|
|
114
|
+
**Behaviour:**
|
|
115
|
+
|
|
116
|
+
| Flag | Description |
|
|
117
|
+
|---|---|
|
|
118
|
+
| `--full-refresh` | Ignore incremental tracking, re-download everything |
|
|
119
|
+
| `--convert-only` | Convert existing CSVs to Parquet without downloading |
|
|
120
|
+
|
|
121
|
+
**Output:**
|
|
122
|
+
|
|
123
|
+
| Flag | Description |
|
|
124
|
+
|---|---|
|
|
125
|
+
| `--grids` | Also fetch GRIB2, radar HDF5, NetCDF, GeoTIFF (large) |
|
|
126
|
+
| `--no-parquet` | Skip conversion, keep raw CSVs only |
|
|
127
|
+
| `--data-dir PATH` | Output root (default: `./data/meteoswiss`) |
|
|
128
|
+
|
|
129
|
+
Parquet files land in `<data-dir>/parquet/<collection>/`.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Databricks pipeline
|
|
134
|
+
|
|
135
|
+
The recommended setup uses Declarative Automation Bundles.
|
|
136
|
+
|
|
137
|
+
**1. Set variables:**
|
|
138
|
+
```bash
|
|
139
|
+
export BUNDLE_VAR_host=https://adb-xxx.azuredatabricks.net
|
|
140
|
+
export BUNDLE_VAR_alert_email=you@example.com
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**2. Deploy:**
|
|
144
|
+
```bash
|
|
145
|
+
pip install databricks-cli
|
|
146
|
+
databricks bundle validate
|
|
147
|
+
databricks bundle deploy -t prod
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
This deploys two jobs:
|
|
151
|
+
|
|
152
|
+
- **`foehn_daily`** — runs at 13:30 UTC every day; downloads recent data and refreshes Delta tables
|
|
153
|
+
- **`foehn_historical`** — paused by default; trigger manually for first run or on Jan 1 for the annual archive slice
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Data sources
|
|
158
|
+
|
|
159
|
+
| | |
|
|
160
|
+
|---|---|
|
|
161
|
+
| STAC API | https://data.geo.admin.ch/api/stac/v1 |
|
|
162
|
+
| Documentation | https://opendatadocs.meteoswiss.ch |
|
|
163
|
+
| MeteoSwiss OGD | https://github.com/MeteoSwiss/opendata |
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## License
|
|
168
|
+
|
|
169
|
+
MIT
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="2304" height="1152">
|
|
3
|
+
<path d="M0 0 C760.32 0 1520.64 0 2304 0 C2304 380.16 2304 760.32 2304 1152 C1543.68 1152 783.36 1152 0 1152 C0 771.84 0 391.68 0 0 Z " fill="#F8F5F1" transform="translate(0,0)"/>
|
|
4
|
+
<path d="M0 0 C0.66 0 1.32 0 2 0 C3.41978032 2.09561813 4.70336872 4.17783027 5.96484375 6.3671875 C6.3576503 7.03477081 6.75045685 7.70235413 7.15516663 8.39016724 C8.42293973 10.54776558 9.6805553 12.71107871 10.9375 14.875 C11.7499365 16.26474088 12.56308045 17.65406845 13.37695312 19.04296875 C13.98137489 20.07870277 13.98137489 20.07870277 14.5980072 21.13536072 C15.43325765 22.55239746 16.27982594 23.96281756 17.13697815 25.36671448 C19.43656658 29.16062378 21.43159617 32.8996015 23.16186523 36.98803711 C27.07144989 45.66491882 27.07144989 45.66491882 34.56655884 51.03417969 C42.3336529 52.84740118 50.25303175 52.74728698 58.1875 52.8125 C61.95293746 52.94070694 65.71635877 53.09967317 69.48060608 53.25868225 C72.00358869 53.36225417 74.52701778 53.45546941 77.05076599 53.53831482 C88.61228197 53.93003316 99.98002521 55.14616402 111.4375 56.6875 C113.1349503 56.90581766 114.83245819 57.12368813 116.5300293 57.34106445 C118.06056917 57.54238059 119.59093688 57.74501184 121.12109375 57.94921875 C121.81309875 58.04065155 122.50510376 58.13208435 123.21807861 58.22628784 C127.88094969 58.88094969 127.88094969 58.88094969 129 60 C131.45857317 60.24277717 133.89008043 60.42045333 136.35546875 60.55078125 C137.1161113 60.59262039 137.87675385 60.63445953 138.66044617 60.67756653 C147.54288689 61.1289725 156.42029133 61.19503178 165.3125 61.1875 C166.20119781 61.1882251 167.08989563 61.1889502 168.00552368 61.18969727 C184.28895336 61.18825656 200.51209773 60.5444815 216.77172852 59.71606445 C229.52954309 59.07075427 242.22327762 58.74217376 255 59 C255.33 60.65 255.66 62.3 256 64 C252.5871031 66.2752646 250.98934505 66.35081353 246.953125 66.59765625 C245.71304688 66.67693359 244.47296875 66.75621094 243.1953125 66.83789062 C241.89335938 66.91201172 240.59140625 66.98613281 239.25 67.0625 C237.41308594 67.17948242 237.41308594 67.17948242 235.5390625 67.29882812 C231.36036598 67.55627328 227.18099411 67.78380244 223 68 C222.15297516 68.04483521 221.30595032 68.08967041 220.43325806 68.13586426 C205.34525439 68.91886153 190.29426345 69.16301882 175.1875 69.125 C174.08093048 69.1234491 172.97436096 69.12189819 171.83425903 69.12030029 C152.8731393 69.08932947 133.94349722 68.83793932 115 68 C114.32396729 67.97077454 113.64793457 67.94154907 112.95141602 67.91143799 C60.18383294 65.61025565 60.18383294 65.61025565 39 61 C45.04937971 72.09914683 51.43578183 82.99941561 58.18164062 93.69042969 C62.19221228 100.09007701 65.76379021 106.46455925 68.90625 113.3359375 C75.1497365 127.15963069 75.1497365 127.15963069 86.38964844 136.64208984 C94.82429382 138.96344037 103.33555715 138.98363825 112.03271484 138.94873047 C117.22442411 138.9542729 122.3508641 139.35621998 127.51953125 139.81640625 C155.00576895 142.1990804 182.42810454 142.46375284 210 142 C211.2979248 141.97921387 212.59584961 141.95842773 213.93310547 141.93701172 C239.08438439 141.44125721 264.44307562 139.21987124 289.37695312 135.91455078 C302.74074195 134.16049464 302.74074195 134.16049464 307 137 C307.3125 139.5 307.3125 139.5 307 142 C304.71203336 144.28796664 304.08960225 144.33364454 300.98828125 144.7109375 C300.10954346 144.81937988 299.23080566 144.92782227 298.32543945 145.03955078 C297.33116943 145.15024902 296.33689941 145.26094727 295.3125 145.375 C294.24668701 145.4972998 293.18087402 145.61959961 292.08276367 145.74560547 C262.49674935 149.00762735 232.77406585 151.64705515 203 152 C201.98099609 152.01514648 200.96199219 152.03029297 199.91210938 152.04589844 C192.60589762 152.14271637 185.30593231 152.10460259 178 152 C176.68354492 151.98211426 175.36708984 151.96422852 174.01074219 151.94580078 C156.69302468 151.68724125 139.45143367 150.97236294 122.1875 149.5625 C121.04843201 149.47033707 121.04843201 149.47033707 119.88635254 149.37631226 C109.8760588 148.55357266 99.94357682 147.42102917 90 146 C95.60718352 156.21627089 101.50458691 166.23371039 107.5625 176.1875 C107.91899628 176.77333862 108.27549255 177.35917725 108.64279175 177.96276855 C109.69974503 179.6983971 110.75783147 181.43332876 111.81640625 183.16796875 C112.50105957 184.28993652 113.18571289 185.4119043 113.89111328 186.56787109 C115.34948178 188.94952202 116.82397016 191.32036046 118.30810547 193.68603516 C118.68023666 194.28201004 119.05236786 194.87798492 119.43577576 195.49201965 C120.46941096 197.14560191 121.50787923 198.7961602 122.54663086 200.4465332 C124 203 124 203 124 205 C156.51970511 206.32173918 188.84511831 206.38002279 221.35620117 204.71166992 C222.25749756 204.66572189 223.15879395 204.61977386 224.08740234 204.57243347 C225.75950558 204.48604811 227.43147992 204.39710647 229.10327148 204.30488586 C234.73958092 204.0088828 240.35644833 203.95334492 246 204 C246.33 205.98 246.66 207.96 247 210 C243.34121967 212.43918689 241.2653631 212.38797783 236.890625 212.6328125 C236.15645859 212.67451065 235.42229218 212.7162088 234.6658783 212.75917053 C232.19438642 212.89348536 229.72249512 213.0107096 227.25 213.125 C225.96411484 213.18803818 225.96411484 213.18803818 224.6522522 213.25234985 C208.16786358 214.04222563 191.6886207 214.18833697 175.1875 214.1875 C174.02375854 214.18840637 172.86001709 214.18931274 171.66101074 214.19024658 C157.74207854 214.18901851 143.8904624 213.91079845 130 213 C138.23867778 227.14040846 146.49143169 241.2697089 155 255.25 C155.59248535 256.22461182 156.1849707 257.19922363 156.79541016 258.20336914 C159.10579242 262.32037789 159.10579242 262.32037789 162 266 C163.7492872 266.09365006 165.50236254 266.11744438 167.25415039 266.11352539 C168.93578026 266.11341209 168.93578026 266.11341209 170.65138245 266.11329651 C171.8711528 266.10813522 173.09092316 266.10297394 174.34765625 266.09765625 C175.58921982 266.0962413 176.83078339 266.09482635 178.10997009 266.09336853 C181.41605491 266.08870591 184.72207146 266.07971497 188.02813721 266.06866455 C191.3996115 266.05844827 194.77109283 266.05387045 198.14257812 266.04882812 C204.76173775 266.03777395 211.38086493 266.02101736 218 266 C218.66 267.32 219.32 268.64 220 270 C216.06899354 273.93100646 210.09333338 273.28417627 204.7890625 273.55078125 C203.96540192 273.59262039 203.14174133 273.63445953 202.29312134 273.67756653 C190.99249404 274.19799101 179.68538683 274.19657105 168.375 274.1875 C167.21313171 274.18756042 166.05126343 274.18762085 164.85418701 274.18768311 C144.19410185 274.17243424 123.67451408 273.58429808 103.10887814 271.51191139 C88.67969807 270.0953007 74.3900498 269.69419006 59.89868164 269.68115234 C57.48152339 269.67182571 55.06436828 269.66165311 52.6472168 269.65071106 C46.16325503 269.62370492 39.67931461 269.60835015 33.19531178 269.59528303 C27.08206845 269.58205826 20.96886315 269.55801183 14.85565036 269.53501268 C2.76698454 269.4898177 -9.32169098 269.45309179 -21.41040039 269.421875 C-33.1363291 269.39157647 -44.86223426 269.35717543 -56.58813477 269.31738281 C-57.31390604 269.31492126 -58.03967732 269.31245972 -58.78744166 269.30992357 C-62.42931476 269.29754679 -66.07118757 269.28509068 -69.71306026 269.27259517 C-99.80867406 269.16943725 -129.90431583 269.08024492 -160 269 C-158.46564152 265.03320371 -156.62892146 261.52584411 -154.4375 257.875 C-152.64686939 254.88937474 -151.10117028 252.30351083 -150 249 C-150.80018555 249.15017578 -151.60037109 249.30035156 -152.42480469 249.45507812 C-156.67978817 250.10361153 -160.91142198 250.42394208 -165.203125 250.71875 C-166.08095642 250.78155151 -166.95878784 250.84435303 -167.86322021 250.90905762 C-170.65863156 251.1087077 -173.45428766 251.30461372 -176.25 251.5 C-179.03139165 251.69587265 -181.81271669 251.89259665 -184.59393311 252.09094238 C-186.31912454 252.21382971 -188.04441984 252.33527155 -189.76983643 252.45495605 C-194.81334058 252.81246064 -199.83885015 253.26557516 -204.86709595 253.79698181 C-208.59180306 254.15151407 -212.26272214 254.06027868 -216 254 C-216.66 252.68 -217.32 251.36 -218 250 C-211.74966872 243.74966872 -192.70300388 245.08163207 -183.875 244.375 C-183.06616364 244.30896576 -182.25732727 244.24293152 -181.42398071 244.17489624 C-169.26566595 243.19168777 -157.20234825 242.58136798 -145 243 C-144.74057617 242.46221924 -144.48115234 241.92443848 -144.21386719 241.37036133 C-142.76588145 238.54282845 -141.18184227 235.81660903 -139.578125 233.07421875 C-139.24117615 232.49790207 -138.90422729 231.92158539 -138.55706787 231.32780457 C-137.45627931 229.44678001 -136.35325933 227.56707631 -135.25 225.6875 C-134.87472168 225.04693665 -134.49944336 224.40637329 -134.11279297 223.74639893 C-128.25537536 213.75160398 -122.29822353 203.82426217 -116.20410156 193.97143555 C-115.66237305 193.09140869 -115.12064453 192.21138184 -114.5625 191.3046875 C-114.08941406 190.54140137 -113.61632812 189.77811523 -113.12890625 188.99169922 C-111.86077266 186.90346932 -111.86077266 186.90346932 -111 184 C-152.34151482 184.53090944 -193.3617337 185.4693068 -234.50537109 189.67895508 C-243.71741626 190.60887982 -252.72957296 191.28517891 -262 191 C-262.495 188.525 -262.495 188.525 -263 186 C-259.51946373 183.67964249 -257.4707405 183.50193611 -253.3359375 183.03515625 C-252.65435577 182.95722336 -251.97277405 182.87929047 -251.27053833 182.79899597 C-248.97313386 182.54173545 -246.67451062 182.30017461 -244.375 182.0625 C-243.56248779 181.97762329 -242.74997559 181.89274658 -241.9128418 181.80529785 C-196.26129285 177.09312129 -150.83725506 176.59588514 -105 177 C-104.70640091 176.24041992 -104.41280182 175.48083984 -104.11030579 174.69824219 C-102.73768493 171.36252735 -100.95458074 168.3359283 -99.10546875 165.25 C-98.72130295 164.60290573 -98.33713715 163.95581146 -97.94132996 163.28910828 C-96.69375589 161.19050897 -95.44077993 159.09519589 -94.1875 157 C-93.32815339 155.55712755 -92.46894186 154.11417463 -91.60986328 152.67114258 C-86.09190926 143.41858517 -80.49637369 134.21841575 -74.74682617 125.10742188 C-74.26060791 124.33333984 -73.77438965 123.55925781 -73.2734375 122.76171875 C-72.64574463 121.7711145 -72.64574463 121.7711145 -72.00537109 120.76049805 C-70.84548528 118.86287666 -70.84548528 118.86287666 -70 116 C-70.64582031 116.02320313 -71.29164063 116.04640625 -71.95703125 116.0703125 C-78.08239652 116.18762456 -84.04549813 115.83803624 -90.125 115.125 C-136.68755207 109.98770739 -185.33942555 109.80564954 -232 114 C-233.3451478 114.11439783 -234.69036541 114.22797729 -236.03564453 114.34082031 C-250.80187251 115.58528685 -265.53847978 117.02910601 -280.21704102 119.08569336 C-292.14809512 120.70322405 -292.14809512 120.70322405 -298 120 C-298.66 119.34 -299.32 118.68 -300 118 C-299.8125 115.5 -299.8125 115.5 -299 113 C-295.49567489 110.66378326 -292.51145633 110.32024273 -288.44140625 109.81640625 C-287.29613716 109.66621284 -287.29613716 109.66621284 -286.12773132 109.51298523 C-283.60712022 109.18643723 -281.08508624 108.87340003 -278.5625 108.5625 C-277.26221863 108.39917175 -277.26221863 108.39917175 -275.93566895 108.23254395 C-263.39490325 106.66271919 -250.84364721 105.31486208 -238.25 104.25 C-237.57309113 104.19119659 -236.89618225 104.13239319 -236.19876099 104.07180786 C-211.62839197 101.97022957 -186.956715 101.79370252 -162.3125 101.8125 C-161.61300106 101.81261959 -160.91350212 101.81273918 -160.19280624 101.8128624 C-139.40237944 101.81734521 -118.71109697 101.97505782 -98 104 C-97.03151123 104.09405121 -97.03151123 104.09405121 -96.04345703 104.19000244 C-87.9289921 104.98084769 -79.82191383 105.82756823 -71.72192383 106.75634766 C-70.82368896 106.83675293 -69.9254541 106.9171582 -69 107 C-68.14510986 107.1434082 -67.29021973 107.28681641 -66.40942383 107.43457031 C-63.69742143 107.21695615 -63.69742143 107.21695615 -61.86279297 104.34814453 C-61.13693777 103.12073227 -60.43142568 101.88115434 -59.7421875 100.6328125 C-59.35362579 99.96522919 -58.96506409 99.29764587 -58.56472778 98.60983276 C-57.3170735 96.45789497 -56.09557544 94.29239049 -54.875 92.125 C-54.0772826 90.73466477 -53.27781862 89.34533012 -52.4765625 87.95703125 C-51.26226893 85.85295518 -50.0492393 83.74828603 -48.84320068 81.63946533 C-44.07335771 73.31846943 -39.03778592 65.16056809 -34 57 C-59.23811958 58.35045046 -84.31024845 60.04394125 -109.36303711 63.46166992 C-110.18137527 63.5709935 -110.99971344 63.68031708 -111.84284973 63.79295349 C-113.35726384 63.99665202 -114.87072496 64.2076366 -116.38285828 64.42762756 C-120.17344872 64.9398095 -123.29880377 65.02207263 -127 64 C-126.67 62.35 -126.34 60.7 -126 59 C-103.39525923 55.92210196 -80.84910938 53.39176729 -58.08032227 51.90112305 C-56.83009529 51.81869606 -56.83009529 51.81869606 -55.55461121 51.73460388 C-54.00634172 51.63391644 -52.45785721 51.53645631 -50.90913391 51.44300842 C-46.88294676 51.18706391 -42.96642544 50.73869911 -39 50 C-81.19407195 44.30949514 -123.14858972 40.58685744 -165.73335648 40.68234634 C-168.22823591 40.68758554 -170.72310281 40.68949972 -173.21798706 40.69100952 C-205.52762731 40.72499103 -237.60520154 41.99559743 -269.68188477 46.08520508 C-276.15779395 46.90243577 -282.47389493 47.15025385 -289 47 C-289.33 45.35 -289.66 43.7 -290 42 C-286.48978131 39.65985421 -284.37675421 39.4980821 -280.203125 39.03515625 C-279.5008075 38.95631699 -278.79848999 38.87747772 -278.07489014 38.79624939 C-276.5620826 38.62848729 -275.04881354 38.46484531 -273.53515625 38.30493164 C-271.38147628 38.07644828 -269.22989329 37.8336266 -267.078125 37.58789062 C-261.72474314 36.99289604 -256.3637687 36.49139825 -251 36 C-250.35366985 35.93980808 -249.70733971 35.87961617 -249.0414238 35.81760025 C-223.754052 33.46987034 -198.64140492 32.46246097 -173.24825287 32.55357361 C-170.50918595 32.5626772 -167.77014669 32.56659199 -165.03106689 32.56970215 C-137.34407845 32.61527179 -109.95319696 33.48815886 -82.42950439 36.71820068 C-79.18292402 37.09477301 -75.93356653 37.44356011 -72.68405151 37.79373169 C-56.74461104 39.51854711 -40.85124918 41.59498288 -25 44 C-24.74637695 43.30865967 -24.49275391 42.61731934 -24.23144531 41.9050293 C-22.82869114 38.59587546 -21.12292802 35.61579526 -19.296875 32.51953125 C-18.93660217 31.90663742 -18.57632935 31.29374359 -18.20513916 30.66227722 C-17.05667412 28.7104166 -15.90338146 26.76145857 -14.75 24.8125 C-13.99057532 23.52296903 -13.23145801 22.23325699 -12.47265625 20.94335938 C-11.003279 18.44689302 -9.52829817 15.95387585 -8.04882812 13.46337891 C-6.74426323 11.26597296 -5.45977572 9.06071337 -4.18554688 6.84521484 C-3.65509766 5.93078613 -3.12464844 5.01635742 -2.578125 4.07421875 C-1.8960498 2.88252075 -1.8960498 2.88252075 -1.20019531 1.66674805 C-0.60609863 0.84170776 -0.60609863 0.84170776 0 0 Z " fill="#C96246" transform="translate(507,469)"/>
|
|
5
|
+
<path d="M0 0 C0.66 0 1.32 0 2 0 C3.41978032 2.09561813 4.70336872 4.17783027 5.96484375 6.3671875 C6.3576503 7.03477081 6.75045685 7.70235413 7.15516663 8.39016724 C8.42293973 10.54776558 9.6805553 12.71107871 10.9375 14.875 C11.7499365 16.26474088 12.56308045 17.65406845 13.37695312 19.04296875 C13.98137489 20.07870277 13.98137489 20.07870277 14.5980072 21.13536072 C15.43325765 22.55239746 16.27982594 23.96281756 17.13697815 25.36671448 C19.43656658 29.16062378 21.43159617 32.8996015 23.16186523 36.98803711 C27.07144989 45.66491882 27.07144989 45.66491882 34.56655884 51.03417969 C42.3336529 52.84740118 50.25303175 52.74728698 58.1875 52.8125 C61.95293746 52.94070694 65.71635877 53.09967317 69.48060608 53.25868225 C72.00358869 53.36225417 74.52701778 53.45546941 77.05076599 53.53831482 C88.61228197 53.93003316 99.98002521 55.14616402 111.4375 56.6875 C113.1349503 56.90581766 114.83245819 57.12368813 116.5300293 57.34106445 C118.06056917 57.54238059 119.59093688 57.74501184 121.12109375 57.94921875 C121.81309875 58.04065155 122.50510376 58.13208435 123.21807861 58.22628784 C127.88094969 58.88094969 127.88094969 58.88094969 129 60 C131.45857317 60.24277717 133.89008043 60.42045333 136.35546875 60.55078125 C137.1161113 60.59262039 137.87675385 60.63445953 138.66044617 60.67756653 C147.54288689 61.1289725 156.42029133 61.19503178 165.3125 61.1875 C166.20119781 61.1882251 167.08989563 61.1889502 168.00552368 61.18969727 C184.28895336 61.18825656 200.51209773 60.5444815 216.77172852 59.71606445 C229.52954309 59.07075427 242.22327762 58.74217376 255 59 C255.33 60.65 255.66 62.3 256 64 C252.5871031 66.2752646 250.98934505 66.35081353 246.953125 66.59765625 C245.71304688 66.67693359 244.47296875 66.75621094 243.1953125 66.83789062 C241.89335938 66.91201172 240.59140625 66.98613281 239.25 67.0625 C237.41308594 67.17948242 237.41308594 67.17948242 235.5390625 67.29882812 C231.36036598 67.55627328 227.18099411 67.78380244 223 68 C222.15297516 68.04483521 221.30595032 68.08967041 220.43325806 68.13586426 C205.34525439 68.91886153 190.29426345 69.16301882 175.1875 69.125 C174.08093048 69.1234491 172.97436096 69.12189819 171.83425903 69.12030029 C152.8731393 69.08932947 133.94349722 68.83793932 115 68 C114.32396729 67.97077454 113.64793457 67.94154907 112.95141602 67.91143799 C60.18383294 65.61025565 60.18383294 65.61025565 39 61 C45.04937971 72.09914683 51.43578183 82.99941561 58.18164062 93.69042969 C62.19221228 100.09007701 65.76379021 106.46455925 68.90625 113.3359375 C75.1497365 127.15963069 75.1497365 127.15963069 86.38964844 136.64208984 C94.82429382 138.96344037 103.33555715 138.98363825 112.03271484 138.94873047 C117.22442411 138.9542729 122.3508641 139.35621998 127.51953125 139.81640625 C155.00576895 142.1990804 182.42810454 142.46375284 210 142 C211.2979248 141.97921387 212.59584961 141.95842773 213.93310547 141.93701172 C239.08438439 141.44125721 264.44307562 139.21987124 289.37695312 135.91455078 C302.74074195 134.16049464 302.74074195 134.16049464 307 137 C307.3125 139.5 307.3125 139.5 307 142 C304.71203336 144.28796664 304.08960225 144.33364454 300.98828125 144.7109375 C300.10954346 144.81937988 299.23080566 144.92782227 298.32543945 145.03955078 C297.33116943 145.15024902 296.33689941 145.26094727 295.3125 145.375 C294.24668701 145.4972998 293.18087402 145.61959961 292.08276367 145.74560547 C262.49674935 149.00762735 232.77406585 151.64705515 203 152 C201.98099609 152.01514648 200.96199219 152.03029297 199.91210938 152.04589844 C192.60589762 152.14271637 185.30593231 152.10460259 178 152 C176.68354492 151.98211426 175.36708984 151.96422852 174.01074219 151.94580078 C153.01865735 151.63253602 132.19973975 150.40248105 111.29144287 148.53083801 C103.86986206 147.87800471 96.43752504 147.42672266 89 147 C89 146.34 89 145.68 89 145 C87.05673828 145.07927734 87.05673828 145.07927734 85.07421875 145.16015625 C77.21040752 145.1396098 69.54332827 143.73982425 61.8125 142.4375 C60.94550476 142.29394073 60.07850952 142.15038147 59.1852417 142.00247192 C39.7082067 138.74993253 20.42780968 134.57605725 1.125 130.4375 C-32.81348394 123.16631484 -66.31871847 116.67534934 -101 114 C-102.19318848 113.89703613 -103.38637695 113.79407227 -104.61572266 113.68798828 C-146.52770974 110.11199585 -190.11534315 110.23495999 -232 114 C-233.3451478 114.11439783 -234.69036541 114.22797729 -236.03564453 114.34082031 C-250.80187251 115.58528685 -265.53847978 117.02910601 -280.21704102 119.08569336 C-292.14809512 120.70322405 -292.14809512 120.70322405 -298 120 C-298.66 119.34 -299.32 118.68 -300 118 C-299.8125 115.5 -299.8125 115.5 -299 113 C-295.49567489 110.66378326 -292.51145633 110.32024273 -288.44140625 109.81640625 C-287.29613716 109.66621284 -287.29613716 109.66621284 -286.12773132 109.51298523 C-283.60712022 109.18643723 -281.08508624 108.87340003 -278.5625 108.5625 C-277.26221863 108.39917175 -277.26221863 108.39917175 -275.93566895 108.23254395 C-263.39490325 106.66271919 -250.84364721 105.31486208 -238.25 104.25 C-237.57309113 104.19119659 -236.89618225 104.13239319 -236.19876099 104.07180786 C-211.62839197 101.97022957 -186.956715 101.79370252 -162.3125 101.8125 C-161.61300106 101.81261959 -160.91350212 101.81273918 -160.19280624 101.8128624 C-139.40237944 101.81734521 -118.71109697 101.97505782 -98 104 C-97.03151123 104.09405121 -97.03151123 104.09405121 -96.04345703 104.19000244 C-87.9289921 104.98084769 -79.82191383 105.82756823 -71.72192383 106.75634766 C-70.82368896 106.83675293 -69.9254541 106.9171582 -69 107 C-68.14510986 107.1434082 -67.29021973 107.28681641 -66.40942383 107.43457031 C-63.69742143 107.21695615 -63.69742143 107.21695615 -61.86279297 104.34814453 C-61.13693777 103.12073227 -60.43142568 101.88115434 -59.7421875 100.6328125 C-59.35362579 99.96522919 -58.96506409 99.29764587 -58.56472778 98.60983276 C-57.3170735 96.45789497 -56.09557544 94.29239049 -54.875 92.125 C-54.0772826 90.73466477 -53.27781862 89.34533012 -52.4765625 87.95703125 C-51.26226893 85.85295518 -50.0492393 83.74828603 -48.84320068 81.63946533 C-44.07335771 73.31846943 -39.03778592 65.16056809 -34 57 C-59.23811958 58.35045046 -84.31024845 60.04394125 -109.36303711 63.46166992 C-110.18137527 63.5709935 -110.99971344 63.68031708 -111.84284973 63.79295349 C-113.35726384 63.99665202 -114.87072496 64.2076366 -116.38285828 64.42762756 C-120.17344872 64.9398095 -123.29880377 65.02207263 -127 64 C-126.67 62.35 -126.34 60.7 -126 59 C-103.39525923 55.92210196 -80.84910938 53.39176729 -58.08032227 51.90112305 C-56.83009529 51.81869606 -56.83009529 51.81869606 -55.55461121 51.73460388 C-54.00634172 51.63391644 -52.45785721 51.53645631 -50.90913391 51.44300842 C-46.88294676 51.18706391 -42.96642544 50.73869911 -39 50 C-81.19407195 44.30949514 -123.14858972 40.58685744 -165.73335648 40.68234634 C-168.22823591 40.68758554 -170.72310281 40.68949972 -173.21798706 40.69100952 C-205.52762731 40.72499103 -237.60520154 41.99559743 -269.68188477 46.08520508 C-276.15779395 46.90243577 -282.47389493 47.15025385 -289 47 C-289.33 45.35 -289.66 43.7 -290 42 C-286.48978131 39.65985421 -284.37675421 39.4980821 -280.203125 39.03515625 C-279.5008075 38.95631699 -278.79848999 38.87747772 -278.07489014 38.79624939 C-276.5620826 38.62848729 -275.04881354 38.46484531 -273.53515625 38.30493164 C-271.38147628 38.07644828 -269.22989329 37.8336266 -267.078125 37.58789062 C-261.72474314 36.99289604 -256.3637687 36.49139825 -251 36 C-250.35366985 35.93980808 -249.70733971 35.87961617 -249.0414238 35.81760025 C-223.754052 33.46987034 -198.64140492 32.46246097 -173.24825287 32.55357361 C-170.50918595 32.5626772 -167.77014669 32.56659199 -165.03106689 32.56970215 C-137.34407845 32.61527179 -109.95319696 33.48815886 -82.42950439 36.71820068 C-79.18292402 37.09477301 -75.93356653 37.44356011 -72.68405151 37.79373169 C-56.74461104 39.51854711 -40.85124918 41.59498288 -25 44 C-24.74637695 43.30865967 -24.49275391 42.61731934 -24.23144531 41.9050293 C-22.82869114 38.59587546 -21.12292802 35.61579526 -19.296875 32.51953125 C-18.93660217 31.90663742 -18.57632935 31.29374359 -18.20513916 30.66227722 C-17.05667412 28.7104166 -15.90338146 26.76145857 -14.75 24.8125 C-13.99057532 23.52296903 -13.23145801 22.23325699 -12.47265625 20.94335938 C-11.003279 18.44689302 -9.52829817 15.95387585 -8.04882812 13.46337891 C-6.74426323 11.26597296 -5.45977572 9.06071337 -4.18554688 6.84521484 C-3.65509766 5.93078613 -3.12464844 5.01635742 -2.578125 4.07421875 C-1.8960498 2.88252075 -1.8960498 2.88252075 -1.20019531 1.66674805 C-0.60609863 0.84170776 -0.60609863 0.84170776 0 0 Z " fill="#C96247" transform="translate(507,469)"/>
|
|
6
|
+
<path d="M0 0 C8.74521691 6.72708993 14.28127274 17.7118685 16.56640625 28.37109375 C18.81944458 47.22760373 17.18966937 63.78494127 6.171875 79.62890625 C-0.72847028 88.25433785 -10.60542847 94.33104014 -21.6484375 95.75 C-26.10760952 96.1323478 -30.52990312 96.12696002 -35 96 C-36.04285156 95.99613281 -37.08570313 95.99226562 -38.16015625 95.98828125 C-49.96407404 95.49574367 -59.20615065 90.15567818 -67.36328125 81.97265625 C-71.17173824 77.67897363 -73.72593037 73.24477327 -76 68 C-76.32484375 67.28972656 -76.6496875 66.57945312 -76.984375 65.84765625 C-83.06630456 51.36004102 -81.20919213 31.11658435 -75.78125 16.78125 C-70.14680543 4.38547195 -60.29896527 -4.0637935 -47.625 -8.875 C-31.0251026 -13.26136529 -13.82212312 -9.92110579 0 0 Z " fill="#3B352B" transform="translate(1693,557)"/>
|
|
7
|
+
<path d="M0 0 C10.58422418 7.3008714 15.72868988 16.68997588 19.71484375 28.6484375 C19.94398971 30.45614451 20.12542186 32.27010925 20.27734375 34.0859375 C20.36113281 35.03339844 20.44492188 35.98085938 20.53125 36.95703125 C20.79108635 42.18140046 20.71484375 47.41761075 20.71484375 52.6484375 C-2.71515625 52.6484375 -26.14515625 52.6484375 -50.28515625 52.6484375 C-48.0283323 67.16569564 -48.0283323 67.16569564 -39.1640625 77.421875 C-32.36559758 81.85995813 -24.11361169 81.59155374 -16.28515625 80.6484375 C-12.39832371 79.59329988 -9.30536943 78.32810908 -6.28515625 75.6484375 C-5.58024368 74.26656729 -4.88306406 72.88073944 -4.19140625 71.4921875 C-2.61337328 68.83444777 -1.93953453 67.82789323 1.0793457 67 C3.93312397 66.86052867 6.67738346 66.9493805 9.52734375 67.1484375 C10.50638672 67.18453125 11.48542969 67.220625 12.49414062 67.2578125 C14.90506494 67.35189735 17.30792812 67.48312299 19.71484375 67.6484375 C17.92881037 77.28639165 13.08766623 85.26550105 5.27734375 91.1484375 C-5.62165639 98.43037181 -15.29278407 100.47109862 -28.28515625 99.6484375 C-29.3009375 99.61492187 -30.31671875 99.58140625 -31.36328125 99.546875 C-42.85236185 98.93711933 -53.16395678 93.29214213 -61.03515625 84.9609375 C-64.85291672 80.34596486 -67.10578549 75.18660321 -69.28515625 69.6484375 C-69.69765625 68.6171875 -70.11015625 67.5859375 -70.53515625 66.5234375 C-74.64096102 50.78451922 -73.68520207 31.22944884 -66.28515625 16.6484375 C-64.50191155 13.76658669 -62.50685665 11.20442153 -60.28515625 8.6484375 C-59.68703125 7.95621094 -59.08890625 7.26398437 -58.47265625 6.55078125 C-43.51726152 -9.58054169 -18.34565583 -10.85059302 0 0 Z " fill="#3C352B" transform="translate(1795.28515625,553.3515625)"/>
|
|
8
|
+
<path d="M0 0 C68.02085037 0.81617906 68.02085037 0.81617906 95 3 C96.34259006 3.10215937 97.685201 3.20404467 99.02783203 3.30566406 C124.87524365 5.31268983 150.39373226 9.63610269 175.93725586 13.93920898 C200.73495743 18.1043258 225.60534341 21.66923699 250.6875 23.625 C252.15332056 23.74389341 253.61914087 23.86279 255.08496094 23.98168945 C272.03494818 25.32732218 289.01763918 26.1825808 306 27 C306.33 26.34 306.66 25.68 307 25 C325.48 25 343.96 25 363 25 C363.66 26.32 364.32 27.64 365 29 C361.06899354 32.93100646 355.09333338 32.28417627 349.7890625 32.55078125 C348.96540192 32.59262039 348.14174133 32.63445953 347.29312134 32.67756653 C335.99249404 33.19799101 324.68538683 33.19657105 313.375 33.1875 C312.21313171 33.18756042 311.05126343 33.18762085 309.85418701 33.18768311 C289.19410185 33.17243424 268.67451408 32.58429808 248.10887814 30.51191139 C233.67969807 29.0953007 219.3900498 28.69419006 204.89868164 28.68115234 C202.48152339 28.67182571 200.06436828 28.66165311 197.6472168 28.65071106 C191.16325503 28.62370492 184.67931461 28.60835015 178.19531178 28.59528303 C172.08206845 28.58205826 165.96886315 28.55801183 159.85565036 28.53501268 C147.76698454 28.4898177 135.67830902 28.45309179 123.58959961 28.421875 C111.8636709 28.39157647 100.13776574 28.35717543 88.41186523 28.31738281 C87.32320832 28.31369049 87.32320832 28.31369049 86.21255834 28.30992357 C82.57068524 28.29754679 78.92881243 28.28509068 75.28693974 28.27259517 C45.19132594 28.16943725 15.09568417 28.08024492 -15 28 C-13.46564152 24.03320371 -11.62892146 20.52584411 -9.4375 16.875 C-7.64686939 13.88937474 -6.10117028 11.30351083 -5 8 C-5.80018555 8.15017578 -6.60037109 8.30035156 -7.42480469 8.45507812 C-11.67978817 9.10361153 -15.91142198 9.42394208 -20.203125 9.71875 C-21.08095642 9.78155151 -21.95878784 9.84435303 -22.86322021 9.90905762 C-25.65863156 10.1087077 -28.45428766 10.30461372 -31.25 10.5 C-34.03139165 10.69587265 -36.81271669 10.89259665 -39.59393311 11.09094238 C-41.31912454 11.21382971 -43.04441984 11.33527155 -44.76983643 11.45495605 C-49.81334058 11.81246064 -54.83885015 12.26557516 -59.86709595 12.79698181 C-63.59180306 13.15151407 -67.26272214 13.06027868 -71 13 C-71.66 11.68 -72.32 10.36 -73 9 C-66.74966872 2.74966872 -47.70300388 4.08163207 -38.875 3.375 C-38.06616364 3.30896576 -37.25732727 3.24293152 -36.42398071 3.17489624 C-24.26566595 2.19168777 -12.20234825 1.58136798 0 2 C0 1.34 0 0.68 0 0 Z " fill="#C86246" transform="translate(362,710)"/>
|
|
9
|
+
<path d="M0 0 C7.26 0 14.52 0 22 0 C22.33 16.83 22.66 33.66 23 51 C25.31 48.36 27.62 45.72 30 43 C40.24298262 35.75111999 49.75611415 34.93791409 62 36 C70.26307422 37.57845905 76.59932638 42.71473329 82 49 C86.97056661 57.00014749 90.25984365 64.90518534 90.22705078 74.38232422 C90.22734283 75.09521103 90.22763489 75.80809784 90.22793579 76.54258728 C90.22655138 78.88008132 90.2110326 81.21724969 90.1953125 83.5546875 C90.1915792 85.18278835 90.18873372 86.81089146 90.18673706 88.43899536 C90.17912556 92.71006548 90.15949856 96.98099811 90.1373291 101.25201416 C90.11681703 105.61590719 90.1077239 109.97982258 90.09765625 114.34375 C90.07625016 122.89590325 90.04108842 131.44791864 90 140 C82.74 140 75.48 140 68 140 C67.970271 137.2158667 67.970271 137.2158667 67.93994141 134.37548828 C67.87187621 128.20874141 67.79508027 122.04215031 67.71247292 115.87558174 C67.66275452 112.14072429 67.61642473 108.40589182 67.578125 104.67089844 C67.54096018 101.05920683 67.49452086 97.4477377 67.44193649 93.83623886 C67.42355669 92.46574728 67.40838978 91.09520831 67.39665604 89.72464371 C67.65458942 75.06918132 67.65458942 75.06918132 62 62 C56.74582067 56.86523383 52.31429778 55.26303951 45.0625 54.6875 C38.50458409 54.87813709 32.64276584 57.35723416 28 62 C23.74131032 68.02834789 22.8916103 73.38397359 22.79467773 80.6262207 C22.77982834 81.59291939 22.77982834 81.59291939 22.76467896 82.57914734 C22.73326613 84.69465549 22.70838721 86.81018605 22.68359375 88.92578125 C22.66300672 90.39837708 22.6420098 91.87096724 22.62062073 93.34355164 C22.56558057 97.20845933 22.51609214 101.07341874 22.46777344 104.93841553 C22.41742608 108.88672457 22.36180928 112.83495903 22.30664062 116.78320312 C22.19928008 124.52207387 22.09827392 132.26100756 22 140 C14.74 140 7.48 140 0 140 C0 93.8 0 47.6 0 0 Z " fill="#3D372D" transform="translate(1834,511)"/>
|
|
10
|
+
<path d="M0 0 C1.05079491 0.00040031 1.05079491 0.00040031 2.12281799 0.00080872 C22.91868204 0.01072201 43.59665471 0.16406596 64.3125 2.1875 C65.68141332 2.31304298 67.05039425 2.43785054 68.41943359 2.56201172 C105.02119217 5.92562438 140.79285384 12.98280399 176.67963409 20.71992493 C198.78312613 25.48335267 220.84554461 29.95816375 243.27459717 32.91717529 C245.3287107 33.18965032 247.38143085 33.47113 249.43408203 33.75439453 C290.24548089 39.34020441 331.15724906 40.87972171 372.3125 40.1875 C373.6104248 40.16671387 374.90834961 40.14592773 376.24560547 40.12451172 C401.39688439 39.62875721 426.75557562 37.40737124 451.68945312 34.10205078 C465.05324195 32.34799464 465.05324195 32.34799464 469.3125 35.1875 C469.625 37.6875 469.625 37.6875 469.3125 40.1875 C467.02453336 42.47546664 466.40210225 42.52114454 463.30078125 42.8984375 C461.98267456 43.06110107 461.98267456 43.06110107 460.63793945 43.22705078 C459.64366943 43.33774902 458.64939941 43.44844727 457.625 43.5625 C456.55918701 43.6847998 455.49337402 43.80709961 454.39526367 43.93310547 C424.80924935 47.19512735 395.08656585 49.83455515 365.3125 50.1875 C363.78399414 50.21021973 363.78399414 50.21021973 362.22460938 50.23339844 C354.91839762 50.33021637 347.61843231 50.29210259 340.3125 50.1875 C338.99604492 50.16961426 337.67958984 50.15172852 336.32324219 50.13330078 C315.33115735 49.82003602 294.51223975 48.58998105 273.60394287 46.71833801 C266.18236206 46.06550471 258.75002504 45.61422266 251.3125 45.1875 C251.3125 44.5275 251.3125 43.8675 251.3125 43.1875 C250.01699219 43.24035156 248.72148438 43.29320312 247.38671875 43.34765625 C239.52290752 43.3271098 231.85582827 41.92732425 224.125 40.625 C223.25800476 40.48144073 222.39100952 40.33788147 221.4977417 40.18997192 C202.0207067 36.93743253 182.74030968 32.76355725 163.4375 28.625 C129.49901606 21.35381484 95.99378153 14.86284934 61.3125 12.1875 C60.11931152 12.08453613 58.92612305 11.98157227 57.69677734 11.87548828 C15.78479026 8.29949585 -27.80284315 8.42245999 -69.6875 12.1875 C-71.0326478 12.30189783 -72.37786541 12.41547729 -73.72314453 12.52832031 C-88.48937251 13.77278685 -103.22597978 15.21660601 -117.90454102 17.27319336 C-129.83559512 18.89072405 -129.83559512 18.89072405 -135.6875 18.1875 C-136.3475 17.5275 -137.0075 16.8675 -137.6875 16.1875 C-137.5 13.6875 -137.5 13.6875 -136.6875 11.1875 C-133.18317489 8.85128326 -130.19895633 8.50774273 -126.12890625 8.00390625 C-124.98363716 7.85371284 -124.98363716 7.85371284 -123.81523132 7.70048523 C-121.29462022 7.37393723 -118.77258624 7.06090003 -116.25 6.75 C-115.38314575 6.6411145 -114.5162915 6.532229 -113.62316895 6.42004395 C-101.08240325 4.85021919 -88.53114721 3.50236208 -75.9375 2.4375 C-75.26059113 2.37869659 -74.58368225 2.31989319 -73.88626099 2.25930786 C-49.31616714 0.1577531 -24.64401017 -0.0211835 0 0 Z " fill="#D67C60" transform="translate(344.6875,570.8125)"/>
|
|
11
|
+
<path d="M0 0 C8.02020247 5.13541646 12.54754348 11.69731795 15.51953125 20.61328125 C16.8407672 29.60864932 16.65006764 38.7142766 16.6171875 47.78125 C16.615318 49.31252496 16.61389662 50.84380052 16.61289978 52.37507629 C16.60911643 56.3681916 16.59932283 60.36126943 16.5881958 64.35437012 C16.5778908 68.44392388 16.57338286 72.53348382 16.56835938 76.62304688 C16.55769599 84.61981062 16.54013406 92.61653693 16.51953125 100.61328125 C9.58953125 100.61328125 2.65953125 100.61328125 -4.48046875 100.61328125 C-4.48981445 98.57019775 -4.49916016 96.52711426 -4.50878906 94.42211914 C-4.54267337 87.64461277 -4.59828531 80.86740722 -4.66437149 74.09014225 C-4.70375099 69.98415169 -4.73598578 65.87837253 -4.75146484 61.7722168 C-4.76669478 57.80377563 -4.80125086 53.83591601 -4.84877777 49.86773491 C-4.86352669 48.35966507 -4.87150601 46.85151216 -4.8723526 45.34337044 C-4.8830981 35.79270879 -5.51972628 28.18765955 -11.16796875 20.23828125 C-17.00207831 16.13863669 -23.48665045 14.94720332 -30.48046875 15.61328125 C-35.88319227 16.93076959 -40.90610081 19.22417136 -44.48046875 23.61328125 C-49.18331754 31.68000347 -49.08458805 40.19726421 -49.08984375 49.24609375 C-49.10485335 50.73397598 -49.12158625 52.22184172 -49.13995361 53.70968628 C-49.18332837 57.59265989 -49.20355907 61.47540889 -49.21868896 65.35858154 C-49.23836893 69.3342399 -49.280326 73.30965945 -49.3203125 77.28515625 C-49.39529042 85.06116345 -49.44371336 92.83698222 -49.48046875 100.61328125 C-56.74046875 100.61328125 -64.00046875 100.61328125 -71.48046875 100.61328125 C-71.48046875 66.95328125 -71.48046875 33.29328125 -71.48046875 -1.38671875 C-64.22046875 -1.38671875 -56.96046875 -1.38671875 -49.48046875 -1.38671875 C-49.15046875 2.57328125 -48.82046875 6.53328125 -48.48046875 10.61328125 C-47.53171875 9.39640625 -46.58296875 8.17953125 -45.60546875 6.92578125 C-34.80351177 -5.50749168 -14.27747459 -7.08881605 0 0 Z " fill="#3B352B" transform="translate(2016.48046875,550.38671875)"/>
|
|
12
|
+
<path d="M0 0 C0.66 0 1.32 0 2 0 C3.41978032 2.09561813 4.70336872 4.17783027 5.96484375 6.3671875 C6.3576503 7.03477081 6.75045685 7.70235413 7.15516663 8.39016724 C8.42293973 10.54776558 9.6805553 12.71107871 10.9375 14.875 C11.7499365 16.26474088 12.56308045 17.65406845 13.37695312 19.04296875 C13.98137489 20.07870277 13.98137489 20.07870277 14.5980072 21.13536072 C15.43325765 22.55239746 16.27982594 23.96281756 17.13697815 25.36671448 C19.43656658 29.16062378 21.43159617 32.8996015 23.16186523 36.98803711 C27.07144989 45.66491882 27.07144989 45.66491882 34.56655884 51.03417969 C42.33395648 52.84747205 50.25282681 52.74552417 58.1875 52.8125 C60.69195243 52.89977198 63.19606083 52.99751489 65.69970703 53.10546875 C69.48473059 53.26819949 73.26886213 53.42575896 77.05529785 53.5519104 C87.70320674 53.91151495 98.21611753 54.82953881 108.78262329 56.17294312 C111.3337991 56.49480205 113.88722963 56.78690056 116.44213867 57.07739258 C117.96951764 57.2681211 119.49663798 57.46093718 121.0234375 57.65625 C122.33231934 57.81931641 123.64120117 57.98238281 124.98974609 58.15039062 C128 59 128 59 129.43603516 61.08398438 C129.62214355 61.71626953 129.80825195 62.34855469 130 63 C128.15809144 64.84190856 125.25828302 64.16570489 122.7890625 64.17578125 C115.51858464 64.12166086 108.553209 63.26234311 101.375 62.1875 C69.42212898 57.78558236 37.47620744 56.71784082 5.2589035 56.68992615 C2.92318369 56.68754904 0.58748401 56.68224072 -1.74822998 56.67663574 C-33.99322936 56.61979532 -66.34010456 57.93579185 -98.34375 62.05078125 C-99.06895844 62.14367432 -99.79416687 62.23656738 -100.54135132 62.33227539 C-104.14763269 62.79642202 -107.75180824 63.27222086 -111.35400391 63.76708984 C-112.67609045 63.94250585 -113.9981926 64.11780429 -115.3203125 64.29296875 C-116.48836426 64.4530542 -117.65641602 64.61313965 -118.85986328 64.77807617 C-121.84109731 64.98876982 -124.12421877 64.75147906 -127 64 C-126.67 62.35 -126.34 60.7 -126 59 C-103.39525923 55.92210196 -80.84910938 53.39176729 -58.08032227 51.90112305 C-56.83009529 51.81869606 -56.83009529 51.81869606 -55.55461121 51.73460388 C-54.00634172 51.63391644 -52.45785721 51.53645631 -50.90913391 51.44300842 C-46.88294676 51.18706391 -42.96642544 50.73869911 -39 50 C-81.19407195 44.30949514 -123.14858972 40.58685744 -165.73335648 40.68234634 C-168.22823591 40.68758554 -170.72310281 40.68949972 -173.21798706 40.69100952 C-205.52762731 40.72499103 -237.60520154 41.99559743 -269.68188477 46.08520508 C-276.15779395 46.90243577 -282.47389493 47.15025385 -289 47 C-289.33 45.35 -289.66 43.7 -290 42 C-286.48978131 39.65985421 -284.37675421 39.4980821 -280.203125 39.03515625 C-279.5008075 38.95631699 -278.79848999 38.87747772 -278.07489014 38.79624939 C-276.5620826 38.62848729 -275.04881354 38.46484531 -273.53515625 38.30493164 C-271.38147628 38.07644828 -269.22989329 37.8336266 -267.078125 37.58789062 C-261.72474314 36.99289604 -256.3637687 36.49139825 -251 36 C-250.35366985 35.93980808 -249.70733971 35.87961617 -249.0414238 35.81760025 C-223.754052 33.46987034 -198.64140492 32.46246097 -173.24825287 32.55357361 C-170.50918595 32.5626772 -167.77014669 32.56659199 -165.03106689 32.56970215 C-137.34407845 32.61527179 -109.95319696 33.48815886 -82.42950439 36.71820068 C-79.18292402 37.09477301 -75.93356653 37.44356011 -72.68405151 37.79373169 C-56.74461104 39.51854711 -40.85124918 41.59498288 -25 44 C-24.74637695 43.30865967 -24.49275391 42.61731934 -24.23144531 41.9050293 C-22.82869114 38.59587546 -21.12292802 35.61579526 -19.296875 32.51953125 C-18.93660217 31.90663742 -18.57632935 31.29374359 -18.20513916 30.66227722 C-17.05667412 28.7104166 -15.90338146 26.76145857 -14.75 24.8125 C-13.99057532 23.52296903 -13.23145801 22.23325699 -12.47265625 20.94335938 C-11.003279 18.44689302 -9.52829817 15.95387585 -8.04882812 13.46337891 C-6.74426323 11.26597296 -5.45977572 9.06071337 -4.18554688 6.84521484 C-3.65509766 5.93078613 -3.12464844 5.01635742 -2.578125 4.07421875 C-1.8960498 2.88252075 -1.8960498 2.88252075 -1.20019531 1.66674805 C-0.60609863 0.84170776 -0.60609863 0.84170776 0 0 Z " fill="#C96448" transform="translate(507,469)"/>
|
|
13
|
+
<path d="M0 0 C0.99902344 -0.00257813 1.99804688 -0.00515625 3.02734375 -0.0078125 C6.0625 0.125 6.0625 0.125 12.0625 1.125 C12.0625 6.735 12.0625 12.345 12.0625 18.125 C4.8125 18.375 4.8125 18.375 2.54980469 18.42285156 C-0.79789002 18.59392795 -2.68092102 18.92801356 -5.359375 20.984375 C-8.27899975 24.94465808 -8.23015147 29.08081947 -8.5 33.8125 C-8.644375 36.225625 -8.78875 38.63875 -8.9375 41.125 C-2.0075 41.125 4.9225 41.125 12.0625 41.125 C12.0625 46.735 12.0625 52.345 12.0625 58.125 C5.1325 58.125 -1.7975 58.125 -8.9375 58.125 C-8.9375 86.175 -8.9375 114.225 -8.9375 143.125 C-15.8675 143.125 -22.7975 143.125 -29.9375 143.125 C-29.9375 115.075 -29.9375 87.025 -29.9375 58.125 C-34.5575 58.125 -39.1775 58.125 -43.9375 58.125 C-43.9375 52.515 -43.9375 46.905 -43.9375 41.125 C-39.3175 41.125 -34.6975 41.125 -29.9375 41.125 C-29.97230469 39.85785156 -30.00710938 38.59070313 -30.04296875 37.28515625 C-30.07113237 35.58595089 -30.09842975 33.88673102 -30.125 32.1875 C-30.16270508 30.94129883 -30.16270508 30.94129883 -30.20117188 29.66992188 C-30.30673637 20.62656386 -28.2232987 13.50364608 -21.96875 6.8515625 C-15.68226084 1.50804671 -8.05826921 -0.02074201 0 0 Z " fill="#3B352B" transform="translate(1596.9375,507.875)"/>
|
|
14
|
+
<path d="M0 0 C1.05979631 -0.00088371 1.05979631 -0.00088371 2.14100266 -0.00178528 C27.55507711 -0.01995113 52.91634979 0.47385028 78.25 2.625 C79.18101532 2.70242432 80.11203064 2.77984863 81.07125854 2.85961914 C103.79382769 4.78315378 126.4000691 7.70376491 149.02419662 10.52573776 C176.34125165 13.93247717 203.61222617 17.04708413 231.07666016 19.02789307 C234.47945009 19.27778904 237.88010582 19.55285993 241.28125 19.82421875 C258.39579978 21.14981147 275.52333533 21.86086348 292.68444824 22.14459229 C294.44172246 22.17398192 296.1989654 22.20528588 297.95617676 22.23822021 C337.98541704 22.98014372 377.77805124 21.08095213 417.73135376 18.89753723 C430.89927788 18.18223247 444.06973268 17.62664939 457.25 17.1875 C457.58 18.5075 457.91 19.8275 458.25 21.1875 C455.27042966 23.17388023 454.50433878 23.4595935 451.14135742 23.65820312 C450.30703186 23.7117244 449.4727063 23.76524567 448.61309814 23.82038879 C447.70308044 23.86934799 446.79306274 23.91830719 445.85546875 23.96875 C444.42119537 24.05638863 444.42119537 24.05638863 442.95794678 24.14579773 C439.78496683 24.33648361 436.61140539 24.51293476 433.4375 24.6875 C431.18757386 24.81537888 428.93765535 24.94339198 426.68774414 25.0715332 C422.07148814 25.33164819 417.45487684 25.58376771 412.83789062 25.83056641 C408.7966868 26.04703343 404.75642625 26.27302046 400.71679688 26.51708984 C347.67139067 29.71440536 293.49925937 30.19647128 240.47668457 26.34893799 C238.17714687 26.18221804 235.87720634 26.0221634 233.57714844 25.86279297 C205.21310004 23.87223083 176.97426377 20.79931593 148.765625 17.2578125 C147.3731301 17.08311516 145.98063334 16.90843265 144.58813477 16.73376465 C143.89110443 16.64632996 143.1940741 16.55889526 142.47592163 16.46881104 C138.90066924 16.02043564 135.32537034 15.57243391 131.75 15.125 C131.04009918 15.03616043 130.33019836 14.94732086 129.5987854 14.85578918 C112.42464781 12.70929669 95.25958678 10.5948689 78 9.25 C77.31655518 9.1963327 76.63311035 9.14266541 75.92895508 9.08737183 C72.04443568 8.78928509 68.15858623 8.53251547 64.26919556 8.30709839 C62.90982076 8.22658165 61.55073901 8.14097385 60.19198608 8.05056763 C42.17568524 6.85977705 24.11855431 7.00011433 6.07202148 7.00219727 C2.42223096 7.00227804 -1.22743274 6.99539988 -4.87719727 6.98168945 C-28.58283017 6.89412097 -52.10666935 7.43292186 -75.75 9.1875 C-76.8009787 9.26380646 -77.8519574 9.34011292 -78.93478394 9.41873169 C-84.75166555 9.84505008 -90.5637397 10.31604801 -96.375 10.8125 C-98.00257271 10.94829427 -99.63017713 11.08370885 -101.2578125 11.21875 C-105.08891417 11.53738229 -108.9195762 11.86082397 -112.75 12.1875 C-113.13218767 10.53135343 -113.46395102 8.86292976 -113.75 7.1875 C-111.72828925 5.16578925 -107.80110388 5.55941398 -105.01953125 5.28515625 C-104.21594177 5.20307419 -103.41235229 5.12099213 -102.58441162 5.03642273 C-68.33710795 1.58455083 -34.41596033 0.01273413 0 0 Z " fill="#B69A78" transform="translate(349.75,440.8125)"/>
|
|
15
|
+
<path d="M0 0 C6.71828759 3.46907941 11.74740317 9.23152813 14.1875 16.375 C14.56940113 17.76350144 14.92540426 19.15949525 15.25 20.5625 C15.43175781 21.15417969 15.61351562 21.74585938 15.80078125 22.35546875 C18.07985681 33.55266607 16.67225572 47.01573256 11 56.9375 C7.07756332 62.59146278 2.15535523 67.25960279 -4.75 68.5625 C-12.2080578 69.23762829 -18.64952388 69.26495034 -24.75 64.5625 C-32.75998565 57.46541713 -36.47070173 50.06719496 -37.16015625 39.42578125 C-37.66075367 26.35838456 -36.85387538 14.75952364 -27.75 4.5625 C-25.71484375 3.015625 -25.71484375 3.015625 -23.6875 1.8125 C-23.01589844 1.40515625 -22.34429688 0.9978125 -21.65234375 0.578125 C-15.24046176 -2.84505635 -6.69567018 -2.56628474 0 0 Z " fill="#F7F4F0" transform="translate(1671.75,566.4375)"/>
|
|
16
|
+
<path d="M0 0 C68.02085037 0.81617906 68.02085037 0.81617906 95 3 C96.34259006 3.10215937 97.685201 3.20404467 99.02783203 3.30566406 C124.87524365 5.31268983 150.39373226 9.63610269 175.93725586 13.93920898 C200.73495743 18.1043258 225.60534341 21.66923699 250.6875 23.625 C252.15332056 23.74389341 253.61914087 23.86279 255.08496094 23.98168945 C272.03494818 25.32732218 289.01763918 26.1825808 306 27 C306.33 26.34 306.66 25.68 307 25 C325.48 25 343.96 25 363 25 C363.66 26.32 364.32 27.64 365 29 C361.06899354 32.93100646 355.09333338 32.28417627 349.7890625 32.55078125 C348.96540192 32.59262039 348.14174133 32.63445953 347.29312134 32.67756653 C335.99249404 33.19799101 324.68538683 33.19657105 313.375 33.1875 C312.21313171 33.18756042 311.05126343 33.18762085 309.85418701 33.18768311 C291.93589039 33.17445791 274.15457798 32.72075821 256.29394531 31.26464844 C253.30894966 31.02482222 250.32451472 30.82153108 247.3359375 30.6328125 C223.16458175 28.98551729 199.11435112 24.68480904 175.234375 20.74609375 C148.54642346 16.34818344 121.97795297 12.11079081 95 10 C94.28305969 9.94261658 93.56611938 9.88523315 92.82745361 9.82611084 C72.14505445 8.18737799 51.4926608 7.82347786 30.75 7.8125 C29.08647491 7.81086853 29.08647491 7.81086853 27.38934326 7.8092041 C14.55370694 7.81063444 1.80104211 8.06001054 -11 9 C-12.66288812 9.11614426 -14.32581326 9.2317595 -15.98876953 9.34692383 C-20.4099762 9.65590194 -24.83024268 9.97651498 -29.25024414 10.30224609 C-31.95901124 10.501583 -34.66796952 10.698161 -37.37695312 10.89453125 C-39.13542867 11.02327362 -40.89389265 11.15217418 -42.65234375 11.28125 C-43.44422592 11.338573 -44.23610809 11.395896 -45.05198669 11.45495605 C-49.99546047 11.82162844 -54.92361156 12.27821559 -59.85350037 12.79698181 C-63.58306249 13.14972771 -67.25798946 13.06035501 -71 13 C-71.66 11.68 -72.32 10.36 -73 9 C-66.74966872 2.74966872 -47.70300388 4.08163207 -38.875 3.375 C-38.06616364 3.30896576 -37.25732727 3.24293152 -36.42398071 3.17489624 C-24.26566595 2.19168777 -12.20234825 1.58136798 0 2 C0 1.34 0 0.68 0 0 Z " fill="#B49572" transform="translate(362,710)"/>
|
|
17
|
+
<path d="M0 0 C0.97705493 -0.00726608 0.97705493 -0.00726608 1.97384834 -0.01467896 C6.969537 -0.05126313 11.96512716 -0.06704539 16.9609375 -0.07421875 C17.70077 -0.07551662 18.44060249 -0.0768145 19.20285416 -0.0781517 C49.37724157 -0.11819913 79.29168228 1.29725749 109.3359375 4.23828125 C110.37280701 4.33965393 111.40967651 4.44102661 112.47796631 4.54547119 C119.22981093 5.21542064 125.97169065 5.95227519 132.7109375 6.73828125 C133.99343887 6.88141251 133.99343887 6.88141251 135.30184937 7.0274353 C137.6574574 7.2959704 140.00817332 7.59008881 142.359375 7.89453125 C143.66825684 8.05759766 144.97713867 8.22066406 146.32568359 8.38867188 C149.3359375 9.23828125 149.3359375 9.23828125 150.77197266 11.32226562 C150.95808105 11.95455078 151.14418945 12.58683594 151.3359375 13.23828125 C149.49402894 15.08018981 146.59422052 14.40398614 144.125 14.4140625 C136.85452214 14.35994211 129.8891465 13.50062436 122.7109375 12.42578125 C90.75806648 8.02386361 58.81214494 6.95612207 26.594841 6.9282074 C24.25912119 6.92583029 21.92342151 6.92052197 19.58770752 6.91491699 C-12.65729186 6.85807657 -45.00416706 8.1740731 -77.0078125 12.2890625 C-78.09562515 12.4284021 -78.09562515 12.4284021 -79.20541382 12.57055664 C-82.81169519 13.03470327 -86.41587074 13.51050211 -90.01806641 14.00537109 C-91.34015295 14.1807871 -92.6622551 14.35608554 -93.984375 14.53125 C-95.15242676 14.69133545 -96.32047852 14.8514209 -97.52392578 15.01635742 C-100.50515981 15.22705107 -102.78828127 14.98976031 -105.6640625 14.23828125 C-105.3340625 12.58828125 -105.0040625 10.93828125 -104.6640625 9.23828125 C-79.82613695 5.85630917 -55.04856417 3.23448738 -30.02638245 1.68128967 C-26.33101568 1.44627289 -22.66412116 1.13183222 -18.984375 0.71704102 C-12.66221987 0.07092675 -6.35055925 0.038907 0 0 Z " fill="#D67D62" transform="translate(485.6640625,518.76171875)"/>
|
|
18
|
+
<path d="M0 0 C6.74747782 4.12667635 10.90092795 9.92614335 13.15234375 17.421875 C13.5625 19.5 13.5625 19.5 13.5625 23.5 C-2.9375 23.5 -19.4375 23.5 -36.4375 23.5 C-35.23605486 12.68699378 -33.33469997 8.7566131 -25.53515625 1.98046875 C-18.52886106 -2.96438391 -7.82045743 -3.46553604 0 0 Z " fill="#F5F2EE" transform="translate(1781.4375,566.5)"/>
|
|
19
|
+
</svg>
|