@hestia-earth/data-validation 0.41.15 → 0.41.17

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.
package/validation.json CHANGED
@@ -1,384 +1,374 @@
1
1
  {
2
2
  "validations": [
3
3
  {
4
- "function": "validate_date_lt_today",
4
+ "function": "validate_id",
5
5
  "level": "error",
6
- "message": "must be before today"
6
+ "message": "aggregation id must contain a product, region, start, end year, and a timestamp"
7
7
  },
8
8
  {
9
- "function": "validate_node_dates",
10
- "level": "error",
11
- "message": "must be greater than startDate"
9
+ "function": "validate_has_termType",
10
+ "level": "warning",
11
+ "message": "should contain at least one management node"
12
12
  },
13
13
  {
14
- "function": "validate_node_dates",
14
+ "function": "validate_fallow_dates",
15
15
  "level": "error",
16
- "message": "must be in the same format as endDate"
16
+ "message": "duration must be in specified interval"
17
17
  },
18
18
  {
19
- "function": "validate_list_dates",
19
+ "function": "validate_cycles_overlap",
20
20
  "level": "error",
21
- "message": "must be greater than startDate"
21
+ "message": "management date must be before cycle start date"
22
22
  },
23
23
  {
24
- "function": "validate_list_dates_format",
24
+ "function": "validate_functionalUnit_not_1_ha",
25
25
  "level": "error",
26
- "message": "must have the same length as endDate"
26
+ "message": "must not be equal to 1 ha"
27
27
  },
28
28
  {
29
- "function": "validate_list_dates_length",
29
+ "function": "validate_sum_aboveGroundCropResidue",
30
30
  "level": "error",
31
- "message": "must contain as many items as values"
31
+ "message": "must be more than or equal to other crop residues"
32
32
  },
33
33
  {
34
- "function": "validate_list_value_between_min_max",
34
+ "function": "validate_crop_residue_complete",
35
35
  "level": "error",
36
- "message": "must be between min and max"
36
+ "message": "must specify the fate of cropResidue"
37
37
  },
38
38
  {
39
- "function": "validate_list_min_below_max",
39
+ "function": "validate_crop_residue_incomplete",
40
+ "level": "warning",
41
+ "message": "should specify the fate of cropResidue"
42
+ },
43
+ {
44
+ "function": "validate_cycleDuration",
40
45
  "level": "error",
41
- "message": "must be greater than min"
46
+ "message": "must be one year prior to endDate"
42
47
  },
43
48
  {
44
- "function": "validate_list_min_max_lookup",
49
+ "function": "validate_cycleDuration",
45
50
  "level": "error",
46
- "message": "must be above the minimum"
51
+ "message": "must equal to endDate - startDate in days"
47
52
  },
48
53
  {
49
- "function": "validate_list_min_max_lookup",
54
+ "function": "validate_harvestedArea",
50
55
  "level": "error",
51
- "message": "must be below the maximum"
56
+ "message": "must be lower or equal to siteArea"
52
57
  },
53
58
  {
54
- "function": "validate_region_list_value_diff_property_lookup",
55
- "level": "warning",
56
- "message": "should be within acceptable range of the lookup value"
59
+ "function": "validate_maximum_cycleDuration",
60
+ "level": "error",
61
+ "message": "must be below maximum cycleDuration"
57
62
  },
58
63
  {
59
- "function": "validate_list_term_percent",
64
+ "function": "validate_riceGrainInHuskFlooded_minimum_cycleDuration",
60
65
  "level": "warning",
61
- "message": "may be between 0 and 100"
66
+ "message": "should be more than the cropping duration"
62
67
  },
63
68
  {
64
- "function": "validate_list_term_percent",
69
+ "function": "validate_crop_siteDuration",
65
70
  "level": "error",
66
- "message": "should be between 0 and 100 (percentage)"
71
+ "message": "should be equal to cycleDuration for crop"
67
72
  },
68
73
  {
69
- "function": "validate_list_percent_requires_value",
74
+ "function": "validate_crop_siteDuration",
70
75
  "level": "error",
71
- "message": "should have required property 'value'"
76
+ "message": "should be greater than cycleDuration for crop"
72
77
  },
73
78
  {
74
- "function": "validate_list_valueType",
79
+ "function": "validate_animal_siteDuration",
75
80
  "level": "error",
76
- "message": "the node value type is incorrect"
77
- },
78
- {
79
- "function": "validate_list_has_properties",
80
- "level": "warning",
81
- "message": "should add missing properties"
81
+ "message": "should be equal to cycleDuration for animals"
82
82
  },
83
83
  {
84
- "function": "validate_is_region",
84
+ "function": "validate_animal_siteDuration",
85
85
  "level": "error",
86
- "message": "must not be a country"
86
+ "message": "should be equal to cycleDuration - otherSitesDuration for animals"
87
87
  },
88
88
  {
89
- "function": "validate_region_in_country",
89
+ "function": "validate_animal_siteDuration",
90
90
  "level": "error",
91
- "message": "must be within the country"
91
+ "message": "should be less than cycleDuration for animals"
92
92
  },
93
93
  {
94
- "function": "validate_country",
95
- "level": "error",
96
- "message": "must be a country"
94
+ "function": "validate_durations",
95
+ "level": "warning",
96
+ "message": "should add the fields for a relative cycle"
97
97
  },
98
98
  {
99
- "function": "validate_coordinates",
99
+ "function": "validate_possibleCoverCrop",
100
100
  "level": "error",
101
- "message": "does not contain latitude and longitude"
102
- },
103
- {
104
- "function": "validate_area",
105
- "level": "warning",
106
- "message": "should be equal to boundary"
101
+ "message": "cover crop cycle contains non cover crop product"
107
102
  },
108
103
  {
109
- "function": "validate_boundary_area",
104
+ "function": "validate_set_treatment",
110
105
  "level": "warning",
111
- "message": "boundaryArea should be lower than max size"
106
+ "message": "should specify a treatment when experimentDesign is specified"
112
107
  },
113
108
  {
114
- "function": "validate_region_size",
109
+ "function": "validate_products_animals",
115
110
  "level": "warning",
116
- "message": "should be lower than max size"
111
+ "message": "should not specify both liveAnimal and animalProduct"
117
112
  },
118
113
  {
119
- "function": "validate_empty_fields",
114
+ "function": "validate_stocking_density",
120
115
  "level": "warning",
121
- "message": "may not be empty"
116
+ "message": "should add the term stockingDensityPermanentPastureAverage"
122
117
  },
123
118
  {
124
- "function": "validate_linked_source_privacy",
119
+ "function": "validate_linked_impact_assessment",
125
120
  "level": "error",
126
- "message": "should have the same privacy as the related source"
121
+ "message": "multiple ImpactAssessment are associated with this Product"
127
122
  },
128
123
  {
129
- "function": "validate_private_has_source",
130
- "level": "warning",
131
- "message": "should add a source"
124
+ "function": "validate_linked_impact_assessment",
125
+ "level": "error",
126
+ "message": "no ImpactAssessment are associated with this Product"
132
127
  },
133
128
  {
134
- "function": "_validate_list_model",
129
+ "function": "validate_animal_product_mapping",
135
130
  "level": "error",
136
- "message": "the value provided is not consistent with the model result"
131
+ "message": "is not an allowed animalProduct"
137
132
  },
138
133
  {
139
- "function": "validate_duplicated_terms",
140
- "level": "warning",
141
- "message": "should not use several terms describing the same product"
134
+ "function": "validate_requires_substrate",
135
+ "level": "error",
136
+ "message": "must add substrate inputs"
142
137
  },
143
138
  {
144
- "function": "validate_other_model",
139
+ "function": "_validate_previous_transformationId",
145
140
  "level": "error",
146
- "message": "is required when using other model"
141
+ "message": "must point to a previous transformation in the list"
147
142
  },
148
143
  {
149
- "function": "validate_nested_existing_node",
150
- "level": "warning",
151
- "message": "should not link to an existing node"
144
+ "function": "_validate_previous_input",
145
+ "level": "error",
146
+ "message": "at least one Input must be a Product of the Cycle"
152
147
  },
153
148
  {
154
- "function": "validate_nested_existing_node",
155
- "level": "warning",
156
- "message": "should not link to an existing node"
149
+ "function": "_validate_previous_input",
150
+ "level": "error",
151
+ "message": "at least one Input must be a Product of the previous Transformation"
157
152
  },
158
153
  {
159
- "function": "validate_lifespan",
154
+ "function": "_validate_previous_product_value",
160
155
  "level": "error",
161
- "message": "must equal to endDate - startDate in decimal years"
156
+ "message": "must be equal to previous product multiplied by the share"
162
157
  },
163
158
  {
164
- "function": "validate_functionalArea",
159
+ "function": "validate_linked_emission",
165
160
  "level": "warning",
166
- "message": "should specify functionalArea or site area"
161
+ "message": "should be linked to an emission in the Cycle"
167
162
  },
168
163
  {
169
- "function": "validate_method_not_relevant",
170
- "level": "warning",
171
- "message": "should not use not relevant model"
164
+ "function": "validate_excreta_inputs_products",
165
+ "level": "error",
166
+ "message": "must be included as an Input"
172
167
  },
173
168
  {
174
- "function": "validate_methodTier_not_relevant",
175
- "level": "warning",
176
- "message": "should not use not relevant methodTier"
169
+ "function": "validate_transformation_inputs_value",
170
+ "level": "error",
171
+ "message": "must be specified for multiple Inputs with the same term"
177
172
  },
178
173
  {
179
- "function": "validate_methodTier_background",
174
+ "function": "validate_empty",
180
175
  "level": "error",
181
- "message": "must not have background methodTier"
176
+ "message": "should not be empty"
182
177
  },
183
178
  {
184
- "function": "validate_methodTier_background",
179
+ "function": "validate_linked_cycle_product",
185
180
  "level": "error",
186
- "message": "must be an existing term"
181
+ "message": "should be included in the cycle products"
187
182
  },
188
183
  {
189
- "function": "validate_depth",
184
+ "function": "validate_linked_cycle_endDate",
185
+ "level": "error",
186
+ "message": "must be equal to the Cycle endDate"
187
+ },
188
+ {
189
+ "function": "validate_value_follows_area",
190
190
  "level": "warning",
191
- "message": "should set the depth"
191
+ "message": "should not be proportional to the site area"
192
192
  },
193
193
  {
194
- "function": "validate_defaultValue",
194
+ "function": "validate_fixed_nutrient_ratio",
195
195
  "level": "warning",
196
- "message": "should specify a value when HESTIA has a default one"
196
+ "message": "should be the amount of nutrient, not of fertiliser"
197
197
  },
198
198
  {
199
- "function": "validate_longFallowDuration",
199
+ "function": "validate_lifespan",
200
200
  "level": "error",
201
- "message": "longFallowDuration must be lower than 5 years"
201
+ "message": "must equal to endDate - startDate in decimal years"
202
202
  },
203
203
  {
204
- "function": "validate_plantationLifespan",
205
- "level": "error",
206
- "message": "must be greater than or equal to plantationProductiveLifespan"
204
+ "function": "validate_functionalArea",
205
+ "level": "warning",
206
+ "message": "should specify functionalArea or site area"
207
207
  },
208
208
  {
209
- "function": "validate_waterRegime_rice_products",
209
+ "function": "validate_soilTexture",
210
210
  "level": "error",
211
- "message": "rice products not allowed for this water regime practice"
211
+ "message": "is outside the allowed range"
212
212
  },
213
213
  {
214
- "function": "validate_croppingDuration_riceGrainInHuskFlooded",
214
+ "function": "validate_soilTexture_depths",
215
215
  "level": "warning",
216
- "message": "croppingDuration must be between min and max"
216
+ "message": "should be given at the same depths as the soil content"
217
217
  },
218
218
  {
219
- "function": "validate_excretaManagement",
219
+ "function": "validate_depths",
220
220
  "level": "error",
221
- "message": "an excreta input is required when using an excretaManagement practice"
221
+ "message": "must be greater than or equal to depthUpper"
222
222
  },
223
223
  {
224
- "function": "validate_no_tillage",
224
+ "function": "validate_required_depths",
225
225
  "level": "error",
226
- "message": "is not allowed in combination with noTillage"
226
+ "message": "must set both depthUpper and depthLower"
227
227
  },
228
228
  {
229
- "function": "validate_tillage_site_type",
229
+ "function": "validate_required_depths",
230
230
  "level": "warning",
231
- "message": "should contain a tillage practice"
231
+ "message": "should set both depthUpper and depthLower"
232
232
  },
233
233
  {
234
- "function": "validate_tillage_values",
234
+ "function": "validate_term_unique",
235
235
  "level": "error",
236
- "message": "cannot use no tillage if depth or number of tillages is not 0"
236
+ "message": "must be unique"
237
237
  },
238
238
  {
239
- "function": "validate_tillage_values",
239
+ "function": "validate_term_unique",
240
240
  "level": "error",
241
- "message": "cannot use full tillage if depth or number of tillages is 0"
242
- },
243
- {
244
- "function": "validate_liveAnimal_system",
245
- "level": "warning",
246
- "message": "should add an animal production system"
241
+ "message": "must provide value or min and max"
247
242
  },
248
243
  {
249
- "function": "validate_has_pastureGrass",
244
+ "function": "validate_with_models",
250
245
  "level": "warning",
251
- "message": "should add the term pastureGrass"
246
+ "message": "the measurement provided might be in error"
252
247
  },
253
248
  {
254
- "function": "validate_pastureGrass_key_termType",
249
+ "function": "validate_value_length",
255
250
  "level": "error",
256
- "message": "pastureGrass key termType must be landCover"
251
+ "message": "must not contain more than 1 value"
257
252
  },
258
253
  {
259
- "function": "validate_pastureGrass_key_value",
254
+ "function": "validate_water_measurements",
260
255
  "level": "error",
261
- "message": "all values must be numbers"
256
+ "message": "must specify water type for ponds"
262
257
  },
263
258
  {
264
- "function": "validate_pastureGrass_key_value",
259
+ "function": "validate_water_salinity",
265
260
  "level": "error",
266
- "message": "the sum of all pastureGrass values must be 100"
261
+ "message": "invalid water salinity"
267
262
  },
268
263
  {
269
- "function": "validate_permanent_crop_productive_phase",
264
+ "function": "validate_soil_type_consistency",
270
265
  "level": "error",
271
- "message": "must add the term productivePhasePermanentCrops"
266
+ "message": "measurements for the same termType must be consistent"
272
267
  },
273
268
  {
274
- "function": "validate_primaryPercent",
275
- "level": "error",
276
- "message": "primaryPercent not allowed on this siteType"
269
+ "function": "validate_must_include_id",
270
+ "level": "warning",
271
+ "message": "should add missing inputs"
277
272
  },
278
273
  {
279
- "function": "validate_primaryPercent",
280
- "level": "error",
281
- "message": "primaryPercent not allowed on this practice"
274
+ "function": "validate_compound_fertiliser_composition",
275
+ "level": "warning",
276
+ "message": "should match the nutrient ratio of the compound fertiliser"
282
277
  },
283
278
  {
284
- "function": "validate_processing_operation",
279
+ "function": "validate_related_impacts",
285
280
  "level": "error",
286
- "message": "must have a primary processing operation"
281
+ "message": "can not be linked to the same type"
287
282
  },
288
283
  {
289
- "function": "validate_landCover_match_products",
284
+ "function": "validate_related_impact_product",
290
285
  "level": "error",
291
- "message": "at least one landCover practice must match an equivalent product"
286
+ "message": "can not be linked to a different term"
292
287
  },
293
288
  {
294
- "function": "validate_coverCrop_landCover_primary_product",
295
- "level": "error",
296
- "message": "a cover crop can not be the land cover of the primary product"
289
+ "function": "_validate_input_value",
290
+ "level": "warning",
291
+ "message": "is outside confidence interval"
297
292
  },
298
293
  {
299
- "function": "validate_practices_management",
294
+ "function": "validate_animalFeed_requires_isAnimalFeed",
300
295
  "level": "error",
301
- "message": "should match the site management node value"
296
+ "message": "must specify is it an animal feed"
302
297
  },
303
298
  {
304
- "function": "validate_irrigated_complete_has_inputs",
299
+ "function": "validate_isAnimalFeed_animal_cycle",
305
300
  "level": "error",
306
- "message": "must contain water inputs"
301
+ "message": "isAnimalFeed not allowed on a non-animal cycle"
307
302
  },
308
303
  {
309
- "function": "validate_rainfed_water_inputs",
304
+ "function": "validate_saplings",
310
305
  "level": "error",
311
- "message": "must not set rainfed with water inputs"
312
- },
313
- {
314
- "function": "validate_irrigating_operation_rainfed_water_regime",
315
- "level": "warning",
316
- "message": "should use irrigated water regime"
306
+ "message": "saplings cannot be used as an input here"
317
307
  },
318
308
  {
319
- "function": "validate_cropResidueManagement_products",
309
+ "function": "validate_seed",
320
310
  "level": "error",
321
- "message": "cropResidue product is not accounted for by the cropResidueManagement practices"
311
+ "message": "seed cannot be used as an input here"
322
312
  },
323
313
  {
324
- "function": "validate_soilTexture",
314
+ "function": "validate_saplings_depreciated",
325
315
  "level": "error",
326
- "message": "is outside the allowed range"
316
+ "message": "saplingsDepreciatedAmountPerCycle cannot be used as an input here"
327
317
  },
328
318
  {
329
- "function": "validate_soilTexture_depths",
330
- "level": "warning",
331
- "message": "should be given at the same depths as the soil content"
319
+ "function": "validate_seed_correspondingSpecies",
320
+ "level": "error",
321
+ "message": "must specify correspondingSpecies in intercropping"
332
322
  },
333
323
  {
334
- "function": "validate_depths",
324
+ "function": "validate_material_depreciated",
335
325
  "level": "error",
336
- "message": "must be greater than or equal to depthUpper"
326
+ "message": "must use the depreciated term"
337
327
  },
338
328
  {
339
- "function": "validate_required_depths",
329
+ "function": "validate_input_is_product",
340
330
  "level": "error",
341
- "message": "must set both depthUpper and depthLower"
331
+ "message": "must be a product"
342
332
  },
343
333
  {
344
- "function": "validate_required_depths",
334
+ "function": "validate_input_unspecified_term",
345
335
  "level": "warning",
346
- "message": "should set both depthUpper and depthLower"
347
- },
348
- {
349
- "function": "validate_term_unique",
350
- "level": "error",
351
- "message": "must be unique"
336
+ "message": "should use a specific term"
352
337
  },
353
338
  {
354
- "function": "validate_term_unique",
355
- "level": "error",
356
- "message": "must provide value or min and max"
339
+ "function": "validate_method_not_relevant",
340
+ "level": "warning",
341
+ "message": "should not use not relevant model"
357
342
  },
358
343
  {
359
- "function": "validate_with_models",
344
+ "function": "validate_methodTier_not_relevant",
360
345
  "level": "warning",
361
- "message": "the measurement provided might be in error"
346
+ "message": "should not use not relevant methodTier"
362
347
  },
363
348
  {
364
- "function": "validate_value_length",
349
+ "function": "validate_methodTier_background",
365
350
  "level": "error",
366
- "message": "must not contain more than 1 value"
351
+ "message": "must not have background methodTier"
367
352
  },
368
353
  {
369
- "function": "validate_water_measurements",
354
+ "function": "validate_methodTier_background",
370
355
  "level": "error",
371
- "message": "must specify water type for ponds"
356
+ "message": "must be an existing term"
372
357
  },
373
358
  {
374
- "function": "validate_water_salinity",
359
+ "function": "validate_depth",
360
+ "level": "warning",
361
+ "message": "should set the depth"
362
+ },
363
+ {
364
+ "function": "validate_linked_impactAssessment",
375
365
  "level": "error",
376
- "message": "invalid water salinity"
366
+ "message": "must be linked to a verified country-level Impact Assessment"
377
367
  },
378
368
  {
379
- "function": "validate_soil_type_consistency",
369
+ "function": "validate_plantation_practices",
380
370
  "level": "error",
381
- "message": "measurements for the same termType must be consistent"
371
+ "message": "must include practices for plantation weighting"
382
372
  },
383
373
  {
384
374
  "function": "validate_characterisedIndicator_model",
@@ -406,134 +396,154 @@
406
396
  "message": "this field is required"
407
397
  },
408
398
  {
409
- "function": "validate_empty",
410
- "level": "error",
411
- "message": "should not be empty"
399
+ "function": "validate_has_animals",
400
+ "level": "warning",
401
+ "message": "should specify the herd composition"
412
402
  },
413
403
  {
414
- "function": "validate_linked_cycle_product",
404
+ "function": "validate_duplicated_feed_inputs",
415
405
  "level": "error",
416
- "message": "should be included in the cycle products"
406
+ "message": "must not add the feed input to the Cycle as well"
417
407
  },
418
408
  {
419
- "function": "validate_linked_cycle_endDate",
420
- "level": "error",
421
- "message": "must be equal to the Cycle endDate"
409
+ "function": "validate_has_milkYieldPractice",
410
+ "level": "warning",
411
+ "message": "should specify the a milkYield practice"
422
412
  },
423
413
  {
424
- "function": "validate_functionalUnit_not_1_ha",
414
+ "function": "validate_animal_has_recommended_products",
415
+ "level": "warning",
416
+ "message": "should specify a recommended product"
417
+ },
418
+ {
419
+ "function": "validate_defaultValue",
420
+ "level": "warning",
421
+ "message": "should specify a value when HESTIA has a default one"
422
+ },
423
+ {
424
+ "function": "validate_longFallowDuration",
425
425
  "level": "error",
426
- "message": "must not be equal to 1 ha"
426
+ "message": "longFallowDuration must be lower than 5 years"
427
427
  },
428
428
  {
429
- "function": "validate_sum_aboveGroundCropResidue",
429
+ "function": "validate_plantationLifespan",
430
430
  "level": "error",
431
- "message": "must be more than or equal to other crop residues"
431
+ "message": "must be greater than or equal to plantationProductiveLifespan"
432
432
  },
433
433
  {
434
- "function": "validate_crop_residue_complete",
434
+ "function": "validate_waterRegime_rice_products",
435
435
  "level": "error",
436
- "message": "must specify the fate of cropResidue"
436
+ "message": "rice products not allowed for this water regime practice"
437
437
  },
438
438
  {
439
- "function": "validate_crop_residue_incomplete",
439
+ "function": "validate_croppingDuration_riceGrainInHuskFlooded",
440
440
  "level": "warning",
441
- "message": "should specify the fate of cropResidue"
441
+ "message": "croppingDuration must be between min and max"
442
442
  },
443
443
  {
444
- "function": "validate_cycleDuration",
444
+ "function": "validate_excretaManagement",
445
445
  "level": "error",
446
- "message": "must be one year prior to endDate"
446
+ "message": "an excreta input is required when using an excretaManagement practice"
447
447
  },
448
448
  {
449
- "function": "validate_cycleDuration",
449
+ "function": "validate_no_tillage",
450
450
  "level": "error",
451
- "message": "must equal to endDate - startDate in days"
451
+ "message": "is not allowed in combination with noTillage"
452
452
  },
453
453
  {
454
- "function": "validate_harvestedArea",
454
+ "function": "validate_tillage_site_type",
455
+ "level": "warning",
456
+ "message": "should contain a tillage practice"
457
+ },
458
+ {
459
+ "function": "validate_tillage_values",
455
460
  "level": "error",
456
- "message": "must be lower or equal to siteArea"
461
+ "message": "cannot use no tillage if depth or number of tillages is not 0"
457
462
  },
458
463
  {
459
- "function": "validate_maximum_cycleDuration",
464
+ "function": "validate_tillage_values",
460
465
  "level": "error",
461
- "message": "must be below maximum cycleDuration"
466
+ "message": "cannot use full tillage if depth or number of tillages is 0"
462
467
  },
463
468
  {
464
- "function": "validate_riceGrainInHuskFlooded_minimum_cycleDuration",
469
+ "function": "validate_liveAnimal_system",
465
470
  "level": "warning",
466
- "message": "should be more than the cropping duration"
471
+ "message": "should add an animal production system"
467
472
  },
468
473
  {
469
- "function": "validate_crop_siteDuration",
474
+ "function": "validate_has_pastureGrass",
475
+ "level": "warning",
476
+ "message": "should add the term pastureGrass"
477
+ },
478
+ {
479
+ "function": "validate_pastureGrass_key_termType",
470
480
  "level": "error",
471
- "message": "should be equal to cycleDuration for crop"
481
+ "message": "pastureGrass key termType must be landCover"
472
482
  },
473
483
  {
474
- "function": "validate_crop_siteDuration",
484
+ "function": "validate_pastureGrass_key_value",
475
485
  "level": "error",
476
- "message": "should be greater than cycleDuration for crop"
486
+ "message": "all values must be numbers"
477
487
  },
478
488
  {
479
- "function": "validate_animal_siteDuration",
489
+ "function": "validate_pastureGrass_key_value",
480
490
  "level": "error",
481
- "message": "should be equal to cycleDuration for animals"
491
+ "message": "the sum of all pastureGrass values must be 100"
482
492
  },
483
493
  {
484
- "function": "validate_animal_siteDuration",
494
+ "function": "validate_permanent_crop_productive_phase",
485
495
  "level": "error",
486
- "message": "should be equal to cycleDuration - otherSitesDuration for animals"
496
+ "message": "must add the term productivePhasePermanentCrops"
487
497
  },
488
498
  {
489
- "function": "validate_animal_siteDuration",
499
+ "function": "validate_primaryPercent",
490
500
  "level": "error",
491
- "message": "should be less than cycleDuration for animals"
501
+ "message": "primaryPercent not allowed on this siteType"
492
502
  },
493
503
  {
494
- "function": "validate_durations",
495
- "level": "warning",
496
- "message": "should add the fields for a relative cycle"
504
+ "function": "validate_primaryPercent",
505
+ "level": "error",
506
+ "message": "primaryPercent not allowed on this practice"
497
507
  },
498
508
  {
499
- "function": "validate_possibleCoverCrop",
509
+ "function": "validate_processing_operation",
500
510
  "level": "error",
501
- "message": "cover crop cycle contains non cover crop product"
511
+ "message": "must have a primary processing operation"
502
512
  },
503
513
  {
504
- "function": "validate_set_treatment",
505
- "level": "warning",
506
- "message": "should specify a treatment when experimentDesign is specified"
514
+ "function": "validate_landCover_match_products",
515
+ "level": "error",
516
+ "message": "at least one landCover practice must match an equivalent product"
507
517
  },
508
518
  {
509
- "function": "validate_products_animals",
510
- "level": "warning",
511
- "message": "should not specify both liveAnimal and animalProduct"
519
+ "function": "validate_coverCrop_landCover_primary_product",
520
+ "level": "error",
521
+ "message": "a cover crop can not be the land cover of the primary product"
512
522
  },
513
523
  {
514
- "function": "validate_stocking_density",
515
- "level": "warning",
516
- "message": "should add the term stockingDensityPermanentPastureAverage"
524
+ "function": "validate_practices_management",
525
+ "level": "error",
526
+ "message": "should match the site management node value"
517
527
  },
518
528
  {
519
- "function": "validate_linked_impact_assessment",
529
+ "function": "validate_irrigated_complete_has_inputs",
520
530
  "level": "error",
521
- "message": "multiple ImpactAssessment are associated with this Product"
531
+ "message": "must contain water inputs"
522
532
  },
523
533
  {
524
- "function": "validate_linked_impact_assessment",
534
+ "function": "validate_rainfed_water_inputs",
525
535
  "level": "error",
526
- "message": "no ImpactAssessment are associated with this Product"
536
+ "message": "must not set rainfed with water inputs"
527
537
  },
528
538
  {
529
- "function": "validate_animal_product_mapping",
530
- "level": "error",
531
- "message": "is not an allowed animalProduct"
539
+ "function": "validate_irrigating_operation_rainfed_water_regime",
540
+ "level": "warning",
541
+ "message": "should use irrigated water regime"
532
542
  },
533
543
  {
534
- "function": "validate_requires_substrate",
544
+ "function": "validate_cropResidueManagement_products",
535
545
  "level": "error",
536
- "message": "must add substrate inputs"
546
+ "message": "cropResidue product is not accounted for by the cropResidueManagement practices"
537
547
  },
538
548
  {
539
549
  "function": "validate_property_valueType",
@@ -551,254 +561,264 @@
551
561
  "message": "should be within percentage of default value"
552
562
  },
553
563
  {
554
- "function": "validate_economicValueShare",
564
+ "function": "validate_date_lt_today",
555
565
  "level": "error",
556
- "message": "economicValueShare should sum to 100 or less across all products"
557
- },
558
- {
559
- "function": "validate_value_empty",
560
- "level": "warning",
561
- "message": "may not be 0"
566
+ "message": "must be before today"
562
567
  },
563
568
  {
564
- "function": "validate_value_0",
569
+ "function": "validate_node_dates",
565
570
  "level": "error",
566
- "message": "economicValueShare must be 0 for product value 0"
571
+ "message": "must be greater than startDate"
567
572
  },
568
573
  {
569
- "function": "validate_value_0",
574
+ "function": "validate_node_dates",
570
575
  "level": "error",
571
- "message": "revenue must be 0 for product value 0"
576
+ "message": "must be in the same format as endDate"
572
577
  },
573
578
  {
574
- "function": "validate_primary",
579
+ "function": "validate_list_dates",
575
580
  "level": "error",
576
- "message": "only 1 primary product allowed"
581
+ "message": "must be greater than startDate"
577
582
  },
578
583
  {
579
- "function": "validate_product_ha_functional_unit_ha",
584
+ "function": "validate_list_dates_format",
580
585
  "level": "error",
581
- "message": "must be below or equal to 1 for unit in ha"
582
- },
583
- {
584
- "function": "_validate_product_yield",
585
- "level": "warning",
586
- "message": "is outside confidence interval"
586
+ "message": "must have the same length as endDate"
587
587
  },
588
588
  {
589
- "function": "validate_excreta_product",
590
- "level": "warning",
591
- "message": "should add an excreta product"
589
+ "function": "validate_list_dates_length",
590
+ "level": "error",
591
+ "message": "must contain as many items as values"
592
592
  },
593
593
  {
594
- "function": "validate_excreta_product",
594
+ "function": "validate_list_value_between_min_max",
595
595
  "level": "error",
596
- "message": "is not an allowed excreta product"
596
+ "message": "must be between min and max"
597
597
  },
598
598
  {
599
- "function": "validate_requires_water_salinity",
599
+ "function": "validate_list_min_below_max",
600
600
  "level": "error",
601
- "message": "requires a water salinity measurement"
601
+ "message": "must be greater than min"
602
602
  },
603
603
  {
604
- "function": "validate_has_animals",
605
- "level": "warning",
606
- "message": "should specify the herd composition"
604
+ "function": "validate_list_min_max_lookup",
605
+ "level": "error",
606
+ "message": "must be above the minimum"
607
607
  },
608
608
  {
609
- "function": "validate_duplicated_feed_inputs",
609
+ "function": "validate_list_min_max_lookup",
610
610
  "level": "error",
611
- "message": "must not add the feed input to the Cycle as well"
611
+ "message": "must be below the maximum"
612
612
  },
613
613
  {
614
- "function": "validate_has_milkYieldPractice",
614
+ "function": "validate_region_list_value_diff_property_lookup",
615
615
  "level": "warning",
616
- "message": "should specify the a milkYield practice"
616
+ "message": "should be within acceptable range of the lookup value"
617
617
  },
618
618
  {
619
- "function": "validate_animal_has_recommended_products",
619
+ "function": "validate_list_term_percent",
620
620
  "level": "warning",
621
- "message": "should specify a recommended product"
621
+ "message": "may be between 0 and 100"
622
622
  },
623
623
  {
624
- "function": "validate_must_include_id",
625
- "level": "warning",
626
- "message": "should add missing inputs"
624
+ "function": "validate_list_term_percent",
625
+ "level": "error",
626
+ "message": "should be between 0 and 100 (percentage)"
627
627
  },
628
628
  {
629
- "function": "validate_related_impacts",
629
+ "function": "validate_list_percent_requires_value",
630
630
  "level": "error",
631
- "message": "can not be linked to the same type"
631
+ "message": "should have required property 'value'"
632
632
  },
633
633
  {
634
- "function": "validate_related_impact_product",
634
+ "function": "validate_list_valueType",
635
635
  "level": "error",
636
- "message": "can not be linked to a different term"
636
+ "message": "the node value type is incorrect"
637
637
  },
638
638
  {
639
- "function": "_validate_input_value",
639
+ "function": "validate_list_has_properties",
640
640
  "level": "warning",
641
- "message": "is outside confidence interval"
641
+ "message": "should add missing properties"
642
642
  },
643
643
  {
644
- "function": "validate_animalFeed_requires_isAnimalFeed",
644
+ "function": "validate_is_region",
645
645
  "level": "error",
646
- "message": "must specify is it an animal feed"
646
+ "message": "must not be a country"
647
647
  },
648
648
  {
649
- "function": "validate_isAnimalFeed_animal_cycle",
649
+ "function": "validate_region_in_country",
650
650
  "level": "error",
651
- "message": "isAnimalFeed not allowed on a non-animal cycle"
651
+ "message": "must be within the country"
652
652
  },
653
653
  {
654
- "function": "validate_saplings",
654
+ "function": "validate_country",
655
655
  "level": "error",
656
- "message": "saplings cannot be used as an input here"
656
+ "message": "must be a country"
657
657
  },
658
658
  {
659
- "function": "validate_seed",
659
+ "function": "validate_coordinates",
660
660
  "level": "error",
661
- "message": "seed cannot be used as an input here"
661
+ "message": "does not contain latitude and longitude"
662
662
  },
663
663
  {
664
- "function": "validate_saplings_depreciated",
665
- "level": "error",
666
- "message": "saplingsDepreciatedAmountPerCycle cannot be used as an input here"
664
+ "function": "validate_area",
665
+ "level": "warning",
666
+ "message": "should be equal to boundary"
667
667
  },
668
668
  {
669
- "function": "validate_material_depreciated",
670
- "level": "error",
671
- "message": "must use the depreciated term"
669
+ "function": "validate_boundary_area",
670
+ "level": "warning",
671
+ "message": "boundaryArea should be lower than max size"
672
672
  },
673
673
  {
674
- "function": "validate_input_is_product",
675
- "level": "error",
676
- "message": "must be a product"
674
+ "function": "validate_region_size",
675
+ "level": "warning",
676
+ "message": "should be lower than max size"
677
677
  },
678
678
  {
679
- "function": "validate_input_unspecified_term",
679
+ "function": "validate_empty_fields",
680
680
  "level": "warning",
681
- "message": "should use a specific term"
681
+ "message": "may not be empty"
682
682
  },
683
683
  {
684
- "function": "_validate_all_values",
684
+ "function": "validate_linked_source_privacy",
685
+ "level": "error",
686
+ "message": "should have the same privacy as the related source"
687
+ },
688
+ {
689
+ "function": "validate_private_has_source",
685
690
  "level": "warning",
686
- "message": "may not all be set to false"
691
+ "message": "should add a source"
687
692
  },
688
693
  {
689
- "function": "_validate_material",
694
+ "function": "_validate_list_model",
690
695
  "level": "error",
691
- "message": "must be set to false when specifying fuel use"
696
+ "message": "the value provided is not consistent with the model result"
692
697
  },
693
698
  {
694
- "function": "_validate_freshForage",
695
- "level": "error",
696
- "message": "must have inputs representing the forage when set to true"
699
+ "function": "validate_duplicated_terms",
700
+ "level": "warning",
701
+ "message": "should not use several terms describing the same product"
697
702
  },
698
703
  {
699
- "function": "_validate_ingredient",
704
+ "function": "validate_other_model",
700
705
  "level": "error",
701
- "message": "must have inputs to represent ingredients"
706
+ "message": "is required when using other model"
702
707
  },
703
708
  {
704
- "function": "_validate_ingredient",
705
- "level": "error",
706
- "message": "ingredients should be complete"
709
+ "function": "validate_nested_existing_node",
710
+ "level": "warning",
711
+ "message": "should not link to an existing node"
707
712
  },
708
713
  {
709
- "function": "_validate_animalPopulation",
710
- "level": "error",
711
- "message": "animal population must not be complete"
714
+ "function": "validate_nested_existing_node",
715
+ "level": "warning",
716
+ "message": "should not link to an existing node"
712
717
  },
713
718
  {
714
- "function": "_validate_completeness_blank_nodes_key",
719
+ "function": "validate_cycle_dates",
715
720
  "level": "error",
716
- "message": "must not be blank if complete"
721
+ "message": "multiple cycles on the same site cannot overlap"
717
722
  },
718
723
  {
719
- "function": "validate_completeness_transport",
724
+ "function": "validate_cycles_linked_ia",
720
725
  "level": "error",
721
- "message": "must have a value or a distance if complete"
726
+ "message": "cycles linked together cannot be added to the same site"
722
727
  },
723
728
  {
724
- "function": "validate_coverage",
725
- "level": "warning",
726
- "message": "can not calculate all emissions"
729
+ "function": "validate_economicValueShare",
730
+ "level": "error",
731
+ "message": "economicValueShare should sum to 100 or less across all products"
727
732
  },
728
733
  {
729
- "function": "validate_has_termType",
734
+ "function": "validate_value_empty",
730
735
  "level": "warning",
731
- "message": "should contain at least one management node"
736
+ "message": "may not be 0"
732
737
  },
733
738
  {
734
- "function": "validate_fallow_dates",
739
+ "function": "validate_value_0",
735
740
  "level": "error",
736
- "message": "duration must be in specified interval"
741
+ "message": "economicValueShare must be 0 for product value 0"
737
742
  },
738
743
  {
739
- "function": "validate_cycles_overlap",
744
+ "function": "validate_value_0",
740
745
  "level": "error",
741
- "message": "management date must be before cycle start date"
746
+ "message": "revenue must be 0 for product value 0"
742
747
  },
743
748
  {
744
- "function": "validate_cycle_dates",
749
+ "function": "validate_primary",
745
750
  "level": "error",
746
- "message": "multiple cycles on the same site cannot overlap"
751
+ "message": "only 1 primary product allowed"
747
752
  },
748
753
  {
749
- "function": "validate_cycles_linked_ia",
754
+ "function": "validate_product_ha_functional_unit_ha",
750
755
  "level": "error",
751
- "message": "cycles linked together cannot be added to the same site"
756
+ "message": "must be below or equal to 1 for unit in ha"
752
757
  },
753
758
  {
754
- "function": "validate_linked_impactAssessment",
755
- "level": "error",
756
- "message": "must be linked to a verified country-level Impact Assessment"
759
+ "function": "_validate_product_yield",
760
+ "level": "warning",
761
+ "message": "is outside confidence interval"
757
762
  },
758
763
  {
759
- "function": "validate_plantation_practices",
764
+ "function": "validate_excreta_product",
765
+ "level": "warning",
766
+ "message": "should add an excreta product"
767
+ },
768
+ {
769
+ "function": "validate_excreta_product",
760
770
  "level": "error",
761
- "message": "must include practices for plantation weighting"
771
+ "message": "is not an allowed excreta product"
762
772
  },
763
773
  {
764
- "function": "validate_id",
774
+ "function": "validate_requires_water_salinity",
765
775
  "level": "error",
766
- "message": "aggregation id must contain a product, region, start, end year, and a timestamp"
776
+ "message": "requires a water salinity measurement"
767
777
  },
768
778
  {
769
- "function": "_validate_previous_transformationId",
779
+ "function": "_validate_all_values",
780
+ "level": "warning",
781
+ "message": "may not all be set to false"
782
+ },
783
+ {
784
+ "function": "_validate_material",
770
785
  "level": "error",
771
- "message": "must point to a previous transformation in the list"
786
+ "message": "must be set to false when specifying fuel use"
772
787
  },
773
788
  {
774
- "function": "_validate_previous_input",
789
+ "function": "_validate_freshForage",
775
790
  "level": "error",
776
- "message": "at least one Input must be a Product of the Cycle"
791
+ "message": "must have inputs representing the forage when set to true"
777
792
  },
778
793
  {
779
- "function": "_validate_previous_input",
794
+ "function": "_validate_ingredient",
780
795
  "level": "error",
781
- "message": "at least one Input must be a Product of the previous Transformation"
796
+ "message": "must have inputs to represent ingredients"
782
797
  },
783
798
  {
784
- "function": "_validate_previous_product_value",
799
+ "function": "_validate_ingredient",
785
800
  "level": "error",
786
- "message": "must be equal to previous product multiplied by the share"
801
+ "message": "ingredients should be complete"
787
802
  },
788
803
  {
789
- "function": "validate_linked_emission",
790
- "level": "warning",
791
- "message": "should be linked to an emission in the Cycle"
804
+ "function": "_validate_animalPopulation",
805
+ "level": "error",
806
+ "message": "animal population must not be complete"
792
807
  },
793
808
  {
794
- "function": "validate_excreta_inputs_products",
809
+ "function": "_validate_completeness_blank_nodes_key",
795
810
  "level": "error",
796
- "message": "must be included as an Input"
811
+ "message": "must not be blank if complete"
797
812
  },
798
813
  {
799
- "function": "validate_transformation_inputs_value",
814
+ "function": "validate_completeness_transport",
800
815
  "level": "error",
801
- "message": "must be specified for multiple Inputs with the same term"
816
+ "message": "must have a value or a distance if complete"
817
+ },
818
+ {
819
+ "function": "validate_coverage",
820
+ "level": "warning",
821
+ "message": "can not calculate all emissions"
802
822
  }
803
823
  ]
804
824
  }