You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and [description](https://github.com/ESA-APEx/apex_algorithms/blob/main/algorithm_catalog/vito/max_ndvi_composite/openeo_udp/max_ndvi_composite_description.md).
26
67
27
68
### Organizing your code
@@ -39,15 +80,16 @@ more discoverable.
39
80
APEx requires you to use versioning, to ensure that changes in your algorithm are clearly communicated and visible to users.
40
81
A good way to do this is to use [semantic versioning](https://semver.org/), which is a widely used versioning scheme.
41
82
42
-
In combination with git tags, this allows you to easily track different versions of your UDP JSON, and share immutable links to
43
-
specific versions. In addition, you can also create tags that always point to the latest development or stable version.
83
+
In combination with git tags, this allows you to easily track different versions of your UDP JSON, and share immutable
84
+
links to specific versions. In addition, you can also create tags that always point to the latest development or stable version.
44
85
45
86
One use case is an algorithm change that requires you to change parameters. We refer to such a change as 'backward incompatible',
46
87
because users of the existing algorithm will not be able to switch to the new version without an update on their side.
47
88
In such a case, you can create a new UDP version, and keep the old one available for users that are not ready to switch yet.
48
-
Also in the UDP catalog, we recommend to keep both versions side-by-side for a certain time frame before removing the old one.
89
+
Also in the UDP catalog, we recommend to keep both versions side-by-side for a certain time frame before removing the old
90
+
one.
49
91
50
-
A changelog is also required, to document the changes between versions. Guidance on how to keep changelogs can be found
92
+
A changelog is also required, to document the changes between versions. Guidance on how to keep changelogs can be found
51
93
[online](https://keepachangelog.com/en/1.1.0/).
52
94
53
95
It is not mandatory to store your UDP JSON in the APEx git repository, especially if the project already maintains an open
@@ -84,8 +126,8 @@ can even be left empty (`null`).
84
126
For maximum flexibility, compatibility and the best user experience, we recommend to perform spatial filtering in your
85
127
algorithm:
86
128
87
-
- directly in `load_collection`/`load_stac` (instead of separate `filter_bbox`/`filter_spatial` processes)
88
-
- using a parameter named `spatial_extent` (unless there are good reasons otherwise)
129
+
* directly in `load_collection`/`load_stac` (instead of separate `filter_bbox`/`filter_spatial` processes)
130
+
* using a parameter named `spatial_extent` (unless there are good reasons otherwise)
89
131
spatial filtering in these processes, and also use `spatial_extent` as the parameter name unless there are good
90
132
reasons otherwise.
91
133
@@ -114,7 +156,7 @@ generated.
114
156
115
157
### Include default parameters within the UDP
116
158
117
-
Via the [@openeo_processing_parameters] extension, platform specific parameters (also known as `job options`) can be
159
+
Via the [@openeo_processing_parameters] extension, platform specific parameters (also known as `job options`) can be
118
160
included directly in the process definition. While the primary recommendation is to avoid using platform specific parameters,
119
161
it is nevertheless a very good idea to include them when they are necessary.
120
162
@@ -155,23 +197,23 @@ the [APEx Algorithm Catalogue GitHub repository](https://github.com/ESA-APEx/ape
155
197
156
198
An example json is provided below. The properties to modify are listed here:
157
199
158
-
-*id*: a unique identifier for your process
159
-
-*created* and *updated* timestamps
160
-
-*title*: a descriptive title
161
-
-*description*: a detailed description of the process
162
-
-*contacts*: a list of contacts, with at least one principal investigator
163
-
-*keywords*: a list of free form keywords
164
-
-*themes*: Applicable concepts from a scheme. Concepts can be found in
200
+
**id*: a unique identifier for your process
201
+
**created* and *updated* timestamps
202
+
**title*: a descriptive title
203
+
**description*: a detailed description of the process
204
+
**contacts*: a list of contacts, with at least one principal investigator
205
+
**keywords*: a list of free form keywords
206
+
**themes*: Applicable concepts from a scheme. Concepts can be found in
165
207
the [ESA Data Ontology](https://data.esa.int/esado)
166
-
-*license*: the license under which the process is published. You can use
208
+
**license*: the license under which the process is published. You can use
167
209
the [SPDX license list](https://spdx.org/licenses/) for this. Proprietary licenses are possible, within the terms of
168
210
your ESA project.
169
211
170
212
The *links* section is crucial, the following "rel" values are mandatory:
171
213
172
-
-*openeo-process*: exactly one link to the JSON document that defines the process
173
-
-*service*: at least one link to an openEO backend that is able to execute the process
174
-
-*example*: at least one link to a STAC metadata file that shows the output of the process
214
+
**openeo-process*: exactly one link to the JSON document that defines the process
215
+
**service*: at least one link to an openEO backend that is able to execute the process
216
+
**example*: at least one link to a STAC metadata file that shows the output of the process
175
217
176
218
The *type* field of these links should be set to `application/json`. Please provide a descriptive *title* for each link,
177
219
allowing to understand what the link is about.
@@ -334,15 +376,15 @@ Example benchmark definition:
334
376
335
377
Note how each benchmark scenario references:
336
378
337
-
- the target openEO backend to use.
338
-
- an openEO process graph to execute.
379
+
* the target openEO backend to use.
380
+
* an openEO process graph to execute.
339
381
The process graph will typically just contain a single node
340
382
pointing with the `namespace` field to the desired process definition
341
383
at a URL, following
342
384
the [remote process definition extension](https://github.com/Open-EO/openeo-api/tree/draft/extensions/remote-process-definition).
343
385
The URL will typically be a raw GitHub URL to the JSON file in the `openeo_udp` folder, but it can also be a URL to a
344
386
different location.
345
-
- reference data to which actual results should be compared.
387
+
* reference data to which actual results should be compared.
346
388
347
389
#### Defining and updating benchmark reference data
0 commit comments