covjsonkit 0.2.20__tar.gz → 0.2.22__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.
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/PKG-INFO +1 -1
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/Path.py +6 -2
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/VerticalProfile.py +1 -1
- covjsonkit-0.2.22/covjsonkit/version.py +1 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit.egg-info/PKG-INFO +1 -1
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/pyproject.toml +15 -1
- covjsonkit-0.2.20/covjsonkit/version.py +0 -1
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/.github/ci-hpc-config.yml +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/.github/workflows/ci.yaml +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/.github/workflows/label-public-pr.yml +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/.gitignore +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/.pre-commit-config.yaml +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/ACKNOWLEDGEMENTS.rst +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/LICENSE +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/MANIFEST.in +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/Makefile +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/README.md +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/Coverage.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/CoverageCollection.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/__init__.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/api.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/config.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/data/__init__.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/data/dwd/param.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/data/dwd/param_id.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/data/dwd/unit.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/data/ecmwf/param.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/data/ecmwf/param_id.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/data/ecmwf/unit.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/BoundingBox.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/Circle.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/Frame.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/Grid.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/Path.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/Position.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/Shapefile.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/TimeSeries.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/VerticalProfile.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/Wkt.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/__init__.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/decoder/decoder.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/BoundingBox.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/Circle.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/Frame.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/Grid.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/Position.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/Shapefile.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/TimeSeries.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/Wkt.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/__init__.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/encoder/encoder.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/param_db.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit/utils.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit.egg-info/SOURCES.txt +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit.egg-info/dependency_links.txt +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit.egg-info/not-zip-safe +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit.egg-info/requires.txt +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/covjsonkit.egg-info/top_level.txt +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/docs/images/ECMWF_logo.svg.png +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/docs/images/Logo_Destination_Earth_Colours.png +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/example_config.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/requirements.txt +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/scripts/generate_param_db.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/setup.cfg +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/setup.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/conftest.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_coverage1.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_coverage2.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_geotiff.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_multipoint_coverage.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_path_coverage.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_timeseries_coverage.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_timeseries_param_t.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_timeseries_xyz_coverage.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_verticalprofile_coverage.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_verticalprofile_param_t.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/data/test_verticalprofile_xyz_coverage.json +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/geojsontest.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/requirements_test.txt +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_bounding_box.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_circle.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_frame.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_grid.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_position.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_shapefile.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_time_series.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_vertical_profile.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_decoder_wkt.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_bounding_box.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_bounding_box_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_circle_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_frame.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_frame_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_grid.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_grid_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_path.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_path_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_position_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_shapefile.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_shapefile_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_time_series.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_time_series_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_vertical_profile_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_wkt.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_wkt_from_polytope.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_geojson.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_geotiff.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_util_merge.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_xarray_multipoint.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_xarray_path.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_xarray_ts.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_xarray_vp.py +0 -0
- {covjsonkit-0.2.20 → covjsonkit-0.2.22}/tox.ini +0 -0
|
@@ -160,13 +160,17 @@ class Path(Encoder):
|
|
|
160
160
|
if (date, level, fields["number"][0], fields["param"][0], s) in range_dict:
|
|
161
161
|
cor_len = len(range_dict[(date, level, fields["number"][0], fields["param"][0], s)])
|
|
162
162
|
end = start + cor_len
|
|
163
|
+
# Normalize the step value before it is placed into the composite (t)
|
|
164
|
+
# coordinate so that timedelta/Timedelta values are JSON serialisable.
|
|
165
|
+
# The original ``s`` is kept for the range_dict lookups above.
|
|
166
|
+
s_norm = normalize_step_value(s)
|
|
163
167
|
if len(fields["levels"]) != 1:
|
|
164
168
|
for lev in fields["levels"]:
|
|
165
169
|
for cor in coord[int(start) : int(end)]:
|
|
166
|
-
coords[date]["composite"].append([
|
|
170
|
+
coords[date]["composite"].append([s_norm, cor[0], cor[1], lev])
|
|
167
171
|
else:
|
|
168
172
|
for cor in coord[int(start) : int(end)]:
|
|
169
|
-
coords[date]["composite"].append([
|
|
173
|
+
coords[date]["composite"].append([s_norm, cor[0], cor[1], level])
|
|
170
174
|
start = end
|
|
171
175
|
logging.debug("The coordinates returned from walking tree: %s", coords) # noqa: E501
|
|
172
176
|
|
|
@@ -229,7 +229,7 @@ class VerticalProfile(Encoder):
|
|
|
229
229
|
mm = mars_metadata.copy()
|
|
230
230
|
mm["number"] = num
|
|
231
231
|
mm["Forecast date"] = date
|
|
232
|
-
mm["step"] = step
|
|
232
|
+
mm["step"] = normalize_step_value(step)
|
|
233
233
|
# del mm["step"]
|
|
234
234
|
self.add_coverage(mm, coordinates[date][i][s], val_dict[step])
|
|
235
235
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.22"
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
[tool.black]
|
|
2
2
|
line-length = 120
|
|
3
|
+
|
|
4
|
+
# Align ruff (run by the shared downstream-ci QA job) with the repo's existing
|
|
5
|
+
# black / isort / flake8 configuration so it does not introduce a second,
|
|
6
|
+
# conflicting style standard. Mirrors tox.ini's [flake8] settings.
|
|
7
|
+
[tool.ruff]
|
|
8
|
+
line-length = 120
|
|
9
|
+
|
|
10
|
+
[tool.ruff.lint]
|
|
11
|
+
select = ["E", "F", "W"]
|
|
12
|
+
extend-ignore = ["E203"] # matches flake8 extend-ignore (W503 is not a ruff rule)
|
|
13
|
+
|
|
14
|
+
[tool.ruff.lint.per-file-ignores]
|
|
15
|
+
"*/__init__.py" = ["F401", "F403"]
|
|
16
|
+
|
|
3
17
|
[build-system]
|
|
4
18
|
requires = ["setuptools>=61.0","setuptools-scm>=8.0"]
|
|
5
19
|
build-backend = "setuptools.build_meta"
|
|
@@ -8,7 +22,7 @@ markers = ["data: uses test data (deselect with '-m \"not data\"')",]
|
|
|
8
22
|
|
|
9
23
|
[project]
|
|
10
24
|
name = "covjsonkit"
|
|
11
|
-
version = "0.2.
|
|
25
|
+
version = "0.2.22"
|
|
12
26
|
dependencies = [
|
|
13
27
|
"pandas<3",
|
|
14
28
|
"orjson",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.20"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{covjsonkit-0.2.20 → covjsonkit-0.2.22}/tests/test_encoder_vertical_profile_from_polytope.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|