From 8ec67f6e494920fd0442800917108466b3a8255f Mon Sep 17 00:00:00 2001 From: rng Date: Wed, 12 Nov 2025 12:12:53 +1100 Subject: [PATCH 1/3] Fix test and outdated schema --- .../server/core/model/SummariesModel.java | 2 +- .../core/model/enumeration/CQLFields.java | 4 +- .../core/mapper/StacToCollectionTest.java | 2 +- .../src/test/resources/data_index_schema.json | 74 ++++--------------- .../00462296-be7a-452f-afaf-36c809cd51f8.json | 2 +- .../073fde5a-bff3-1c1f-e053-08114f8c5588.json | 2 +- .../0c681199-06cd-435c-9468-be6998799b1f.json | 2 +- .../19da2ce7-138f-4427-89de-a50c724f5f54.json | 2 +- .../35234913-aa3c-48ec-b9a4-77f822f66ef8.json | 2 +- .../5c418118-2581-4936-b6fd-d6bedfe74f62.json | 2 +- .../7709f541-fc0c-4318-b5b9-9053aa474e0e.json | 2 +- .../bf287dfe-9ce4-4969-9c59-51c39ea4d011.json | 2 +- .../c9055fe9-921b-44cd-b4f9-a00a1c93e8ac.json | 2 +- .../e26d0a56-5603-4413-911d-7b359a533a75.json | 2 +- ...arameter_platform_organisation_vocabs.json | 2 +- .../portal_records_index_schema.json | 2 +- 16 files changed, 32 insertions(+), 74 deletions(-) diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/SummariesModel.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/SummariesModel.java index a720b74a..363bf371 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/SummariesModel.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/SummariesModel.java @@ -36,7 +36,7 @@ public class SummariesModel { protected String updateFrequency; @JsonProperty("dataset_group") - protected String datasetGroup; + protected List datasetGroup; @JsonProperty("ai:description") protected String aiDescription; diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java index ca7e2073..5b2d71c0 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java @@ -28,7 +28,9 @@ public enum CQLFields implements CQLFieldsInterface { dataset_group( StacSummeries.DatasetGroup.searchField, StacSummeries.DatasetGroup.displayField, - null, + (literal) -> TermsQuery.of(t -> + t.field(StacSummeries.DatasetGroup.searchField) + .terms(tf -> tf.value(List.of(FieldValue.of(literal)))))._toQuery(), null ), update_frequency( diff --git a/server/src/test/java/au/org/aodn/ogcapi/server/core/mapper/StacToCollectionTest.java b/server/src/test/java/au/org/aodn/ogcapi/server/core/mapper/StacToCollectionTest.java index 8251b319..8420565d 100644 --- a/server/src/test/java/au/org/aodn/ogcapi/server/core/mapper/StacToCollectionTest.java +++ b/server/src/test/java/au/org/aodn/ogcapi/server/core/mapper/StacToCollectionTest.java @@ -104,7 +104,7 @@ public void verifyAddingPropertyWorks() { assets.put("vessel_satellite_radiance_derived_product.zarr", asset); var citationString = "{\"suggestedCitation\":\"this is suggested Citation\",\"useLimitations\":[\"this is useLimitations1\",\"this is useLimitations2\"],\"otherConstraints\":[\"this is otherConstraints1\",\"this is otherConstraints2\"]}"; var statement = "This is the statement of this record"; - var datasetGroup = "group_test"; + var datasetGroup = List.of("group_test"); var aiDescription = "AI-generated description for testing"; StacCollectionModel model = StacCollectionModel diff --git a/server/src/test/resources/data_index_schema.json b/server/src/test/resources/data_index_schema.json index d2651fd3..c7c73430 100644 --- a/server/src/test/resources/data_index_schema.json +++ b/server/src/test/resources/data_index_schema.json @@ -1,76 +1,32 @@ { "mappings": { "properties": { - "id": { - "type": "keyword" - }, - "stac_version": { - "type": "text" - }, - "stac_extensions": { - "type": "text" - }, "type": { - "type": "text" - }, - "collection": { "type": "keyword" }, - "geometry": { - "type": "geo_shape" - }, - "bbox": { - "type": "double" - }, - "dataset_group": { - "type": "text" - }, - "ai:description": { - "type": "text" - }, - "properties": { + "features": { "type": "nested", "properties": { - "lng": { - "type": "double" + "type": { + "type": "keyword" }, - "lat": { - "type": "double" + "geometry": { + "type": "geo_shape" }, - "depth": { - "type": "double" - }, - "count": { - "type": "double" - }, - "time": { - "type": "date" - } - } - }, - "links": { - "type": "nested", - "properties": { - "link": { - "type": "nested", + "properties": { + "type": "object", "properties": { - "href": { - "type": "text" - }, - "rel": { - "type": "text" - }, - "type": { - "type": "text" + "date": { + "type": "date" }, - "title": { - "type": "text" + "count": { + "type": "double" }, - "description": { - "type": "text" + "collection": { + "type": "keyword" }, - "ai:group": { - "type": "text" + "key": { + "type": "keyword" } } } diff --git a/server/src/test/resources/databag/00462296-be7a-452f-afaf-36c809cd51f8.json b/server/src/test/resources/databag/00462296-be7a-452f-afaf-36c809cd51f8.json index 49828f9c..49947622 100644 --- a/server/src/test/resources/databag/00462296-be7a-452f-afaf-36c809cd51f8.json +++ b/server/src/test/resources/databag/00462296-be7a-452f-afaf-36c809cd51f8.json @@ -35,7 +35,7 @@ ], "statement": "Data source: original field data the 3 min ensemble files returned from the ship were processed in the usual way.
Data processing and quality control: according to current CMR Data Centre ADCP data processing manual. For full details, refer to documentation.", "revision": "2004-04-16T15:44:25", - "dataset_group": "csiro oceans and atmosphere", + "dataset_group": ["csiro oceans and atmosphere"], "update_frequency": "completed", "proj:geometry": { "geometries": [ diff --git a/server/src/test/resources/databag/073fde5a-bff3-1c1f-e053-08114f8c5588.json b/server/src/test/resources/databag/073fde5a-bff3-1c1f-e053-08114f8c5588.json index 8e1e3743..f00928c7 100644 --- a/server/src/test/resources/databag/073fde5a-bff3-1c1f-e053-08114f8c5588.json +++ b/server/src/test/resources/databag/073fde5a-bff3-1c1f-e053-08114f8c5588.json @@ -41,7 +41,7 @@ }, "statement": "Original field data. EOV data archive removed from the vessel. Data and paper documentation archived O&A Data Centre. All paper documentation are scanned to 400 dpi PDF. The paper documentation is stored at Hobart with a reference in TRIM system \"in2014_E03\". Data archived to LTO tape and network 1/12/2014. Triaxus log book scanned to pdf and archived to global_docs on the 4 May 2015. Gravity data added to network EOV archive 31/3/2015, new manifest file created manifest_in2014_e03_1.1.txt and EndOfVoyageChecklist.pdf updated. Error in EOV checklist number of folders corrected 17/08/2015. Stored data volume entry correct. Work note entries updated. The archive for the in2014_e03 EOV data will be held temporarily within the CSIRO Oceans and Atmosphere Data Centre in Hobart with a permanent archive to be located at the CSIRO Data Access Portal (DAP).", "revision": "2022-03-03T03:24:40", - "dataset_group": "csiro oceans and atmosphere", + "dataset_group": ["csiro oceans and atmosphere"], "proj:geometry": { "geometries": [ { diff --git a/server/src/test/resources/databag/0c681199-06cd-435c-9468-be6998799b1f.json b/server/src/test/resources/databag/0c681199-06cd-435c-9468-be6998799b1f.json index 3dc01da8..a6177745 100644 --- a/server/src/test/resources/databag/0c681199-06cd-435c-9468-be6998799b1f.json +++ b/server/src/test/resources/databag/0c681199-06cd-435c-9468-be6998799b1f.json @@ -88,7 +88,7 @@ "statement": "Statement: The central-west Pacific samples were collected by Dr Gary Williams and preserved in 70% ethanol. Carlos Sanchez, Gary Williams and Katharina Fabricius performed the identification of all samples. Leen van Ofwegen confirmed the identity of Stereonephthya sp. 1 from the GBR.", "creation": "2009-11-11T00:00:00", "revision": "2017-11-20T00:00:00", - "dataset_group": "aims", + "dataset_group": ["aims"], "update_frequency": "completed", "proj:geometry": { "geometries": [ diff --git a/server/src/test/resources/databag/19da2ce7-138f-4427-89de-a50c724f5f54.json b/server/src/test/resources/databag/19da2ce7-138f-4427-89de-a50c724f5f54.json index 7349641c..b0103cbb 100644 --- a/server/src/test/resources/databag/19da2ce7-138f-4427-89de-a50c724f5f54.json +++ b/server/src/test/resources/databag/19da2ce7-138f-4427-89de-a50c724f5f54.json @@ -40,7 +40,7 @@ }, "creation": "2020-07-13T15:13:12", "revision": "2023-12-08T04:33:13", - "dataset_group": "imos", + "dataset_group": ["imos"], "dataset_provider": "IMOS", "proj:geometry": { "geometries": [ diff --git a/server/src/test/resources/databag/35234913-aa3c-48ec-b9a4-77f822f66ef8.json b/server/src/test/resources/databag/35234913-aa3c-48ec-b9a4-77f822f66ef8.json index 56274e8e..730db016 100644 --- a/server/src/test/resources/databag/35234913-aa3c-48ec-b9a4-77f822f66ef8.json +++ b/server/src/test/resources/databag/35234913-aa3c-48ec-b9a4-77f822f66ef8.json @@ -64,7 +64,7 @@ "statement": "XBT real-time data contains only RAW data. The data has not been quality controlled.", "creation": "2019-12-15T05:00:19", "revision": "2024-06-23T20:35:52", - "dataset_group": "imos", + "dataset_group": ["imos"], "dataset_provider": "IMOS", "update_frequency": "real-time", "proj:geometry": { diff --git a/server/src/test/resources/databag/5c418118-2581-4936-b6fd-d6bedfe74f62.json b/server/src/test/resources/databag/5c418118-2581-4936-b6fd-d6bedfe74f62.json index 22d740a5..f30af378 100644 --- a/server/src/test/resources/databag/5c418118-2581-4936-b6fd-d6bedfe74f62.json +++ b/server/src/test/resources/databag/5c418118-2581-4936-b6fd-d6bedfe74f62.json @@ -246,7 +246,7 @@ "summaries": { "score": 100, "dataset_provider": null, - "dataset_group": "aodn", + "dataset_group": ["aodn"], "proj:geometry": { "coordinates": [ [ diff --git a/server/src/test/resources/databag/7709f541-fc0c-4318-b5b9-9053aa474e0e.json b/server/src/test/resources/databag/7709f541-fc0c-4318-b5b9-9053aa474e0e.json index 25d814ca..70fa8279 100644 --- a/server/src/test/resources/databag/7709f541-fc0c-4318-b5b9-9053aa474e0e.json +++ b/server/src/test/resources/databag/7709f541-fc0c-4318-b5b9-9053aa474e0e.json @@ -44,7 +44,7 @@ "statement": "This dataset was created using both observed and modelled data. \n\nA full description of the dataset is available from: \"Historical reconstruction of ocean acidification in the Australian region. Lenton et al. 2016, Biogeosciences 13, 1753-1765,http://www.biogeosciences.net/13/1753/2016", "creation": "2019-01-08T15:59:50", "revision": "2019-01-08T15:59:50", - "dataset_group": "imos", + "dataset_group": ["imos"], "dataset_provider": "IMOS", "proj:geometry": { "geometries": [ diff --git a/server/src/test/resources/databag/bf287dfe-9ce4-4969-9c59-51c39ea4d011.json b/server/src/test/resources/databag/bf287dfe-9ce4-4969-9c59-51c39ea4d011.json index 63be534b..1c8d91ea 100644 --- a/server/src/test/resources/databag/bf287dfe-9ce4-4969-9c59-51c39ea4d011.json +++ b/server/src/test/resources/databag/bf287dfe-9ce4-4969-9c59-51c39ea4d011.json @@ -172,7 +172,7 @@ "statement": "Data sampling is being conducted as part of a larger IMOS monitoring program. The silk is removed from the CPR cassette and processed as described in Richardson et al 2006. The phytoplankton colour index (PCI) and the phytoplankton data are also analysed as per Richardson et al 2006. The zooplankton analysis is conducted differently to that described in Richardson et al 2006 as it is counted off the silk in a bogorov tray. This is accomplished by rinsing the silks in water and straining through a 10 micron mesh sieve. The collected plankton is transferred to a bogorov tray and counted under a disecting scope. This is done to retain the phytoplankton. AusCPR decided to analyse the zooplankton this way as it provides a more accurate analysis of the zooplankton present. It is easy to miss zooplankton when it is still on the silk and it is harder to identify. After counting the zooplankton and phytoplankton are transferred onto a preweighed filter and dried in an oven at 60 degrees C for 24-48 hours. Once dried the sample is reweighed to attain dry weight.", "creation": "2021-11-01T12:00:00", "revision": "2022-12-07T04:40:34", - "dataset_group": "imos", + "dataset_group": ["imos"], "dataset_provider": "IMOS", "proj:geometry": { "geometries": [ diff --git a/server/src/test/resources/databag/c9055fe9-921b-44cd-b4f9-a00a1c93e8ac.json b/server/src/test/resources/databag/c9055fe9-921b-44cd-b4f9-a00a1c93e8ac.json index f6aff856..ac512f3b 100644 --- a/server/src/test/resources/databag/c9055fe9-921b-44cd-b4f9-a00a1c93e8ac.json +++ b/server/src/test/resources/databag/c9055fe9-921b-44cd-b4f9-a00a1c93e8ac.json @@ -35,7 +35,7 @@ ], "statement": "Data source: original field data Data processing and quality control: according to current CMR Data Centre Underway processing manual GPS: The standard 1 minute positions have been archived and will be subsequently available in the underway file.
10 second values of latitude and longitude derived directly from the nmea strings will also be available in a netcdf file.
MET: For full details, refer to documentation.", "revision": "2009-11-26T11:07:59", - "dataset_group": "csiro oceans and atmosphere", + "dataset_group": ["csiro oceans and atmosphere"], "update_frequency": "completed", "proj:geometry": { "geometries": [ diff --git a/server/src/test/resources/databag/e26d0a56-5603-4413-911d-7b359a533a75.json b/server/src/test/resources/databag/e26d0a56-5603-4413-911d-7b359a533a75.json index 133fed7f..151fb1eb 100644 --- a/server/src/test/resources/databag/e26d0a56-5603-4413-911d-7b359a533a75.json +++ b/server/src/test/resources/databag/e26d0a56-5603-4413-911d-7b359a533a75.json @@ -52,7 +52,7 @@ "statement": "", "creation": "2010-11-23T00:00:00", "revision": "2019-10-14T00:00:00", - "dataset_group": "aims", + "dataset_group": ["aims"], "update_frequency": "completed", "proj:geometry": { "geometries": [ diff --git a/server/src/test/resources/databag/record_with_parameter_platform_organisation_vocabs.json b/server/src/test/resources/databag/record_with_parameter_platform_organisation_vocabs.json index 6eb60cf5..f2f6c20c 100644 --- a/server/src/test/resources/databag/record_with_parameter_platform_organisation_vocabs.json +++ b/server/src/test/resources/databag/record_with_parameter_platform_organisation_vocabs.json @@ -40,7 +40,7 @@ }, "creation": "2020-07-13T15:13:12", "revision": "2023-12-08T04:33:13", - "dataset_group": "imos", + "dataset_group": ["imos"], "dataset_provider": "IMOS", "update_frequency": "completed", "proj:geometry": { diff --git a/server/src/test/resources/portal_records_index_schema.json b/server/src/test/resources/portal_records_index_schema.json index 2cc63faa..93722f50 100644 --- a/server/src/test/resources/portal_records_index_schema.json +++ b/server/src/test/resources/portal_records_index_schema.json @@ -201,7 +201,7 @@ "type": "text" }, "dataset_group": { - "type": "text" + "type": "keyword" }, "creation": { "type": "date" From 952354a0e2a7d92968de471099a5918cc2a29c3c Mon Sep 17 00:00:00 2001 From: rng Date: Wed, 12 Nov 2025 12:28:19 +1100 Subject: [PATCH 2/3] Fix type issue --- .../org/aodn/ogcapi/server/core/parser/stac/ParserTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/src/test/java/au/org/aodn/ogcapi/server/core/parser/stac/ParserTest.java b/server/src/test/java/au/org/aodn/ogcapi/server/core/parser/stac/ParserTest.java index 0cd2108d..2a8fd6c0 100644 --- a/server/src/test/java/au/org/aodn/ogcapi/server/core/parser/stac/ParserTest.java +++ b/server/src/test/java/au/org/aodn/ogcapi/server/core/parser/stac/ParserTest.java @@ -25,6 +25,7 @@ import org.opengis.referencing.operation.TransformException; import java.io.IOException; +import java.util.Map; import java.util.Optional; @Slf4j @@ -61,11 +62,11 @@ public void verifyBBoxWorks1() throws CQLException, IOException, FactoryExceptio .build(); // Expected polygon shape after the no land area intersection with the BBOX Optional expected = GeometryUtils.readGeometry( - GeometryUtils.convertToGeoJson( + mapper.readValue(GeometryUtils.convertToGeoJson( new LiteralExpressionImpl( "POLYGON ((116 -34.84004284124928, 116 -36, 112 -36, 112 -27, 113.78063324619302 -27, 114.01254316500001 -27.31536223799992, 114.14389082100001 -27.687758070999905, 114.09791100400003 -27.862725518999923, 114.16602623800009 -28.10670338299991, 114.53109785200002 -28.52239348799992, 114.60377037900003 -28.838555596999925, 114.84245853000004 -29.108575127999927, 114.97877037900003 -29.479913018999923, 114.94263756600003 -30.031019789999903, 115.06080162900003 -30.52239348799992, 115.72152754000001 -31.772637627999927, 115.75684655000009 -32.18564218499995, 115.67367597700002 -32.273370049999926, 115.73585045700008 -32.33318450299993, 115.71452884200005 -32.537041924999926, 115.76929772200003 -32.60230885199991, 115.65886478000004 -32.62851327899995, 115.71412194100003 -32.78045012799993, 115.63965905000009 -32.656914971999925, 115.70093834700003 -32.51295338299991, 115.60092207100001 -32.66171640399995, 115.66684004000001 -33.28769296699994, 115.69792728000004 -33.1931291649999, 115.71013431100005 -33.27068450299993, 115.36719811300009 -33.63128020599993, 115.19467207100001 -33.64462655999995, 114.98853600400003 -33.52109140399995, 115.01042728000004 -34.24504973799992, 115.11882571700005 -34.36337655999995, 115.29078209700003 -34.301853122999944, 115.61231530000009 -34.44589609199994, 115.91578209700003 -34.70191822699991, 115.97852623800009 -34.83562590899993, 116 -34.84004284124928), (115.49210733500001 -31.99564901299993, 115.44014224400006 -32.021833949999916, 115.55219218900004 -32.00620348499996, 115.49210733500001 -31.99564901299993))"), CQLCrsType.EPSG4326 - ) + ), Map.class) ); // Parse the json and get the noland section From 8b9618cc2c68e589a4941903ec6c60acc2c69d67 Mon Sep 17 00:00:00 2001 From: rng Date: Wed, 12 Nov 2025 13:20:50 +1100 Subject: [PATCH 3/3] Add test case to cover change --- .../core/model/enumeration/CQLFields.java | 2 +- .../ogcapi/server/common/RestApiTest.java | 26 +++ .../b9bf6b57-54a0-44b3-bd17-30ccfb2b246f.json | 193 ++++++++++++++++++ 3 files changed, 220 insertions(+), 1 deletion(-) create mode 100644 server/src/test/resources/databag/b9bf6b57-54a0-44b3-bd17-30ccfb2b246f.json diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java index 5b2d71c0..1437e7c5 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLFields.java @@ -30,7 +30,7 @@ public enum CQLFields implements CQLFieldsInterface { StacSummeries.DatasetGroup.displayField, (literal) -> TermsQuery.of(t -> t.field(StacSummeries.DatasetGroup.searchField) - .terms(tf -> tf.value(List.of(FieldValue.of(literal)))))._toQuery(), + .terms(tf -> tf.value(List.of(FieldValue.of(literal.toLowerCase().trim())))))._toQuery(), null ), update_frequency( diff --git a/server/src/test/java/au/org/aodn/ogcapi/server/common/RestApiTest.java b/server/src/test/java/au/org/aodn/ogcapi/server/common/RestApiTest.java index d6fae3fe..1002b57c 100644 --- a/server/src/test/java/au/org/aodn/ogcapi/server/common/RestApiTest.java +++ b/server/src/test/java/au/org/aodn/ogcapi/server/common/RestApiTest.java @@ -498,6 +498,32 @@ public void verifyCQLPropertyDatasetGroup() throws IOException { collections.getBody().getCollections().get(0).getId(), "UUID matches"); } + /** + * Show that in case of dataset falls in multiple group, it works too + * @throws IOException - Not expected to throw + */ + @Test + public void verifyCQLPropertyMultiDatasetGroup() throws IOException { + super.insertJsonToElasticRecordIndex( + "5c418118-2581-4936-b6fd-d6bedfe74f62.json", // dataset_group null + "7709f541-fc0c-4318-b5b9-9053aa474e0e.json", // dataset_group is IMOS, + "b9bf6b57-54a0-44b3-bd17-30ccfb2b246f.json" // dataset_group aims, imas + ); + + ResponseEntity collections = testRestTemplate.getForEntity(getBasePath() + "/collections?filter=dataset_group='imas'", Collections.class); + assertEquals(1, Objects.requireNonNull(collections.getBody()).getCollections().size(), "hit 1, only one record"); + assertEquals( + "b9bf6b57-54a0-44b3-bd17-30ccfb2b246f", + collections.getBody().getCollections().get(0).getId(), + "UUID matches"); + + collections = testRestTemplate.getForEntity(getBasePath() + "/collections?filter=dataset_group='AIMS'", Collections.class); + assertEquals(1, Objects.requireNonNull(collections.getBody()).getCollections().size(), "hit 1, only one record"); + assertEquals( + "b9bf6b57-54a0-44b3-bd17-30ccfb2b246f", + collections.getBody().getCollections().get(0).getId(), + "UUID matches"); + } /** * You can use the score to tune the return result's relevancy, at this moment, only >= make sense other value * will be ignored. diff --git a/server/src/test/resources/databag/b9bf6b57-54a0-44b3-bd17-30ccfb2b246f.json b/server/src/test/resources/databag/b9bf6b57-54a0-44b3-bd17-30ccfb2b246f.json new file mode 100644 index 00000000..d0926225 --- /dev/null +++ b/server/src/test/resources/databag/b9bf6b57-54a0-44b3-bd17-30ccfb2b246f.json @@ -0,0 +1,193 @@ +{ + "title" : "Beagle Gulf Air Pressure From 24 May 2015 To 16 Jul 2017", + "description" : "'Australian National Moorings Network' (ANMN) is a facility of the Australian 'Integrated Marine Observing System' (IMOS) project. This data set was collected by the ANMN sub-facility 'National Reference Systems' (NRS).", + "extent" : { + "bbox" : [ [ 130.58333, -12.10823, 130.58333, -12.10823 ], [ 130.58333, -12.10823, 130.58333, -12.10823 ] ], + "temporal" : [ [ "2015-05-23T14:00:00Z", "2017-07-16T13:59:59Z" ], [ "2015-05-23T14:00:00Z", "2017-07-16T13:59:59Z" ] ] + }, + "summaries" : { + "score" : 1, + "status" : "completed", + "credits" : [ "Australian Institute of Marine Science (AIMS)", "Australia's Integrated Marine Observing System (IMOS) is enabled by the National Collaborative Research Infrastructure Strategy (NCRIS). It is operated by a consortium of institutions as an unincorporated joint venture, with the University of Tasmania as Lead Agent.", "Queensland State Government" ], + "scope" : { + "code" : "dataset", + "name" : "" + }, + "statement" : "National Reference Stations: A mooring has been deployed with sensors for conductivity, temperature, depth, dissolved oxygen, photosynthetically active radiation (PAR), fluorescence and measurement of turbidity at two depths - near surface and near sea bed. At the seafloor, an Acoustic Doppler Current Profiler (ADCP) has been deployed. Reference stations telemeter a reduced data set via Iridium satellite or nextG for real time monitoring. Physical sampling is undertaken at each of the reference stations on a monthly or quarterly basis. The physical samples are analysed for nutrients, plankton species, both visibly and genetically, and pCO2. Biological sampling will greatly improve Australia's capability to meet its obligations for ecosystem based management and allow many researchers the opportunity to investigate possible long term changes in ecology that are likely to be linked to climate variability and wide scale validation of remotely sensed (satellite) observations of plant biomass.", + "creation" : "2025-11-10T00:00:00", + "revision" : "2025-11-10T00:00:00", + "dataset_group" : [ "imas", "aims" ], + "update_frequency" : "completed", + "proj:geometry" : { + "geometries" : [ { + "type" : "Point", + "coordinates" : [ 130.58333, -12.10823 ] + } ], + "type" : "GeometryCollection" + }, + "proj:geometry_noland" : { + "geometries" : [ { + "type" : "Point", + "coordinates" : [ 130.58333, -12.10823 ] + } ], + "type" : "GeometryCollection" + }, + "temporal" : [ { + "start" : "2015-05-23T14:00:00Z", + "end" : "2017-07-16T13:59:59Z" + } ], + "parameter_vocabs" : [ ], + "platform_vocabs" : [ ], + "organisation_vocabs" : [ ] + }, + "contacts" : [ { + "roles" : [ "pointOfContact", "about" ], + "organization" : "Australian Institute of Marine Science (AIMS)", + "name" : "Steinberg, Craig R, Mr", + "emails" : [ "reception@aims.gov.au" ], + "addresses" : [ { + "deliveryPoint" : [ "PRIVATE MAIL BAG 3, TOWNSVILLE MAIL CENTRE" ], + "city" : "TOWNSVILLE", + "country" : "Australia", + "postalCode" : "4810", + "administrativeArea" : "Queensland" + } ], + "phones" : [ { + "roles" : [ "voice" ], + "value" : "+61 7 4753 4444" + }, { + "roles" : [ "facsimile" ], + "value" : "" + } ], + "links" : [ { + "href" : "https://www.aims.gov.au", + "type" : "WWW:LINK-1.0-http--link", + "title" : "AIMS Web Site" + } ] + }, { + "roles" : [ "pointOfContact", "metadata" ], + "organization" : "Australian Institute of Marine Science (AIMS)", + "position" : "AIMS Data Centre", + "emails" : [ "adc@aims.gov.au" ], + "addresses" : [ { + "deliveryPoint" : [ "PRIVATE MAIL BAG 3" ], + "city" : "TOWNSVILLE MAIL CENTRE", + "country" : "Australia", + "postalCode" : "4810", + "administrativeArea" : "Queensland" + } ], + "phones" : [ { + "roles" : [ "voice" ], + "value" : "+61 7 4753 4444" + }, { + "roles" : [ "facsimile" ], + "value" : "+61 7 4772 5852" + } ], + "links" : [ { + "href" : "https://www.aims.gov.au/adc", + "type" : "WWW:LINK-1.0-http--link" + } ] + }, { + "roles" : [ "publisher", "citation" ], + "organization" : "Australian Institute of Marine Science (AIMS)", + "emails" : [ "reception@aims.gov.au" ], + "addresses" : [ { + "deliveryPoint" : [ "PRIVATE MAIL BAG 3, TOWNSVILLE MAIL CENTRE" ], + "city" : "TOWNSVILLE", + "country" : "Australia", + "postalCode" : "4810", + "administrativeArea" : "Queensland" + } ], + "phones" : [ { + "roles" : [ "voice" ], + "value" : "+61 7 4753 4444" + }, { + "roles" : [ "facsimile" ], + "value" : "" + } ], + "links" : [ { + "href" : "https://www.aims.gov.au", + "type" : "WWW:LINK-1.0-http--link", + "title" : "AIMS Web Site" + } ] + }, { + "roles" : [ "owner", "citation" ], + "organization" : "Australian Institute of Marine Science (AIMS)", + "emails" : [ "imos@imos.org.au" ], + "addresses" : [ { + "deliveryPoint" : [ "PRIVATE MAIL BAG 3, TOWNSVILLE MAIL CENTRE" ], + "city" : "TOWNSVILLE", + "country" : "Australia", + "postalCode" : "4810", + "administrativeArea" : "Queensland" + } ], + "phones" : [ { + "roles" : [ "voice" ], + "value" : "+61 7 4753 4444" + }, { + "roles" : [ "facsimile" ], + "value" : "" + } ], + "links" : [ { + "href" : "https://www.aims.gov.au", + "type" : "WWW:LINK-1.0-http--link", + "title" : "AIMS Web Site" + } ] + } ], + "languages" : [ { + "code" : "eng", + "name" : "English" + } ], + "links" : [ { + "href" : "https://apps.aims.gov.au/ts-explorer/?qc=level1&source=84863:Weather station&fromDate=1980-01-01&thruDate=2050-01-05", + "rel" : "data", + "type" : "", + "title" : "{\"title\":\"Beagle Gulf Buoy Air Pressure Daily Averages\",\"description\":\"Beagle Gulf Buoy Air Pressure Daily Averages\"}" + }, { + "href" : "https://apps.aims.gov.au/metadata/view/b9bf6b57-54a0-44b3-bd17-30ccfb2b246f", + "rel" : "describedby", + "type" : "text/html", + "title" : "Full metadata link" + }, { + "href" : "http://i.creativecommons.org/l/by/3.0/au/88x31.png", + "rel" : "license", + "type" : "image/png" + }, { + "href" : "http://creativecommons.org/licenses/by/3.0/au/", + "rel" : "license", + "type" : "text/html" + } ], + "license" : "Creative Commons Attribution 3.0 Australia License", + "providers" : [ { + "name" : "Australian Institute of Marine Science (AIMS)", + "roles" : [ "pointOfContact" ] + } ], + "themes" : [ { + "concepts" : [ { + "id" : "Pressure (measured variable) exerted by the atmosphere", + "url" : "http://vocab.nerc.ac.uk/collection/P01/current/CAPHZZ01", + "title" : "AODN Discovery Parameter Vocabulary", + "description" : "" + } ], + "scheme" : "theme" + }, { + "concepts" : [ { + "id" : "oceans", + "url" : null, + "title" : null, + "description" : null + } ], + "scheme" : "Categories" + } ], + "id" : "b9bf6b57-54a0-44b3-bd17-30ccfb2b246f", + "search_suggestions" : { + "abstract_phrases" : [ ], + "parameter_vocabs_sayt" : [ ], + "platform_vocabs_sayt" : [ ], + "organisation_vocabs_sayt" : [ ] + }, + "sci:citation" : "{\"suggestedCitation\":\"Attribution: Format for citation of metadata sourced from Australian Institute of Marine Science (AIMS) in a list of reference is as follows: \\\"Australian Institute of Marine Science (AIMS). (2020). Northern Australia Automated Marine Weather and Oceanographic Stations, Sites: [Beagle Gulf], Parameters: [air pressure]. https://doi.org/10.25845/5c09bf93f315d, accessed[date-of-access]\\\".\",\"useLimitations\":null,\"otherConstraints\":[\"Use Limitation: All AIMS data, products and services are provided \\\"as is\\\" and AIMS does not warrant their fitness for a particular purpose or non-infringement. While AIMS has made every reasonable effort to ensure high quality of the data, products and services, to the extent permitted by law the data, products and services are provided without any warranties of any kind, either expressed or implied, including without limitation any implied warranties of title, merchantability, and fitness for a particular purpose or non-infringement. AIMS make no representation or warranty that the data, products and services are accurate, complete, reliable or current. To the extent permitted by law, AIMS exclude all liability to any person arising directly or indirectly from the use of the data, products and services.\"]}", + "type" : "Collection", + "stac_version" : "1.0.0", + "stac_extensions" : [ "https://stac-extensions.github.io/scientific/v1.0.0/schema.json", "https://stac-extensions.github.io/contacts/v0.1.1/schema.json", "https://stac-extensions.github.io/projection/v1.1.0/schema.json", "https://stac-extensions.github.io/language/v1.0.0/schema.json", "https://stac-extensions.github.io/themes/v1.0.0/schema.json", "https://stac-extensions.github.io/web-map-links/v1.2.0/schema.json" ] +}