tdwg / bdq

Biodiversity Data Quality (BDQ) Interest Group
https://github.com/tdwg/bdq
43 stars 7 forks source link

TG2-VALIDATION_COORDINATES_TERRESTRIALMARINE #51

Open iDigBioBot opened 6 years ago

iDigBioBot commented 6 years ago
TestField Value
GUID b9c184ce-a859-410c-9d12-71a338200380
Label VALIDATION_COORDINATES_TERRESTRIALMARINE
Description Does the marine/non-marine biome of a taxon from the bdq:sourceAuthority match the biome at the location given by the coordinates?
TestType Validation
Darwin Core Class Location
Information Elements ActedUpon dwc:decimalLatitude
dwc:decimalLongitude
Information Elements Consulted dwc:scientificName
Expected Response EXTERNAL_PREREQUISITES_NOT_MET if either bdq:taxonomyIsMarine or bdq:geospatialLand are not available; INTERNAL_PREREQUISITES_NOT_MET if dwc:dcientificName is EMPTY or the marine/non-marine status of the taxon is not interpretable from bdq:taxonomyIsMarine or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT if the taxon marine/non-marine status from bdq:taxonomyIsMarine matches the marine/non-marine status of dwc:decimalLatitude and dwc:decimalLongitude on the boundaries given by bdq:geospatialLand plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT
Data Quality Dimension Consistency
Term-Actions COORDINATES_TERRESTRIALMARINE
Parameter(s) bdq:taxonIsMarine
bdq:geospatialLand
bdq:spatialBufferInMeters
Source Authority bdq:taxonIsMarine default = "World Register of Marine Species (WoRMS") {[https://www.marinespecies.org/]} {Web service [https://www.marinespecies.org/aphia.php?p=webservice]}
{bdq:geospatialLand default = The spatial union of "NaturalEarth 10m-physical-vectors for Land" [https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_land.zip] and "NaturalEarth Minor Islands" [https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_minor_islands.zip]}
bdq:spatialBufferInMeters default = "3000"
Specification Last Updated 2024-04-15
Examples [dwc:decimalLatitude="-41.0525925872862", dwc:decimalLongitude="-71.5310546742521", dwc:scientificName="Aegla neuquensis": Response.status=RUN_HAS_RESULT, Response.result=COMPLIANT, Response.comment="The species is freshwater aquatic and the coordinates fall in a lake and thus COMPLIANT"]
[dwc:decimalLatitude="41.0525925872862", dwc:decimalLongitude="-71.5310546742521", dwc:scientificName="Puma concolor": Response.status=RUN_HAS_RESULT, Response.result=NOT_COMPLIANT, Response.comment="dwc:scientificName is terrestrial but coordinates are marine"]
Source ALA, OBIS
References
Example Implementations (Mechanisms)
Link to Specification Source Code
Notes dwc:coordinatePrecicision and dwc:coordinateUncertaintyInMeters (if present) imply a potential displacement of the provided coordinates. These two terms can be considered spatial buffers. Likewise, country polygons cannot be 100% accurate at all scales (Dooley 2005), so a spatial buffer of the country boundaries is justified. Taking the spatial buffers into account does however greatly complicate both the logic and the implementation of such tests. The same applies to potential conversion of the Spatial Reference System (SRS) of dwc:decimalLatitude and dwc:decimalLongitude to the SRS used in the bdq:sourceAuthority.
iDigBioBot commented 6 years ago

Comment by Paula Zermoglio (@pzermoglio) migrated from spreadsheet: Should we consider whether we are talking about paleo records?

iDigBioBot commented 6 years ago

Comment by Paul Morris (@chicoreus) migrated from spreadsheet: terrestrial spatial layer isn't a Darwin Core term, needs to be listed in a different column. Difficult to work with nearshore environments, precision of the GIS layers may not be high enough and coastal boundaries and occurrence locations may need to be buffered as part of a test.

iDigBioBot commented 6 years ago

Comment by Paul Morris (@chicoreus) migrated from spreadsheet: OBIS codes taxa as marine, freshwater, brackish, or terrestrial. Definition of terrestrial unclear here, meaning on land, or non-marine, would freshwater taxa be expected to fall inside terrestrial polygons. Some taxa can be in different envrionments depending on where they are in their lifecycle, freshwater, brackish water, and marine phases are not unusual. Brackish water and nearshore environments tend to be problematic for detection of problematic coordinates, particularly without high resolution gis layers.

iDigBioBot commented 6 years ago

Comment by Christian Gendreau (@cgendreau) migrated from spreadsheet: don't forget it also implies you "understood" the species so it's extremly difficult to implement. I would definitly not include it in the core

iDigBioBot commented 6 years ago

Comment by Paul Morris (@chicoreus) migrated from spreadsheet: dIFFICULT TO IMPLEMENT

ArthurChapman commented 4 years ago

This probably needs further discussion. There are two ways this can be done. Some earlier discussion seemed to indicate that it may be better to use the taxon to decide if it is Marine or not - i.e. go the OBIS way and use WORMS - and basically decide on a Taxon basis. Alternatively (and harder to implement) is to use similar techniques to #73 and use a GIS layer. If the latter, then we probably need to add the 3km buffer - but what about things in estuaries (where coastlines are particularly unreliable). I think I favour using the taxon to decide, using WORMS. Whatever we do it needs to be rewritten.

ArthurChapman commented 4 years ago

Also see comment by @iDigBioBot above

Tasilee commented 4 years ago

The test is certainly useful if it can flag species in a wrong location and marine vs non-marine is the most broad first cut.

This test requires a) the habitat identification of the taxon and b) the location using dwc:decimalLatitude and dwc:decimalLongitude and (c), a spatial buffer. (a) could be iffy if is it based on WORMS or IRMNG.

