Skip to content

Commit 13bb6da

Browse files
committed
Add tests for x, y, z axes
1 parent 44e1144 commit 13bb6da

File tree

5 files changed

+1517
-2
lines changed

5 files changed

+1517
-2
lines changed

covjsonkit/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.2.10"
1+
__version__ = "0.2.11"
Lines changed: 351 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,351 @@
1+
{
2+
"type": "CoverageCollection",
3+
"domainType": "PointSeries",
4+
"coverages": [
5+
{
6+
"mars:metadata": {
7+
"class": "od",
8+
"Forecast date": "2025-06-23T00:00:00Z",
9+
"domain": "g",
10+
"expver": "0001",
11+
"levtype": "sfc",
12+
"number": 1,
13+
"stream": "enfo",
14+
"type": "pf"
15+
},
16+
"type": "Coverage",
17+
"domain": {
18+
"type": "Domain",
19+
"axes": {
20+
"latitude": {
21+
"values": [
22+
-0.035149384216
23+
]
24+
},
25+
"longitude": {
26+
"values": [
27+
0.981308411215
28+
]
29+
},
30+
"levelist": {
31+
"values": [
32+
0
33+
]
34+
},
35+
"t": {
36+
"values": [
37+
"2025-06-23T00:00:00Z",
38+
"2025-06-23T01:00:00Z",
39+
"2025-06-23T02:00:00Z",
40+
"2025-06-23T03:00:00Z"
41+
]
42+
}
43+
}
44+
},
45+
"ranges": {
46+
"tcc": {
47+
"type": "NdArray",
48+
"dataType": "float",
49+
"shape": [
50+
4
51+
],
52+
"axisNames": [
53+
"tcc"
54+
],
55+
"values": [
56+
0.31280517578125,
57+
0.45086669921875,
58+
0.421661376953125,
59+
0.233123779296875
60+
]
61+
},
62+
"2t": {
63+
"type": "NdArray",
64+
"dataType": "float",
65+
"shape": [
66+
4
67+
],
68+
"axisNames": [
69+
"2t"
70+
],
71+
"values": [
72+
299.13653564453125,
73+
299.2686462402344,
74+
298.88636779785156,
75+
298.9047088623047
76+
]
77+
}
78+
}
79+
},
80+
{
81+
"mars:metadata": {
82+
"class": "od",
83+
"Forecast date": "2025-06-23T00:00:00Z",
84+
"domain": "g",
85+
"expver": "0001",
86+
"levtype": "sfc",
87+
"number": 2,
88+
"stream": "enfo",
89+
"type": "pf"
90+
},
91+
"type": "Coverage",
92+
"domain": {
93+
"type": "Domain",
94+
"axes": {
95+
"latitude": {
96+
"values": [
97+
-0.035149384216
98+
]
99+
},
100+
"longitude": {
101+
"values": [
102+
0.981308411215
103+
]
104+
},
105+
"levelist": {
106+
"values": [
107+
0
108+
]
109+
},
110+
"t": {
111+
"values": [
112+
"2025-06-23T00:00:00Z",
113+
"2025-06-23T01:00:00Z",
114+
"2025-06-23T02:00:00Z",
115+
"2025-06-23T03:00:00Z"
116+
]
117+
}
118+
}
119+
},
120+
"ranges": {
121+
"tcc": {
122+
"type": "NdArray",
123+
"dataType": "float",
124+
"shape": [
125+
4
126+
],
127+
"axisNames": [
128+
"tcc"
129+
],
130+
"values": [
131+
0.831947922706604,
132+
0.763214111328125,
133+
0.762786865234375,
134+
0.990081787109375
135+
]
136+
},
137+
"2t": {
138+
"type": "NdArray",
139+
"dataType": "float",
140+
"shape": [
141+
4
142+
],
143+
"axisNames": [
144+
"2t"
145+
],
146+
"values": [
147+
298.76365661621094,
148+
298.6814422607422,
149+
298.86614990234375,
150+
298.78407287597656
151+
]
152+
}
153+
}
154+
},
155+
{
156+
"mars:metadata": {
157+
"class": "od",
158+
"Forecast date": "2025-06-23T00:00:00Z",
159+
"domain": "g",
160+
"expver": "0001",
161+
"levtype": "sfc",
162+
"number": 1,
163+
"stream": "enfo",
164+
"type": "pf"
165+
},
166+
"type": "Coverage",
167+
"domain": {
168+
"type": "Domain",
169+
"axes": {
170+
"latitude": {
171+
"values": [
172+
38.769770651632
173+
]
174+
},
175+
"longitude": {
176+
"values": [
177+
350.914051841746
178+
]
179+
},
180+
"levelist": {
181+
"values": [
182+
0
183+
]
184+
},
185+
"t": {
186+
"values": [
187+
"2025-06-23T00:00:00Z",
188+
"2025-06-23T01:00:00Z",
189+
"2025-06-23T02:00:00Z",
190+
"2025-06-23T03:00:00Z"
191+
]
192+
}
193+
}
194+
},
195+
"ranges": {
196+
"tcc": {
197+
"type": "NdArray",
198+
"dataType": "float",
199+
"shape": [
200+
4
201+
],
202+
"axisNames": [
203+
"tcc"
204+
],
205+
"values": [
206+
1.0,
207+
1.0,
208+
0.205352783203125,
209+
0.28228759765625
210+
]
211+
},
212+
"2t": {
213+
"type": "NdArray",
214+
"dataType": "float",
215+
"shape": [
216+
4
217+
],
218+
"axisNames": [
219+
"2t"
220+
],
221+
"values": [
222+
292.08770751953125,
223+
292.0010681152344,
224+
292.27699279785156,
225+
292.2133026123047
226+
]
227+
}
228+
}
229+
},
230+
{
231+
"mars:metadata": {
232+
"class": "od",
233+
"Forecast date": "2025-06-23T00:00:00Z",
234+
"domain": "g",
235+
"expver": "0001",
236+
"levtype": "sfc",
237+
"number": 2,
238+
"stream": "enfo",
239+
"type": "pf"
240+
},
241+
"type": "Coverage",
242+
"domain": {
243+
"type": "Domain",
244+
"axes": {
245+
"latitude": {
246+
"values": [
247+
38.769770651632
248+
]
249+
},
250+
"longitude": {
251+
"values": [
252+
350.914051841746
253+
]
254+
},
255+
"levelist": {
256+
"values": [
257+
0
258+
]
259+
},
260+
"t": {
261+
"values": [
262+
"2025-06-23T00:00:00Z",
263+
"2025-06-23T01:00:00Z",
264+
"2025-06-23T02:00:00Z",
265+
"2025-06-23T03:00:00Z"
266+
]
267+
}
268+
}
269+
},
270+
"ranges": {
271+
"tcc": {
272+
"type": "NdArray",
273+
"dataType": "float",
274+
"shape": [
275+
4
276+
],
277+
"axisNames": [
278+
"tcc"
279+
],
280+
"values": [
281+
0.9999929666519165,
282+
1.0,
283+
0.590179443359375,
284+
0.099029541015625
285+
]
286+
},
287+
"2t": {
288+
"type": "NdArray",
289+
"dataType": "float",
290+
"shape": [
291+
4
292+
],
293+
"axisNames": [
294+
"2t"
295+
],
296+
"values": [
297+
292.56053161621094,
298+
292.1736297607422,
299+
291.95794677734375,
300+
291.95594787597656
301+
]
302+
}
303+
}
304+
}
305+
],
306+
"referencing": [
307+
{
308+
"coordinates": [
309+
"x",
310+
"y",
311+
"z"
312+
],
313+
"system": {
314+
"type": "GeographicCRS",
315+
"id": "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
316+
}
317+
}
318+
],
319+
"parameters": {
320+
"tcc": {
321+
"type": "Parameter",
322+
"description": {
323+
"en": "This parameter is the proportion of a<a href='https://confluence.ecmwf.int/display/CKB/Model+grid+box+and+time+step'> grid box</a> covered by cloud. Total cloud cover is a single level field calculated from the cloud occurring at different model levels through the atmosphere. Assumptions are made about the degree of overlap/randomness between clouds at different heights.<br/><br/>Cloud fractions vary from 0 to 1.\n<br>[NOTE: See 228164 for the equivalent parameter in \"%\"]"
324+
},
325+
"unit": {
326+
"symbol": "(0 - 1)"
327+
},
328+
"observedProperty": {
329+
"id": "tcc",
330+
"label": {
331+
"en": "Total cloud cover"
332+
}
333+
}
334+
},
335+
"2t": {
336+
"type": "Parameter",
337+
"description": {
338+
"en": "This parameter is the temperature of air at 2m above the surface of land, sea or in-land waters.<br/><br/>2m temperature is calculated by interpolating between the lowest model level and the Earth's surface, taking account of the atmospheric conditions.<a href='https://www.ecmwf.int/sites/default/files/elibrary/2016/17117-part-iv-physical-processes.pdf#subsection.3.10.3'> See further information </a>.<br/><br/>This parameter has units of kelvin (K). Temperature measured in kelvin can be converted to degrees Celsius (\u00b0C) by subtracting 273.15.<br/><br/>Please note that the encodings listed here for s2s & uerra (which includes encodings for carra/cerra) include entries for Mean 2 metre temperature. The specific encoding for Mean 2 metre temperature can be found in 228004."
339+
},
340+
"unit": {
341+
"symbol": "K"
342+
},
343+
"observedProperty": {
344+
"id": "2t",
345+
"label": {
346+
"en": "2 metre temperature"
347+
}
348+
}
349+
}
350+
}
351+
}

0 commit comments

Comments
 (0)