ArthurChapman commented 4 years ago

Note that if you are using layers for the marine/terrestrial boundaries - the scale of the land/water interface in the EEZ layers on marineregions.org is a lot more course than that of the country (and hence land/marine interface) GADM country boundaries, for example so I would suggest the latter.

Tasilee commented 4 years ago

Is the EEZ relevant here? All we need to know is land vs water? Maybe. Australia has a category called 'External territories' that includes a bunch of islands like Cocos, Heard, McDonald, Norfolk and I guess from https://www.ga.gov.au/scientific-topics/marine/jurisdiction/maritime-boundary-definitions that these are part of the EEZ.

ArthurChapman commented 4 years ago

The GADM country layers should have the islands, so the EEZ is probably not as relevant and is at a muh worse scale. I would just use GADM.

ArthurChapman commented 4 years ago

Looking at the Expected Response in this one - it is not clear if we are using geographic boundaries or relying on taxon IRMNG and the OBIS codes to determine isMarine. As written we seem to be having bets both ways.

Tasilee commented 4 years ago

As far as I am concerned, there are at least two bdq:sourceAuthority references here. The first is either WORMS or IRMNG and the second is GADM. A potential third may be EEZs.

I cannot see why we don't have an EXTERNAL_PREREQUISITES_NOT_MET

We again have the potential problem of spatial buffers. As per #73 (and others), buffering makes for serious complications. I would be happier to accept the false positive here if we skip the complexities (and put scenarios with buffers in Notes) as a VALIDATION, than I would for an AMENDMENT as in #73.

ArthurChapman commented 4 years ago

It depends on whether you go the spatial route - then GADM, if you go the taxon route then IRMNG - I think we have to use one or the other and not both? The IRMNG I think includes the OBIS Codes for marine, freshwater, brackish, or terrestrial - perhaps these could be used in some way. If you go the Spatial route, then you have the problem of fuzzy coastlines (so not going to be accurate within 3km if using global layers and not a localised GIS), and the IRMNG may thus be more accurate. It may need be something that is tested against some real data. If we go the taxon route, then we are at least consistent with OBIS.

davewatts3 commented 4 years ago

OBIS uses the habitat values from WoRMS not IRMNG. A taxa can have more than one value. Only those tagged with marine appear in the OBIS portal. OBIS does report on suspect terrestrial locations but the data still appears. Obviously if it is a seabird it can be inland - migrating or nesting. We have seen terrestrial birds fly south in the southern ocean (likely never to return) yet a valid observation. Many observations of marine animals are done from the coast so appear in the wrong spot. Salt water crocs travel up rivers so appear inland even if tagged as marine. I think the WoRMS taxonomic editors are more likely to tag the taxa correctly as marine versus using observation records to define 'marine'

ArthurChapman commented 4 years ago

Thanks @davewatts3 - very valuable contribution.

Antonarctica commented 4 years ago

an addition to @davewatts3 on the WoRMS/Aphia ID values. The Aphia taxonomic register is used increasingly for non-marine taxa as well in the Framework of the "Lifewatch Species Information Backbone"(http://www.lifewatch.be/en/lifewatch-species-information-backbone). Depending on the context more or less information can be found using filters relevant for that context. As @iDigBioBot mentioned in Aphia Environment distinguishes 'Marine', 'Brackish', 'Fresh' or 'Terrestrial' with an indication of yes, no or Unknown. So catadromous fish like eels can be labelled with yes for Marine', 'Brackish' and 'Fresh'.

Currently having the label Marine for Marine organism is probably the best filled out value. With Brackish, Fresh and Terrestrial catching up.

For the Antarctic we currently have two registers that build on Aphia, the register for Antarctic Marine Species, that only displays Marine/brackish species and the Register of Antarctic species displays all species, but in the backend they but run on Aphia.

From an Antarctic perspective the GADM layer is quite coarse. So even when buffered it would not be very reliable.

ArthurChapman commented 4 years ago

COMPLIANT if a terrestrial taxon represented by the Source Authority for marine and terrestrial biomes has geographic coordinates that fall within terrestrial boundaries plus an exterior buffer given by bdq:spatialBufferMeters or a marine taxon represented by the source Authority for marine and terrestrial biomes has geographic coordinates that fall within marine boundaries plus an exterior buffer given by bdq:spatialBufferMeters; otherwise NOT_COMPLIANT

chicoreus commented 4 years ago

Remove references to bdq:isMarine, references an external Kurator actor that we aren't using.

PREREQUISITES_NOT_MET if the bdq:sourceAuthority is not available; INTERNAL_PREREQUISITES_NOT_MET if the terrestrial or marine status of the taxon is not provided or is ambiguous from the bdq:sourceAuthority or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT if a taxon coded as terrestrial by the bdq:sourceAuthority has geographic coordinates that fall within terrestrial boundaries plus an exterior buffer given by bdq:spatialBufferMeters or a marine taxon according to the bdq:sourceAuthority has geographic coordinates that fall within marine boundaries plus an exterior buffer given by bdq:spatialBufferMeters; otherwise NOT_COMPLIANT

chicoreus commented 2 years ago

The specification describes assessing using the marine/non-marine status of the taxon, but no taxon term is included as an information element.

Tasilee commented 2 years ago

Oops. I agree @chicoreus. Can we get away with dwc:scientificName? Admitted, amendments may affect the taxon identity.

chicoreus commented 2 years ago

Discussed in call 2022 Feb 27, dwc:scientificName added as an information element, dwc:taxonID not added, as if it isn't an aphia id, it likely complicates the lookup of marine/non-marine status, and we have an amendment to set scientificName from taxonID. This leaves potential issues with homonyms, but for flagging potentially problematic data, these would represent edge cases.

This test is different from others in having more than one source authority (one for an is marine lookup, the other for land/marine geospatial data). I've represented this here as bdq:sourceAuthority[taxonismarine, geospatialland], suggesting a map of two source authorities with distinguishable targets, rather than proposing a second source authority term, e.g. bdq:sourceAuthority2.

@Antonarctica I've suggested a default geospatial data set of a union of natural earth land with natural earth minor islands, will this work better for Antartartic uses than GADM?

@tucotuco @ArthurChapman please check that the geospatial language makes sense.

For clarity, proposing change of the specification from:

EXTERNAL_PREREQUISITES_NOT_MET if the bdq:sourceAuthority service was not available; INTERNAL_PREREQUISITES_NOT_MET if the non-marine/marine status of the taxon is not provided or is not interpretable from bdq:sourceAuthority or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT if a taxon coded as non-marine by the bdq:sourceAuthority has geographic coordinates that fall within non-marine boundaries plus an exterior buffer given by bdq:spatialBufferInMeters or a marine taxon according to the bdq:sourceAuthority has geographic coordinates that fall within marine boundaries plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT

To:

EXTERNAL_PREREQUISITES_NOT_MET if a bdq:sourceAuthority service was not available; INTERNAL_PREREQUISITES_NOT_MET if the non-marine/marine status of the taxon is not provided or is not interpretable to a set of identical values for all taxon matches in bdq:sourceAuthority[taxonomyismarine] or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT if a taxon coded as non-marine by the bdq:sourceAuthority[taxonomyismarine] has geographic coordinates that fall within non-marine boundaries given by bdq:sourceAuthority[geospatialland] plus an exterior buffer given by bdq:spatialBufferInMeters or a marine taxon according to the bdq:sourceAuthority has geographic coordinates that fall within marine boundaries given by bdq:sourceAuthority[geospatialland] plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT

Adding to the notes that "is not interpretable to a set of identical values for all taxon matches" is intended to mean that if homonyms are matched by a scientificName, and they all have the same marine/brackish/non-marine status, then the test can continue, but if they differ, then the test must return prerequisites not met (e.g. if Aus bus matches a land plant and a land snail, the test can continue, but if it matches a land plant and a marine worm, then the prerequisites aren't met). If there are multiple name matches, but they all have the same status, then it doesn't matter, but if they are different in terrestrial/marine status, then there isn't enough information to continue.

ArthurChapman commented 2 years ago

Looks good. I wonder if we should add bdq before the taxonomyismarine etc. and use camelCase = e.g. "bdq:sourceAuthority[bdq:taxonomyIsMarine] and bdq:sourceAuthority[bdq:geospatialLand]

Alternatively we could use bdq:taxonomyIsMarine and bdq:geospatialLand (as you have used bdq:spatialBufferInMeters) and define them in the Glossary. If we used this, we could change the first part to read

EXTERNAL_PREREQUISITES_NOT_MET if a bdq:sourceAuthority service (bdq:taxonomyIsMarine, bdq:geospatialLand, or bdq:spatialBufferInMeters) was not available; ....

Tasilee commented 2 years ago

Thanks @chicoreus and @ArthurChapman. I agree with you @chicoreus in regards the syntax options bdq:sourceAuthority[taxonomyismarine] and bdq:sourceAuthority[geospatialland]. I think this is simpler @ArthurChapman than repeating bdq - which could get confusing.

I think the new Expected Response needs a double-barrel on the EXTERNAL however, and maybe explicit reference to dwc:scientificName, and a simplification of the geographic bit?

EXTERNAL_PREREQUISITES_NOT_MET if a bdq:sourceAuthority[taxonomyismarine] or bdq:sourceAuthority[geospatialland] service was not available; INTERNAL_PREREQUISITES_NOT_MET if dwc:dcientificName was EMPTY or the non-marine/marine status of the taxon is not interpretable from bdq:sourceAuthority[taxonomyismarine] or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT the taxon marine/non-marine status from bdq:sourceAuthority[taxonomyismarine] matches the status marine/non-marine status of dwc:decimalLatitude and dwc:decimalLongitude on the boundaries given by bdq:sourceAuthority[geospatialland] plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT

tucotuco commented 2 years ago

I like the version from @Tasilee except for the word "service". Can we strike that everywhere it occurs to avoid confusion about resources made locally from the authorities?

Tasilee commented 2 years ago

Seems ok to me @tucotuco. I'm happy to make the changes once we have comments from @chicoreus and @ArthurChapman.

And just noticed a typo in my ER above with status (and poor English) and made consistent "marine/non-marine"...try this...

EXTERNAL_PREREQUISITES_NOT_MET if a bdq:sourceAuthority[taxonomyismarine] or bdq:sourceAuthority[geospatialland] was not available; INTERNAL_PREREQUISITES_NOT_MET if dwc:dcientificName was EMPTY or the marine/non-marine status of the taxon is not interpretable from bdq:sourceAuthority[taxonomyismarine] or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT the taxon marine/non-marine status from bdq:sourceAuthority[taxonomyismarine] matches the marine/non-marine status of dwc:decimalLatitude and dwc:decimalLongitude on the boundaries given by bdq:sourceAuthority[geospatialland] plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT

ArthurChapman commented 2 years ago

There is some syntax error in the above - suggest

EXTERNAL_PREREQUISITES_NOT_MET if either bdq:sourceAuthority[taxonomyismarine] or bdq:sourceAuthority[geospatialland] are not available; INTERNAL_PREREQUISITES_NOT_MET if dwc:dcientificName was EMPTY or the non-marine/marine status of the taxon is not interpretable from bdq:sourceAuthority[taxonomyismarine] or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT the taxon marine/non-marine status from bdq:sourceAuthority[taxonomyismarine] matches the status marine/non-marine status of dwc:decimalLatitude and dwc:decimalLongitude on the boundaries given by bdq:sourceAuthority[geospatialland] plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT

Tasilee commented 2 years ago

Still not quite right. Try this...

EXTERNAL_PREREQUISITES_NOT_MET if either bdq:sourceAuthority[taxonomyismarine] or bdq:sourceAuthority[geospatialland] are not available; INTERNAL_PREREQUISITES_NOT_MET if dwc:dcientificName was EMPTY or the marine/non-marine status of the taxon is not interpretable from bdq:sourceAuthority[taxonomyismarine] or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT if the taxon marine/non-marine status from bdq:sourceAuthority[taxonomyismarine] matches the marine/non-marine status of dwc:decimalLatitude and dwc:decimalLongitude on the boundaries given by bdq:sourceAuthority[geospatialland] plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT

ArthurChapman commented 2 years ago

Just one small error - add "if" after COMPLAINT

Tasilee commented 2 years ago

ah. Done.

Tasilee commented 2 years ago

Going (again) through the test data looking at the Comments, I'm figuring we need a mod to the Expected Response. From

EXTERNAL_PREREQUISITES_NOT_MET if either bdq:sourceAuthority[taxonomyismarine] or bdq:sourceAuthority[geospatialland] are not available; INTERNAL_PREREQUISITES_NOT_MET if dwc:dcientificName was EMPTY or the marine/non-marine status of the taxon is not interpretable from bdq:sourceAuthority[taxonomyismarine] or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY; COMPLIANT if the taxon marine/non-marine status from bdq:sourceAuthority[taxonomyismarine] matches the marine/non-marine status of dwc:decimalLatitude and dwc:decimalLongitude on the boundaries given by bdq:sourceAuthority[geospatialland] plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT

to

EXTERNAL_PREREQUISITES_NOT_MET if either bdq:sourceAuthority[taxonomyismarine] or bdq:sourceAuthority[geospatialland] are not available; INTERNAL_PREREQUISITES_NOT_MET if dwc:dcientificName was EMPTY or the marine/non-marine status of the taxon is not interpretable from bdq:sourceAuthority[taxonomyismarine], or the values of dwc:decimalLatitude or dwc:decimalLongitude are EMPTY or cannot be interpreted as a number; COMPLIANT if the taxon marine/non-marine status from bdq:sourceAuthority[taxonomyismarine] matches the marine/non-marine status of dwc:decimalLatitude and dwc:decimalLongitude on the boundaries given by bdq:sourceAuthority[geospatialland] plus an exterior buffer given by bdq:spatialBufferInMeters; otherwise NOT_COMPLIANT

ArthurChapman commented 2 years ago

Getting better

Tasilee commented 2 years ago

Unless I am mistaken, the label does not require changing (to 'positive')?

chicoreus commented 2 years ago

On Mon, 21 Mar 2022 18:59:35 -0700 Lee Belbin @.***> wrote:

Unless I am mistaken, the label does not require changing (to 'positive')?

Unless we make it something awkward, coordinates_correctfortaxonandgeographyterrestrialormarine....

Clear enough as it is I think.

coordinates_consistentwithhabitat might be a different way of phrasing it, but habitat is too generic....

tucotuco commented 2 years ago

Even biome is too generic. I vote for leaving it as is.

ArthurChapman commented 2 years ago

OK as is - we have TERRESTRIALMARINE defined in #152

tucotuco commented 2 years ago

I suggest the Description:

'Does the marine/non-marine biome of a taxon from the bdq:sourceAuthority match the biome at the location given by the coordinates?'

in place of:

'Does the marine/nonmarine status of a taxon from bdq:sourceAuthority[taxonomyismarine] match the location given by the coordinates?'

Tasilee commented 2 years ago

Source Authority of land and islands merged to "bdq:sourceAuthority[geospatialland] default = the union of "NaturalEarth 10m-physical-vectors for Land" [https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_land.zip] and "NaturalEarth Minor Islands" [https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_minor_islands.zip]"

Tasilee commented 1 year ago

Restructured Parameter(s) and Source authority

ArthurChapman commented 1 year ago

Updated Expected Response, Parameter(s), Source Authority and Specification Last Updated to

replace: bdq:sourceAuthority[taxonomyismarine] with bdq:taxonomyIsMarine bdq:sourceAuthority[geospatialland] with bdq:geospatialLand

Tasilee commented 12 months ago

ost Zoom 11/7/2023, I have aligned the Source Authority with the suggested syntax:

bdq:taxonIsMarine default = "WORMS" [https://www.marinespecies.org/aphia.php?p=webservice] bdq:geospatialLand default = the spatial union of "NaturalEarth 10m-physical-vectors for Land" [https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_land.zip] and "NaturalEarth Minor Islands" [https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_minor_islands.zip] bdq:spatialBufferInMeters default = "3000"

to

bdq:taxonIsMarine default = "World Register of Marine Organisms (WORMS") {[https://www.marinespecies.org/]} {Web service [https://www.marinespecies.org/aphia.php?p=webservice]} {bdq:geospatialLand default = The spatial union of "NaturalEarth 10m-physical-vectors for Land" [https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_land.zip] and "NaturalEarth Minor Islands" [https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/physical/ne_10m_minor_islands.zip]} bdq:spatialBufferInMeters default = "3000"

chicoreus commented 12 months ago

On Mon, 10 Jul 2023 19:54:57 -0700 Lee Belbin @.***> wrote:

bdq:taxonIsMarine default = "World Register of Marine Organisms (WORMS") {[https://www.marinespecies.org/]} {Web service [https://www.marinespecies.org/aphia.php?p=webservice]}

That should be "World Register of Marine Organisms (WoRMS)". (lower case o in WoRMS, close parenthesies before the quote).

Tasilee commented 10 months ago

This test should have Data Quality Dimension "Consistency" rather than "Conformance". Edited.

ymgan commented 9 months ago

Hi,

bdq:taxonIsMarine default = "World Register of Marine Organisms (WoRMS") {[https://www.marinespecies.org/]} {Web service [https://www.marinespecies.org/aphia.php?p=webservice]}

I believe there is a typo, WoRMS is "World Register of Marine Species", thanks a lot!

Tasilee commented 9 months ago

Thanks @ymgan. Corrected.

Tasilee commented 9 months ago

Splitting bdqffdq:Information Elements into "Information Elements ActedUpon" and "Information Elements Consulted". Also changed "Field" to "TestField" and "Output Type" to "TestType".

Tasilee commented 2 months ago

Changed "was" to "is" to align with standard phrasing in ER as in "INTERNAL_PREREQUISITES_NOT_MET if xxx is EMPTY"