[pycsw] 01/03: Imported Upstream version 2.0.3+dfsg
Angelos Tzotsos
kalxas-guest at moszumanska.debian.org
Mon Jun 5 19:28:17 UTC 2017
This is an automated email from the git hooks/post-receive script.
kalxas-guest pushed a commit to branch master
in repository pycsw.
commit 153432fb64a94069acc603fee9a4fde71da5d491
Author: Angelos Tzotsos <gcpp.kalxas at gmail.com>
Date: Mon Jun 5 22:23:21 2017 +0300
Imported Upstream version 2.0.3+dfsg
---
.travis.yml | 1 +
VERSION.txt | 2 +-
default-sample.cfg | 2 +-
pavement.py | 9 +-
pycsw/__init__.py | 2 +-
pycsw/core/admin.py | 7 +-
pycsw/core/config.py | 10 +
pycsw/core/metadata.py | 28 +-
pycsw/ogc/csw/cql.py | 4 +-
pycsw/ogc/csw/csw2.py | 6 +-
pycsw/ogc/csw/csw3.py | 6 +-
pycsw/opensearch.py | 2 +-
pycsw/server.py | 44 +-
setup.py | 3 +
...ites_apiso-inspire_get_GetCapabilities-lang.xml | 2 +
.../suites_apiso-inspire_get_GetCapabilities.xml | 2 +
.../expected/suites_apiso_post_GetCapabilities.xml | 2 +
.../expected/suites_atom_post_GetCapabilities.xml | 2 +
...te_get_27e17158-c57a-4493-92ac-dba8934cf462.xml | 2 +
...te_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 2 +
...te_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 2 +
...te_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 2 +
...te_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 2 +
...te_get_80f31def-4185-48b9-983a-960566918eae.xml | 2 +
...te_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 2 +
...te_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 2 +
...te_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 2 +
...30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml | 2 +-
...30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 2 +
...30_get_22f44168-2ccf-4801-ad96-204212566d56.xml | 2 +
...30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 2 +
...30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 2 +
...30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 2 +
...30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 2 +
...30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 2 +
...30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 2 +
...30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 2 +
...30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 2 +
...30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 2 +
.../suites_csw30_get_GetCapabilities-base-url.xml | 2 +
...suites_csw30_get_GetCapabilities-no-version.xml | 2 +
.../expected/suites_csw30_get_GetCapabilities.xml | 2 +
.../suites_csw30_get_OpenSearch-description.xml | 2 +-
...30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 2 +
...30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 2 +
.../expected/suites_csw30_post_GetCapabilities.xml | 2 +
.../suites_default_get_GetCapabilities.xml | 2 +
...ds-filter-cql-title-or-abstract-with-spaces.xml | 23 +
...l-title-with-spaces-or-abstract-with-spaces.xml | 23 +
...ds-filter-cql-title-with-spaces-or-abstract.xml | 23 +
...get_GetRecords-filter-cql-title-with-spaces.xml | 23 +
.../suites_default_post_GetCapabilities-SOAP.xml | 2 +
...default_post_GetCapabilities-updatesequence.xml | 2 +
.../suites_default_post_GetCapabilities.xml | 2 +
tests/expected/suites_dif_post_GetCapabilities.xml | 2 +
.../expected/suites_ebrim_post_GetCapabilities.xml | 2 +
.../expected/suites_fgdc_post_GetCapabilities.xml | 2 +
.../expected/suites_gm03_post_GetCapabilities.xml | 2 +
.../suites_harvesting_post_GetCapabilities.xml | 2 +
.../suites_harvesting_post_Harvest-wmts.xml | 1504 +++++++++++++-------
...t_Harvest-zzz-post-GetRecords-filter-ows-dc.xml | 5 +-
...-zzz-post-GetRecords-filter-sos-abstract-dc.xml | 1 +
...t_Harvest-zzz-post-GetRecords-filter-sos-dc.xml | 2 +
...t_Harvest-zzz-post-GetRecords-filter-wms-dc.xml | 1 +
..._Harvest-zzz-post-GetRecords-filter-wms-iso.xml | 2 +-
...arvest-zzz-post-GetRecords-filter-wms-layer.xml | 2 +
..._harvesting_post_Transaction-000-delete-all.xml | 2 +-
.../suites_manager_post_GetCapabilities.xml | 2 +
.../expected/suites_utf-8_post_GetCapabilities.xml | 2 +
tests/index.html | 16 +-
tests/run_tests.py | 36 +-
tests/suites/csw30/get/requests.txt | 18 +-
tests/suites/default/get/requests.txt | 4 +
73 files changed, 1316 insertions(+), 581 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index c34d7b6..714532b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,6 +7,7 @@ python:
- "2.6"
- "2.7"
- "3.4"
+ - "3.5"
#matrix:
# allow_failures:
diff --git a/VERSION.txt b/VERSION.txt
index e9307ca..50ffc5a 100644
--- a/VERSION.txt
+++ b/VERSION.txt
@@ -1 +1 @@
-2.0.2
+2.0.3
diff --git a/default-sample.cfg b/default-sample.cfg
index b8ed08f..0433477 100644
--- a/default-sample.cfg
+++ b/default-sample.cfg
@@ -76,7 +76,7 @@ contact_role=pointOfContact
[repository]
# sqlite
-database=sqlite:////var/www/pycsw/tests/suites/cite/data/cite.db
+database=sqlite:////var/www/pycsw/tests/suites/cite/data/records.db
# postgres
#database=postgresql://username:password@localhost/pycsw
# mysql
diff --git a/pavement.py b/pavement.py
index e9d70f5..840b7ba 100644
--- a/pavement.py
+++ b/pavement.py
@@ -171,7 +171,8 @@ def setup_testdata():
datapath = path('tests/suites/%s/data' % database)
info('Loading test data from %s' % datapath)
sh('pycsw-admin.py -c load_records -f %s -p %s' % (cfg, datapath))
-
+ exportpath = path('tests/results/exports')
+ sh('pycsw-admin.py -c export_records -f %s -p %s' % (cfg, exportpath))
@task
@cmdopts([
@@ -229,7 +230,7 @@ def test(options):
if database == 'PostgreSQL': # configure PG
- from pycsw.admin import setup_db, load_records
+ from pycsw.admin import setup_db, load_records, export_records
from pycsw.config import StaticContext
cmd = '%s -d %s' % (cmd, database)
@@ -279,6 +280,10 @@ def test(options):
dirname = '%s%sdata' % (os.path.dirname(cfg), os.sep)
load_records(context, db_conn, tablename, dirname)
+ if suite in ['cite', 'apiso']: # export test data
+ exportpath = 'tests/results/exports'
+ export_records(context, db_conn, tablename, exportpath)
+
else:
raise Exception('Invalid database specified')
diff --git a/pycsw/__init__.py b/pycsw/__init__.py
index d595567..156d82b 100644
--- a/pycsw/__init__.py
+++ b/pycsw/__init__.py
@@ -28,4 +28,4 @@
#
# =================================================================
-__version__ = '2.0.2'
+__version__ = '2.0.3'
diff --git a/pycsw/core/admin.py b/pycsw/core/admin.py
index e4aecc7..3746d86 100644
--- a/pycsw/core/admin.py
+++ b/pycsw/core/admin.py
@@ -391,9 +391,14 @@ def export_records(context, database, table, xml_dirpath):
filename = os.path.join(dirpath, '%s.xml' % identifier)
try:
LOGGER.info('Writing to file %s', filename)
+ if hasattr(record.xml, 'decode'):
+ str_xml = record.xml.decode('utf-8')
+ else:
+ str_xml = record.xml
with open(filename, 'w') as xml:
xml.write('<?xml version="1.0" encoding="UTF-8"?>\n')
- xml.write(record.xml)
+ xml.write(str_xml)
+
except Exception as err:
raise RuntimeError("Error writing to %s" % filename, err)
diff --git a/pycsw/core/config.py b/pycsw/core/config.py
index 5207a9a..33d8c4e 100644
--- a/pycsw/core/config.py
+++ b/pycsw/core/config.py
@@ -289,6 +289,8 @@ class StaticContext(object):
# map Dublin Core queryables to core metadata model
'dc:title':
{'dbcol': self.md_core_model['mappings']['pycsw:Title']},
+ 'dct:alternative':
+ {'dbcol': self.md_core_model['mappings']['pycsw:AlternateTitle']},
'dc:creator':
{'dbcol': self.md_core_model['mappings']['pycsw:Creator']},
'dc:subject':
@@ -318,6 +320,8 @@ class StaticContext(object):
'dc:rights':
{'dbcol':
self.md_core_model['mappings']['pycsw:AccessConstraints']},
+ 'dct:spatial':
+ {'dbcol': self.md_core_model['mappings']['pycsw:CRS']},
# bbox and full text map to internal fixed columns
'ows:BoundingBox':
{'dbcol': self.md_core_model['mappings']['pycsw:BoundingBox']},
@@ -502,6 +506,8 @@ class StaticContext(object):
# map Dublin Core queryables to core metadata model
'dc:title':
{'dbcol': self.md_core_model['mappings']['pycsw:Title']},
+ 'dct:alternative':
+ {'dbcol': self.md_core_model['mappings']['pycsw:AlternateTitle']},
'dc:creator':
{'dbcol': self.md_core_model['mappings']['pycsw:Creator']},
'dc:subject':
@@ -531,6 +537,8 @@ class StaticContext(object):
'dc:rights':
{'dbcol':
self.md_core_model['mappings']['pycsw:AccessConstraints']},
+ 'dct:spatial':
+ {'dbcol': self.md_core_model['mappings']['pycsw:CRS']},
# bbox and full text map to internal fixed columns
'ows:BoundingBox':
{'dbcol': self.md_core_model['mappings']['pycsw:BoundingBox']},
@@ -567,6 +575,7 @@ class StaticContext(object):
defaults = {
'dc:title': 'pycsw:Title',
+ 'dct:alternative': 'pycsw:AlternateTitle',
'dc:creator': 'pycsw:Creator',
'dc:subject': 'pycsw:Keywords',
'dct:abstract': 'pycsw:Abstract',
@@ -581,6 +590,7 @@ class StaticContext(object):
'dc:language': 'pycsw:Language',
'dc:relation': 'pycsw:Relation',
'dc:rights': 'pycsw:AccessConstraints',
+ 'dct:spatial': 'pycsw:CRS',
'ows:BoundingBox': 'pycsw:BoundingBox',
'csw:AnyText': 'pycsw:AnyText',
}
diff --git a/pycsw/core/metadata.py b/pycsw/core/metadata.py
index 6c0d030..e9788a4 100644
--- a/pycsw/core/metadata.py
+++ b/pycsw/core/metadata.py
@@ -3,7 +3,7 @@
#
# Authors: Tom Kralidis <tomkralidis at gmail.com>
#
-# Copyright (c) 2015 Tom Kralidis
+# Copyright (c) 2017 Tom Kralidis
# Copyright (c) 2016 James F. Dickens
#
# Permission is hereby granted, free of charge, to any person
@@ -1017,13 +1017,13 @@ def _parse_gm03(context, repos, exml):
for dt in data.date:
if dt.date_type == 'modified':
- _set(context, recobj, 'pycsw:Modified', data.date.date)
+ _set(context, recobj, 'pycsw:Modified', dt.date)
elif dt.date_type == 'creation':
- _set(context, recobj, 'pycsw:CreationDate', data.date.date)
+ _set(context, recobj, 'pycsw:CreationDate', dt.date)
elif dt.date_type == 'publication':
- _set(context, recobj, 'pycsw:PublicationDate', data.date.date)
+ _set(context, recobj, 'pycsw:PublicationDate', dt.date)
elif dt.date_type == 'revision':
- _set(context, recobj, 'pycsw:RevisionDate', data.date.date)
+ _set(context, recobj, 'pycsw:RevisionDate', dt.date)
if hasattr(data, 'metadata_point_of_contact'):
_set(context, recobj, 'pycsw:ResponsiblePartyRole', data.metadata_point_of_contact.role)
@@ -1036,7 +1036,8 @@ def _parse_gm03(context, repos, exml):
if hasattr(data, 'data_identification'):
_set(context, recobj, 'pycsw:Abstract', get_value_by_language(data.data_identification.abstract.pt_group, language))
- _set(context, recobj, 'pycsw:TopicCategory', data.data_identification.topic_category)
+ if hasattr(data.data_identification, 'topic_category'):
+ _set(context, recobj, 'pycsw:TopicCategory', data.data_identification.topic_category)
_set(context, recobj, 'pycsw:ResourceLanguage', data.data_identification.language)
if hasattr(data, 'format'):
@@ -1064,14 +1065,15 @@ def _parse_gm03(context, repos, exml):
# online linkages
name = description = protocol = ''
- if hasattr(data.online_resource, 'name'):
- name = get_value_by_language(data.online_resource.name.pt_group, language)
- if hasattr(data.online_resource, 'description'):
- description = get_value_by_language(data.online_resource.description.pt_group, language)
- linkage = get_value_by_language(data.online_resource.linkage.pt_group, language, 'url')
+ if hasattr(data, 'online_resource'):
+ if hasattr(data.online_resource, 'name'):
+ name = get_value_by_language(data.online_resource.name.pt_group, language)
+ if hasattr(data.online_resource, 'description'):
+ description = get_value_by_language(data.online_resource.description.pt_group, language)
+ linkage = get_value_by_language(data.online_resource.linkage.pt_group, language, 'url')
- tmp = '%s,"%s",%s,%s' % (name, description, protocol, linkage)
- links.append(tmp)
+ tmp = '%s,"%s",%s,%s' % (name, description, protocol, linkage)
+ links.append(tmp)
if len(links) > 0:
_set(context, recobj, 'pycsw:Links', '^'.join(links))
diff --git a/pycsw/ogc/csw/cql.py b/pycsw/ogc/csw/cql.py
index a0e8d40..342af86 100644
--- a/pycsw/ogc/csw/cql.py
+++ b/pycsw/ogc/csw/cql.py
@@ -99,7 +99,9 @@ def _parse_condition(condition):
LOGGER.debug('condition: %s', condition)
- property_name, operator, literal = condition.split()
+ # split at the most 2 times to take into account literals with
+ # spaces in them
+ property_name, operator, literal = condition.split(None, 2)
literal = literal.replace('"', '').replace('\'', '')
diff --git a/pycsw/ogc/csw/csw2.py b/pycsw/ogc/csw/csw2.py
index f8c64c4..d959d10 100644
--- a/pycsw/ogc/csw/csw2.py
+++ b/pycsw/ogc/csw/csw2.py
@@ -1517,11 +1517,15 @@ class Csw2(object):
if self.parent.kvp['elementsetname'] == 'full': # add full elements
for i in ['dc:date', 'dc:creator', \
'dc:publisher', 'dc:contributor', 'dc:source', \
- 'dc:language', 'dc:rights']:
+ 'dc:language', 'dc:rights', 'dct:alternative']:
val = util.getqattr(recobj, queryables[i]['dbcol'])
if val:
etree.SubElement(record,
util.nspath_eval(i, self.parent.context.namespaces)).text = val
+ val = util.getqattr(recobj, queryables['dct:spatial']['dbcol'])
+ if val:
+ etree.SubElement(record,
+ util.nspath_eval('dct:spatial', self.parent.context.namespaces), scheme='http://www.opengis.net/def/crs').text = val
# always write out ows:BoundingBox
bboxel = write_boundingbox(getattr(recobj,
diff --git a/pycsw/ogc/csw/csw3.py b/pycsw/ogc/csw/csw3.py
index f1e6b5c..d817f9d 100644
--- a/pycsw/ogc/csw/csw3.py
+++ b/pycsw/ogc/csw/csw3.py
@@ -1585,11 +1585,15 @@ class Csw3(object):
if self.parent.kvp['elementsetname'] == 'full': # add full elements
for i in ['dc:date', 'dc:creator', \
'dc:publisher', 'dc:contributor', 'dc:source', \
- 'dc:language', 'dc:rights']:
+ 'dc:language', 'dc:rights', 'dct:alternative']:
val = util.getqattr(recobj, queryables[i]['dbcol'])
if val:
etree.SubElement(record,
util.nspath_eval(i, self.parent.context.namespaces)).text = val
+ val = util.getqattr(recobj, queryables['dct:spatial']['dbcol'])
+ if val:
+ etree.SubElement(record,
+ util.nspath_eval('dct:spatial', self.parent.context.namespaces), scheme='http://www.opengis.net/def/crs').text = val
# always write out ows:BoundingBox
bboxel = write_boundingbox(getattr(recobj,
diff --git a/pycsw/opensearch.py b/pycsw/opensearch.py
index 40c7e31..b7acf34 100644
--- a/pycsw/opensearch.py
+++ b/pycsw/opensearch.py
@@ -192,7 +192,7 @@ class OpenSearch(object):
# Requirement-023
node1 = etree.SubElement(node, util.nspath_eval('os:Url', self.namespaces))
node1.set('type', 'application/atom+xml')
- node1.set('template', '%smode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q={searchTerms?}&bbox={geo:box?}&time={time:start?}/{time:end?}&outputformat=application/atom+xml&&startposition={startIndex?}&maxrecords={count?}&recordids={geo:uid}' % self.bind_url)
+ node1.set('template', '%smode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q={searchTerms?}&bbox={geo:box?}&time={time:start?}/{time:end?}&outputformat=application/atom%%2Bxml&startposition={startIndex?}&maxrecords={count?}&recordids={geo:uid}' % self.bind_url)
node1 = etree.SubElement(node, util.nspath_eval('os:Image', self.namespaces))
node1.set('type', 'image/vnd.microsoft.icon')
diff --git a/pycsw/server.py b/pycsw/server.py
index f6081f9..10eec51 100644
--- a/pycsw/server.py
+++ b/pycsw/server.py
@@ -7,6 +7,7 @@
# Copyright (c) 2016 Tom Kralidis
# Copyright (c) 2015 Angelos Tzotsos
# Copyright (c) 2016 James Dickens
+# Copyright (c) 2016 Ricardo Silva
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation
@@ -33,12 +34,14 @@
import logging
import os
-from six.moves.urllib.parse import quote, unquote
+from six.moves.urllib.parse import parse_qsl
+from six.moves.urllib.parse import splitquery
from six.moves.urllib.parse import urlparse
from six import StringIO
from six.moves.configparser import SafeConfigParser
import sys
from time import time
+import wsgiref.util
from pycsw.core.etree import etree
from pycsw import oaipmh, opensearch, sru
@@ -231,39 +234,14 @@ class Csw(object):
else: # it's a GET request
self.requesttype = 'GET'
-
- scheme = '%s://' % self.environ['wsgi.url_scheme']
-
- if self.environ.get('HTTP_HOST'):
- url = '%s%s' % (scheme, self.environ['HTTP_HOST'])
- else:
- url = '%s%s' % (scheme, self.environ['SERVER_NAME'])
-
- if self.environ['wsgi.url_scheme'] == 'https':
- if self.environ['SERVER_PORT'] != '443':
- url += ':' + self.environ['SERVER_PORT']
- else:
- if self.environ['SERVER_PORT'] != '80':
- url += ':' + self.environ['SERVER_PORT']
-
- url += quote(self.environ.get('SCRIPT_NAME', ''))
- url += quote(self.environ.get('PATH_INFO', ''))
-
- if self.environ.get('QUERY_STRING'):
- url += '?' + self.environ['QUERY_STRING']
-
- self.request = url
+ self.request = wsgiref.util.request_uri(self.environ)
+ try:
+ query_part = splitquery(self.request)[-1]
+ self.kvp = dict(parse_qsl(query_part, keep_blank_values=True))
+ except AttributeError:
+ self.kvp = {}
LOGGER.debug('Request type: GET. Request:\n%s\n', self.request)
- pairs = self.environ.get('QUERY_STRING').split("&")
-
- kvp = {}
-
- for pairstr in pairs:
- pair = [unquote(a) for a in pairstr.split("=")]
- kvp[pair[0]] = pair[1] if len(pair) > 1 else ""
- self.kvp = kvp
-
return self.dispatch()
def opensearch(self):
@@ -484,7 +462,7 @@ class Csw(object):
LOGGER.debug('OpenSearch mode detected; processing request.')
self.kvp['outputschema'] = 'http://www.w3.org/2005/Atom'
- if ((self.kvp == {'': ''} and self.request_version == '3.0.0') or
+ if ((len(self.kvp) == 0 and self.request_version == '3.0.0') or
(len(self.kvp) == 1 and 'config' in self.kvp)):
LOGGER.debug('Turning on default csw30:Capabilities for base URL')
self.kvp = {
diff --git a/setup.py b/setup.py
index c2a1326..9c08d13 100644
--- a/setup.py
+++ b/setup.py
@@ -154,6 +154,9 @@ setup(
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3.4',
'Topic :: Scientific/Engineering :: GIS',
]
)
diff --git a/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml b/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml
index 6ecec21..0434106 100644
--- a/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml
+++ b/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml
@@ -169,7 +169,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
<ows:Constraint name="SupportedISOQueryables">
diff --git a/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml b/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml
index 6ecec21..0434106 100644
--- a/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml
+++ b/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml
@@ -169,7 +169,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
<ows:Constraint name="SupportedISOQueryables">
diff --git a/tests/expected/suites_apiso_post_GetCapabilities.xml b/tests/expected/suites_apiso_post_GetCapabilities.xml
index 00656b2..fdfc1b6 100644
--- a/tests/expected/suites_apiso_post_GetCapabilities.xml
+++ b/tests/expected/suites_apiso_post_GetCapabilities.xml
@@ -169,7 +169,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
<ows:Constraint name="SupportedISOQueryables">
diff --git a/tests/expected/suites_atom_post_GetCapabilities.xml b/tests/expected/suites_atom_post_GetCapabilities.xml
index 7ce6b56..6c3bf9d 100644
--- a/tests/expected/suites_atom_post_GetCapabilities.xml
+++ b/tests/expected/suites_atom_post_GetCapabilities.xml
@@ -150,7 +150,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml
index 2d6fc73..b3c13e3 100644
--- a/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml
+++ b/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml
@@ -152,7 +152,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml
index 2d6fc73..b3c13e3 100644
--- a/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml
+++ b/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml
@@ -152,7 +152,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml
index d127684..b900ce5 100644
--- a/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml
+++ b/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml
@@ -267,7 +267,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml
index 2d6fc73..b3c13e3 100644
--- a/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml
+++ b/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml
@@ -152,7 +152,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml
index 7d56ad6..51bf2e7 100644
--- a/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml
+++ b/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml
@@ -241,7 +241,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml
index d127684..b900ce5 100644
--- a/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml
+++ b/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml
@@ -267,7 +267,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml
index d127684..b900ce5 100644
--- a/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml
+++ b/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml
@@ -267,7 +267,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml
index 2d6fc73..b3c13e3 100644
--- a/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml
+++ b/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml
@@ -152,7 +152,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml
index 2d6fc73..b3c13e3 100644
--- a/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml
+++ b/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml
@@ -152,7 +152,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml b/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml
index 5aac092..923da3c 100644
--- a/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml
+++ b/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml
@@ -6,7 +6,7 @@
<os:Description>pycsw is an OGC CSW server implementation written in Python</os:Description>
<os:Tags>catalogue discovery</os:Tags>
<os:Url type="application/xml" template="http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q={searchTerms?}&bbox={geo:box?}&time={time:start?}/{time:end?}&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition={startIndex?}&maxrecords={count?}&recordids={geo:uid}"/>
- <os:Url type="application/atom+xml" template="http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q={searchTerms?}&bbox={geo:box?}&time={time:start?}/{time:end?}&outputformat=application/atom+xml&&startposition={startIndex?}&maxrecords={count?}&recordids={geo:uid}"/>
+ <os:Url type="application/atom+xml" template="http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q={searchTerms?}&bbox={geo:box?}&time={time:start?}/{time:end?}&outputformat=application/atom%2Bxml&startposition={startIndex?}&maxrecords={count?}&recordids={geo:uid}"/>
<os:Image type="image/vnd.microsoft.icon" width="16" height="16">http://pycsw.org/img/favicon.ico</os:Image>
<os:Query role="example" geo:box="-180,-90,180,90"/>
<os:Developer>Kralidis, Tom</os:Developer>
diff --git a/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml
+++ b/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml
+++ b/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml
+++ b/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml
+++ b/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml
+++ b/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml
+++ b/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml
index 4d3fed2..2037f14 100644
--- a/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml
+++ b/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml
@@ -177,7 +177,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml
+++ b/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml
+++ b/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml
+++ b/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml
+++ b/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml b/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml
+++ b/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml b/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml
+++ b/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_GetCapabilities.xml b/tests/expected/suites_csw30_get_GetCapabilities.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_GetCapabilities.xml
+++ b/tests/expected/suites_csw30_get_GetCapabilities.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_OpenSearch-description.xml b/tests/expected/suites_csw30_get_OpenSearch-description.xml
index 5aac092..923da3c 100644
--- a/tests/expected/suites_csw30_get_OpenSearch-description.xml
+++ b/tests/expected/suites_csw30_get_OpenSearch-description.xml
@@ -6,7 +6,7 @@
<os:Description>pycsw is an OGC CSW server implementation written in Python</os:Description>
<os:Tags>catalogue discovery</os:Tags>
<os:Url type="application/xml" template="http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q={searchTerms?}&bbox={geo:box?}&time={time:start?}/{time:end?}&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition={startIndex?}&maxrecords={count?}&recordids={geo:uid}"/>
- <os:Url type="application/atom+xml" template="http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q={searchTerms?}&bbox={geo:box?}&time={time:start?}/{time:end?}&outputformat=application/atom+xml&&startposition={startIndex?}&maxrecords={count?}&recordids={geo:uid}"/>
+ <os:Url type="application/atom+xml" template="http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q={searchTerms?}&bbox={geo:box?}&time={time:start?}/{time:end?}&outputformat=application/atom%2Bxml&startposition={startIndex?}&maxrecords={count?}&recordids={geo:uid}"/>
<os:Image type="image/vnd.microsoft.icon" width="16" height="16">http://pycsw.org/img/favicon.ico</os:Image>
<os:Query role="example" geo:box="-180,-90,180,90"/>
<os:Developer>Kralidis, Tom</os:Developer>
diff --git a/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml
+++ b/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml
+++ b/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_csw30_post_GetCapabilities.xml b/tests/expected/suites_csw30_post_GetCapabilities.xml
index ce9c935..c5cb70e 100644
--- a/tests/expected/suites_csw30_post_GetCapabilities.xml
+++ b/tests/expected/suites_csw30_post_GetCapabilities.xml
@@ -217,7 +217,9 @@
<ows20:Value>dc:title</ows20:Value>
<ows20:Value>dc:type</ows20:Value>
<ows20:Value>dct:abstract</ows20:Value>
+ <ows20:Value>dct:alternative</ows20:Value>
<ows20:Value>dct:modified</ows20:Value>
+ <ows20:Value>dct:spatial</ows20:Value>
<ows20:Value>ows:BoundingBox</ows20:Value>
</ows20:AllowedValues>
</ows20:Constraint>
diff --git a/tests/expected/suites_default_get_GetCapabilities.xml b/tests/expected/suites_default_get_GetCapabilities.xml
index 8026e1b..43965fe 100644
--- a/tests/expected/suites_default_get_GetCapabilities.xml
+++ b/tests/expected/suites_default_get_GetCapabilities.xml
@@ -150,7 +150,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml
new file mode 100644
index 0000000..2b1accd
--- /dev/null
+++ b/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- PYCSW_VERSION -->
+<csw:GetRecordsResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-di [...]
+ <csw:SearchStatus timestamp="PYCSW_TIMESTAMP"/>
+ <csw:SearchResults nextRecord="0" numberOfRecordsMatched="2" numberOfRecordsReturned="2" recordSchema="http://www.opengis.net/cat/csw/2.0.2" elementSet="full">
+ <csw:Record>
+ <dc:identifier>urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f</dc:identifier>
+ <dc:type>http://purl.org/dc/dcmitype/Image</dc:type>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:title>Lorem ipsum</dc:title>
+ <dct:spatial>GR-22</dct:spatial>
+ <dc:subject>Tourism--Greece</dc:subject>
+ <dct:abstract>Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu.</dct:abstract>
+</csw:Record>
+ <csw:Record>
+ <dc:identifier>urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2</dc:identifier>
+ <dc:type>http://purl.org/dc/dcmitype/Image</dc:type>
+ <dc:title>Lorem ipsum dolor sit amet</dc:title>
+ <dc:format>image/jpeg</dc:format>
+ <dct:spatial>IT-FI</dct:spatial>
+</csw:Record>
+ </csw:SearchResults>
+</csw:GetRecordsResponse>
diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml
new file mode 100644
index 0000000..2b1accd
--- /dev/null
+++ b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- PYCSW_VERSION -->
+<csw:GetRecordsResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-di [...]
+ <csw:SearchStatus timestamp="PYCSW_TIMESTAMP"/>
+ <csw:SearchResults nextRecord="0" numberOfRecordsMatched="2" numberOfRecordsReturned="2" recordSchema="http://www.opengis.net/cat/csw/2.0.2" elementSet="full">
+ <csw:Record>
+ <dc:identifier>urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f</dc:identifier>
+ <dc:type>http://purl.org/dc/dcmitype/Image</dc:type>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:title>Lorem ipsum</dc:title>
+ <dct:spatial>GR-22</dct:spatial>
+ <dc:subject>Tourism--Greece</dc:subject>
+ <dct:abstract>Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu.</dct:abstract>
+</csw:Record>
+ <csw:Record>
+ <dc:identifier>urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2</dc:identifier>
+ <dc:type>http://purl.org/dc/dcmitype/Image</dc:type>
+ <dc:title>Lorem ipsum dolor sit amet</dc:title>
+ <dc:format>image/jpeg</dc:format>
+ <dct:spatial>IT-FI</dct:spatial>
+</csw:Record>
+ </csw:SearchResults>
+</csw:GetRecordsResponse>
diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml
new file mode 100644
index 0000000..2b1accd
--- /dev/null
+++ b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- PYCSW_VERSION -->
+<csw:GetRecordsResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-di [...]
+ <csw:SearchStatus timestamp="PYCSW_TIMESTAMP"/>
+ <csw:SearchResults nextRecord="0" numberOfRecordsMatched="2" numberOfRecordsReturned="2" recordSchema="http://www.opengis.net/cat/csw/2.0.2" elementSet="full">
+ <csw:Record>
+ <dc:identifier>urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f</dc:identifier>
+ <dc:type>http://purl.org/dc/dcmitype/Image</dc:type>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:title>Lorem ipsum</dc:title>
+ <dct:spatial>GR-22</dct:spatial>
+ <dc:subject>Tourism--Greece</dc:subject>
+ <dct:abstract>Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu.</dct:abstract>
+</csw:Record>
+ <csw:Record>
+ <dc:identifier>urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2</dc:identifier>
+ <dc:type>http://purl.org/dc/dcmitype/Image</dc:type>
+ <dc:title>Lorem ipsum dolor sit amet</dc:title>
+ <dc:format>image/jpeg</dc:format>
+ <dct:spatial>IT-FI</dct:spatial>
+</csw:Record>
+ </csw:SearchResults>
+</csw:GetRecordsResponse>
diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml
new file mode 100644
index 0000000..2b1accd
--- /dev/null
+++ b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- PYCSW_VERSION -->
+<csw:GetRecordsResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.2" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-di [...]
+ <csw:SearchStatus timestamp="PYCSW_TIMESTAMP"/>
+ <csw:SearchResults nextRecord="0" numberOfRecordsMatched="2" numberOfRecordsReturned="2" recordSchema="http://www.opengis.net/cat/csw/2.0.2" elementSet="full">
+ <csw:Record>
+ <dc:identifier>urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f</dc:identifier>
+ <dc:type>http://purl.org/dc/dcmitype/Image</dc:type>
+ <dc:format>image/svg+xml</dc:format>
+ <dc:title>Lorem ipsum</dc:title>
+ <dct:spatial>GR-22</dct:spatial>
+ <dc:subject>Tourism--Greece</dc:subject>
+ <dct:abstract>Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu.</dct:abstract>
+</csw:Record>
+ <csw:Record>
+ <dc:identifier>urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2</dc:identifier>
+ <dc:type>http://purl.org/dc/dcmitype/Image</dc:type>
+ <dc:title>Lorem ipsum dolor sit amet</dc:title>
+ <dc:format>image/jpeg</dc:format>
+ <dct:spatial>IT-FI</dct:spatial>
+</csw:Record>
+ </csw:SearchResults>
+</csw:GetRecordsResponse>
diff --git a/tests/expected/suites_default_post_GetCapabilities-SOAP.xml b/tests/expected/suites_default_post_GetCapabilities-SOAP.xml
index ae7b310..ad05bd8 100644
--- a/tests/expected/suites_default_post_GetCapabilities-SOAP.xml
+++ b/tests/expected/suites_default_post_GetCapabilities-SOAP.xml
@@ -152,7 +152,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml b/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml
index 8026e1b..43965fe 100644
--- a/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml
+++ b/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml
@@ -150,7 +150,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_default_post_GetCapabilities.xml b/tests/expected/suites_default_post_GetCapabilities.xml
index 8026e1b..43965fe 100644
--- a/tests/expected/suites_default_post_GetCapabilities.xml
+++ b/tests/expected/suites_default_post_GetCapabilities.xml
@@ -150,7 +150,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_dif_post_GetCapabilities.xml b/tests/expected/suites_dif_post_GetCapabilities.xml
index e062f22..deefdd1 100644
--- a/tests/expected/suites_dif_post_GetCapabilities.xml
+++ b/tests/expected/suites_dif_post_GetCapabilities.xml
@@ -150,7 +150,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_ebrim_post_GetCapabilities.xml b/tests/expected/suites_ebrim_post_GetCapabilities.xml
index 41b60a2..c9fd517 100644
--- a/tests/expected/suites_ebrim_post_GetCapabilities.xml
+++ b/tests/expected/suites_ebrim_post_GetCapabilities.xml
@@ -153,7 +153,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_fgdc_post_GetCapabilities.xml b/tests/expected/suites_fgdc_post_GetCapabilities.xml
index e4ea071..3a83ea9 100644
--- a/tests/expected/suites_fgdc_post_GetCapabilities.xml
+++ b/tests/expected/suites_fgdc_post_GetCapabilities.xml
@@ -150,7 +150,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_gm03_post_GetCapabilities.xml b/tests/expected/suites_gm03_post_GetCapabilities.xml
index 46b77ba..fe524be 100644
--- a/tests/expected/suites_gm03_post_GetCapabilities.xml
+++ b/tests/expected/suites_gm03_post_GetCapabilities.xml
@@ -150,7 +150,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/expected/suites_harvesting_post_GetCapabilities.xml b/tests/expected/suites_harvesting_post_GetCapabilities.xml
index 62d06c6..3d8fef7 100644
--- a/tests/expected/suites_harvesting_post_GetCapabilities.xml
+++ b/tests/expected/suites_harvesting_post_GetCapabilities.xml
@@ -171,7 +171,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
<ows:Constraint name="SupportedISOQueryables">
diff --git a/tests/expected/suites_harvesting_post_Harvest-wmts.xml b/tests/expected/suites_harvesting_post_Harvest-wmts.xml
index dfdff1f..3bd0bd4 100644
--- a/tests/expected/suites_harvesting_post_Harvest-wmts.xml
+++ b/tests/expected/suites_harvesting_post_Harvest-wmts.xml
@@ -3,7 +3,7 @@
<csw:HarvestResponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-publication.xsd">
<csw:TransactionResponse version="2.0.2">
<csw:TransactionSummary>
- <csw:totalInserted>244</csw:totalInserted>
+ <csw:totalInserted>376</csw:totalInserted>
<csw:totalUpdated>0</csw:totalUpdated>
<csw:totalDeleted>0</csw:totalDeleted>
</csw:TransactionSummary>
@@ -13,620 +13,620 @@
<dc:title>NASA Global Imagery Browse Services for EOSDIS</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Temp_Night</dc:identifier>
- <dc:title>Cloud Top Temperature (Night, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11</dc:identifier>
+ <dc:title>Corrected Reflectance (M3-I3-M11, VIIRS, SNPP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_SurfaceReflectance_Bands721</dc:identifier>
- <dc:title>Land Surface Reflectance (Bands 7-2-1, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MISR_Radiance_Average_Infrared_Color_Monthly</dc:identifier>
+ <dc:title>Radiance Average (AN, Infrared Color, Monthly, MISR, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11</dc:identifier>
- <dc:title>Corrected Reflectance (M3-I3-M11, VIIRS, SNPP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F14_Water_Vapor_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Water Vapor (Descending, Local AM, DMSP-F14 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Uncertainty_Analyzed_Root_Zone_Soil_Moisture</dc:identifier>
- <dc:title>Root Zone Soil Moisture Uncertainty (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Combined_TOA_Window_Region_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Window-Region Flux All-Sky (Monthly, CERES, Aqua+Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Combined_Value_Added_AOD</dc:identifier>
- <dc:title>Aerosol Optical Depth (Value Added, MODIS, Combined Aqua and Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Passive_Soil_Moisture</dc:identifier>
+ <dc:title>Soil Moisture (L3, Passive, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Alaska_Monthly</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, Alaska Monthly, Best Available, Landsat)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Fraction_Night</dc:identifier>
+ <dc:title>Cloud Fraction (Night, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_VV</dc:identifier>
- <dc:title>Sigma0 (L3, Active, VV Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_HH_RFI</dc:identifier>
+ <dc:title>Sigma0 RFI (L3, Active, HH Polarization, Radar, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Pressure_Night</dc:identifier>
- <dc:title>Cloud Top Pressure (Night, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_HNO3_46hPa_Night</dc:identifier>
+ <dc:title>Nitric Acid (46 hPa, Night, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Brightness_Temp_89H_Day</dc:identifier>
- <dc:title>Brightness Temperature (89H Ghz B Scan, Day, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_700hPa_Night</dc:identifier>
+ <dc:title>Air Temperature (700 hPa, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OMI_Aerosol_Index</dc:identifier>
- <dc:title>Aerosol Index (OMI, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_500hPa_Night</dc:identifier>
+ <dc:title>Relative Humidity (500 hPa, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Fraction_Night</dc:identifier>
- <dc:title>Cloud Fraction (Night, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-GMI_Rain_Rate_Dsc</dc:identifier>
+ <dc:title>Rain Rate (Descending, GMI, GPM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_AOD_Deep_Blue_Combined</dc:identifier>
- <dc:title>Merged Aerosol Optical Depth (Deep Blue, Land and Ocean, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MOPITT_CO_Monthly_Surface_Mixing_Ratio_Night</dc:identifier>
+ <dc:title>Carbon Monoxide (Monthly, Night, Surface Mixing Ratio, MOPITT, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Analyzed_Surface_Soil_Moisture</dc:identifier>
- <dc:title>Surface Soil Moisture (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Brightness_Temp_Band31_Day</dc:identifier>
+ <dc:title>Brightness Temperature (Band31, Day, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_AOD_Deep_Blue_Land</dc:identifier>
- <dc:title>Deep Blue Aerosol Optical Depth (Land, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Coastlines</dc:identifier>
+ <dc:title>Coastlines (OSM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Optical_Thickness_PCL</dc:identifier>
- <dc:title>Cloud Optical Thickness (PCL, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-OMI_SO2_Middle_Troposphere</dc:identifier>
+ <dc:title>Sulfur Dioxide (Middle Troposphere, OMI, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_HH_RFI</dc:identifier>
- <dc:title>Sigma0 RFI (L3, Active, HH Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_VV</dc:identifier>
+ <dc:title>Sigma0 (L3, Active, VV Polarization, Radar, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Cloud_Liquid_Water_Night</dc:identifier>
- <dc:title>Columnar Cloud Liquid Water (Night, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-GHRSST_L4_MUR_Sea_Surface_Temperature</dc:identifier>
+ <dc:title>Sea Surface Temperature (L4, MUR Global Foundation, GHRSST)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_HNO3_46hPa_Night</dc:identifier>
- <dc:title>Nitric Acid (46 hPa, Night, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Temp_Day</dc:identifier>
+ <dc:title>Cloud Top Temperature (Day, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_V</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature (L1, Passive, Fore, V Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F13_Cloud_Liquid_Water_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Descending, Local AM, DMSP-F13 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_H</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature (L1, Passive, Fore, H Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_VV_RFI</dc:identifier>
+ <dc:title>Sigma0 RFI (L3, Active, VV Polarization, Radar, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_400hPa_Night</dc:identifier>
- <dc:title>Relative Humidity (400 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_SurfaceReflectance_Bands143</dc:identifier>
+ <dc:title>Land Surface Reflectance (True Color, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_700hPa_Night</dc:identifier>
- <dc:title>Air Temperature (700 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Reference_Labels</dc:identifier>
+ <dc:title>Reference Labels (OSM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_H_QA</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature QA (L1, Passive, Fore, H Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Net_Total_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Net Total Flux (Monthly, All-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_500hPa_Night</dc:identifier>
- <dc:title>Relative Humidity (500 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_O3_46hPa_Day</dc:identifier>
+ <dc:title>Ozone (46 hPa, Day, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Snow_Cover</dc:identifier>
- <dc:title>Snow Cover (MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_Temperature_46hPa_Day</dc:identifier>
+ <dc:title>Air Temperature (46 hPa, Day, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-GMI_Brightness_Temp_Asc</dc:identifier>
- <dc:title>Brightness Temperature (Ascending, GMI, GPM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F14_Water_Vapor_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Water Vapor (Ascending, Local PM, DMSP-F14 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Height_Day</dc:identifier>
- <dc:title>Cloud Top Height (Day, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_CorrectedReflectance_Bands721</dc:identifier>
+ <dc:title>Corrected Reflectance (Bands 7-2-1, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_700hPa_Day</dc:identifier>
- <dc:title>Air Temperature (700 hPa, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Brightness_Temp_Band31_Day</dc:identifier>
+ <dc:title>Brightness Temperature (Band31, Day, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-GMI_Rain_Rate_Dsc</dc:identifier>
- <dc:title>Rain Rate (Descending, GMI, GPM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Land_Surface_Temp_Day</dc:identifier>
+ <dc:title>Land Surface Temperature (Day, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_XPOL_RFI</dc:identifier>
- <dc:title>Sigma0 RFI (L3, Active, XPOL Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Chlorophyll_A</dc:identifier>
+ <dc:title>Chlorophyll (MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Brightness_Temp_Band31_Day</dc:identifier>
- <dc:title>Brightness Temperature (Band31, Day, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Phase_Infrared_Night</dc:identifier>
+ <dc:title>Cloud Phase (Infrared, Night, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Mean_Gross_Primary_Productivity</dc:identifier>
- <dc:title>Gross Primary Production (L4, 9 km Grid Cell Mean, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F8_Cloud_Liquid_Water_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Descending, Local PM, DMSP-F8 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Pressure_Day</dc:identifier>
- <dc:title>Cloud Top Pressure (Day, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F11_Water_Vapor_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Water Vapor (Ascending, Local PM, DMSP-F11 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Snow_Water_Equivalent</dc:identifier>
- <dc:title>Snow Water Equivalent (AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Combined_TOA_Longwave_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Longwave Flux All-Sky (Monthly, CERES, Aqua+Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Land_Surface_Temp_Day</dc:identifier>
- <dc:title>Land Surface Temperature (Day, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F8_Rain_Rate_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Rain Rate (Descending, DMSP-F8 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Coastlines</dc:identifier>
- <dc:title>Coastlines (OSM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_AOD_Deep_Blue_Land</dc:identifier>
+ <dc:title>Deep Blue Aerosol Optical Depth (Land, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_HNO3_46hPa_Day</dc:identifier>
- <dc:title>Nitric Acid (46 hPa, Day, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F10_Water_Vapor_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Water Vapor (Ascending, Local PM, DMSP-F10 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L2_Passive_Soil_Moisture_Option1</dc:identifier>
- <dc:title>Soil Moisture (L2, Passive, Single Channel Algorithm, H Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Optical_Thickness_PCL</dc:identifier>
+ <dc:title>Cloud Optical Thickness (PCL, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OMI_SO2_Middle_Troposphere</dc:identifier>
- <dc:title>Sulfur Dioxide (Middle Troposphere, OMI, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Prata_SO2_Index_Night</dc:identifier>
+ <dc:title>Sulfur Dioxide (Prata, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L2_Passive_Soil_Moisture_Option3</dc:identifier>
- <dc:title>Soil Moisture (L2, Passive, Dual Channel Algorithm, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_Net_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Net Flux (Monthly, Clear-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_CONUS_Monthly</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, CONUS Monthly, Best Available, Landsat)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Sea_Ice_Concentration_12km</dc:identifier>
+ <dc:title>Sea Ice Concentration (12 km, AMSR-E, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MEaSUREs_Daily_Landscape_Freeze_Thaw_AMSRE</dc:identifier>
- <dc:title>Freeze Thaw (Daily Landscape, AMSR-E, MEaSUREs)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_CorrectedReflectance_Bands721</dc:identifier>
+ <dc:title>Corrected Reflectance (Bands 7-2-1, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Effective_Radius_PCL</dc:identifier>
- <dc:title>Cloud Effective Radius (PCL, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_500hPa_Day</dc:identifier>
+ <dc:title>Relative Humidity (500 hPa, Day, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_600hPa_Night</dc:identifier>
- <dc:title>Relative Humidity (600 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Net_Longwave_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Net Longwave Flux (Monthly, Clear-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-GHRSST_L4_MUR_Sea_Surface_Temperature</dc:identifier>
- <dc:title>Sea Surface Temperature (L4, MUR Global Foundation, GHRSST)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F17_Cloud_Liquid_Water_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Descending, Local AM, DMSP-F17 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Global_Monthly</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, Global Monthly, Best Available, NEX, Landsat)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_HH_QA</dc:identifier>
+ <dc:title>Sigma0 QA (L3, Active, HH Polarization, Radar, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Land_Surface_Temp_Night</dc:identifier>
- <dc:title>Land Surface Temperature (Night, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Phase_Infrared_Day</dc:identifier>
+ <dc:title>Cloud Phase (Infrared, Day, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Surface_Precipitation_Rate_Day</dc:identifier>
- <dc:title>Surface Precipitation Rate (Day, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MISR_Cloud_Stereo_Height_Histogram_Bin_0.5km_Monthly</dc:identifier>
+ <dc:title>Cloud Stereo Height (No Wind Correction, < 0.5 km, Monthly, MISR)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-VIIRS_CityLights_2012</dc:identifier>
- <dc:title>Earth at Night (2012, VIIRS, SNPP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MISR_Cloud_Stereo_Height_Histogram_Bin_1.5-2.0km_Monthly</dc:identifier>
+ <dc:title>Cloud Stereo Height (No Wind Correction, 1.5 - 2.0 km, Monthly, MISR)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Surface_Rain_Rate_Day</dc:identifier>
- <dc:title>Surface Rain Rate (Day, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F16_Rain_Rate_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Rain Rate (Ascending, DMSP-F16 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_VV_RFI</dc:identifier>
- <dc:title>Sigma0 RFI (L3, Active, VV Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Surface_Rain_Rate_Day</dc:identifier>
+ <dc:title>Surface Rain Rate (Day, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Multi_Layer_Flag</dc:identifier>
- <dc:title>Cloud Multi Layer Flag (MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F17_Rain_Rate_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Rain Rate (Ascending, DMSP-F17 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Water_Path_PCL</dc:identifier>
- <dc:title>Cloud Water Path (PCL, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_850hPa_Night</dc:identifier>
+ <dc:title>Relative Humidity (850 hPa, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Fraction_Day</dc:identifier>
- <dc:title>Cloud Fraction (Day, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Phase_Infrared_Night</dc:identifier>
+ <dc:title>Cloud Phase (Infrared, Night, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_SurfaceReflectance_Bands143</dc:identifier>
- <dc:title>Land Surface Reflectance (True Color, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F8_Water_Vapor_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Water Vapor (Descending, Local PM, DMSP-F8 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Uncertainty_Analyzed_Surface_Soil_Moisture</dc:identifier>
- <dc:title>Surface Soil Moisture Uncertainty (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-GMI_Snow_Rate_Asc</dc:identifier>
+ <dc:title>Snow Rate (Ascending, GMI, GPM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Reference_Labels</dc:identifier>
- <dc:title>Reference Labels (OSM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F10_Rain_Rate_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Rain Rate (Descending, DMSP-F10 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Temp_Day</dc:identifier>
- <dc:title>Cloud Top Temperature (Day, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Longwave_Flux_Up_All_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Longwave Flux (Monthly, Up, All-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_O3_46hPa_Day</dc:identifier>
- <dc:title>Ozone (46 hPa, Day, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Aerosol</dc:identifier>
+ <dc:title>Dark Target Aerosol Optical Depth (Land and Ocean, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_Temperature_46hPa_Day</dc:identifier>
- <dc:title>Air Temperature (46 hPa, Day, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Surface_Precipitation_Rate_Night</dc:identifier>
+ <dc:title>Surface Precipitation Rate (Night, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_V</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature (L1, Passive, Aft, V Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Terra_TOA_Shortwave_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Shortwave Flux All-Sky (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Fraction_Day</dc:identifier>
- <dc:title>Cloud Fraction (Day, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Height_Night</dc:identifier>
+ <dc:title>Cloud Top Height (Night, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_XPOL</dc:identifier>
- <dc:title>Sigma0 (L3, Active, XPOL Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Terra_TOA_Shortwave_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Shortwave Flux Clear-Sky (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_CorrectedReflectance_Bands721</dc:identifier>
- <dc:title>Corrected Reflectance (Bands 7-2-1, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Multi_Layer_Flag</dc:identifier>
+ <dc:title>Cloud Multi Layer Flag (MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-GMI_Brightness_Temp_Dsc</dc:identifier>
- <dc:title>Brightness Temperature (Descending, GMI, GPM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_700hPa_Day</dc:identifier>
+ <dc:title>Relative Humidity (700 hPa, Day, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Brightness_Temp_89V_Day</dc:identifier>
- <dc:title>Brightness Temperature (89V Ghz B Scan, Day, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_CRE_Longwave_Flux_Monthly</dc:identifier>
+ <dc:title>TOA CRE Longwave Flux (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_700hPa_Night</dc:identifier>
- <dc:title>Relative Humidity (700 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-BlueMarble_ShadedRelief_Bathymetry</dc:identifier>
+ <dc:title>Blue Marble Shaded Relief and Bathymetry (MODIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Phase_Optical_Properties</dc:identifier>
- <dc:title>Cloud Phase Optical Properties (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_H_RFI</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature RFI (L1, Passive, Fore, H Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Chlorophyll_A</dc:identifier>
- <dc:title>Chlorophyll (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Mean_Heterotrophic_Respiration</dc:identifier>
+ <dc:title>Heterotrophic Respiration (L4, 9 km Grid Cell Mean, Model Value-Added, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Effective_Radius_37</dc:identifier>
- <dc:title>Cloud Effective Radius (3.7 micron, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_H2O_46hPa_Night</dc:identifier>
+ <dc:title>Water Vapor (46 hPa, Night, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_400hPa_Night</dc:identifier>
- <dc:title>Air Temperature (400 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_SurfaceReflectance_Bands143</dc:identifier>
+ <dc:title>Land Surface Reflectance (True Color, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_V_RFI</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature RFI (L1, Passive, Aft, V Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-LIS_High_Resolution_Full_Climatology_LIS_Scaled_Flashes</dc:identifier>
+ <dc:title>Lightning Flashes (Scaled, TRMM / LIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Water_Vapor_5km_Day</dc:identifier>
- <dc:title>Water Vapor Infrared (Day, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Shortwave_Flux_Up_All_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Shortwave Flux (Monthly, Up, All-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Passive_Soil_Moisture</dc:identifier>
- <dc:title>Soil Moisture (L3, Passive, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Reference_Features</dc:identifier>
+ <dc:title>Reference Features (OSM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Phase_Optical_Properties</dc:identifier>
- <dc:title>Cloud Phase Optical Properties (MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Pressure_Night</dc:identifier>
+ <dc:title>Cloud Top Pressure (Night, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Chlorophyll_A</dc:identifier>
- <dc:title>Chlorophyll (MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-OMI_SO2_Upper_Troposphere_and_Stratosphere</dc:identifier>
+ <dc:title>Sulfur Dioxide (Upper Troposphere and Stratosphere, OMI, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-BlueMarble_ShadedRelief</dc:identifier>
- <dc:title>Blue Marble Shaded Relief (MODIS)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F15_Cloud_Liquid_Water_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Ascending, Local PM, DMSP-F15 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Sea_Ice_Concentration_25km</dc:identifier>
- <dc:title>Sea Ice Concentration (25 km, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F14_Rain_Rate_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Rain Rate (Descending, DMSP-F14 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_CO_215hPa_Night</dc:identifier>
- <dc:title>Carbon Monoxide (215 hPa, Night, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-RSS_Merged_Wind_Climatology_Monthly</dc:identifier>
+ <dc:title>Wind Speed over Ice-Free Oceans (Monthly, Average, Merged Microwave Radiometers)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Sea_Ice</dc:identifier>
- <dc:title>Sea Ice Extent (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Brightness_Temp_Band31_Night</dc:identifier>
+ <dc:title>Brightness Temperature (Band31, Night, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Brightness_Temp_89V_Night</dc:identifier>
- <dc:title>Brightness Temperature (89V Ghz B Scan, Night, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_V_RFI</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature RFI (L1, Passive, Fore, V Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Phase_Infrared_Night</dc:identifier>
- <dc:title>Cloud Phase (Infrared, Night, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F10_Water_Vapor_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Water Vapor (Descending, Local AM, DMSP-F10 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Height_Day</dc:identifier>
- <dc:title>Cloud Top Height (Day, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Soil_Temperature_Layer_1</dc:identifier>
+ <dc:title>Surface Soil Temperature (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Blue_Marble</dc:identifier>
- <dc:title>Blue Marble (Reverb)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Surface_Rain_Rate_Night</dc:identifier>
+ <dc:title>Surface Rain Rate (Night, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Phase_Infrared_Day</dc:identifier>
- <dc:title>Cloud Phase (Infrared, Day, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_CorrectedReflectance_TrueColor</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Columnar_Water_Vapor_Day</dc:identifier>
- <dc:title>Columnar Water Vapor (Day, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_500hPa_Day</dc:identifier>
+ <dc:title>Air Temperature (500 hPa, Day, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_SurfaceReflectance_Bands121</dc:identifier>
- <dc:title>Land Surface Reflectance (Bands 1-2-1, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Sea_Ice</dc:identifier>
+ <dc:title>Sea Ice Extent (MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Aerosol</dc:identifier>
- <dc:title>Aerosol Optical Depth (MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Terra_TOA_Window_Region_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Window-Region Flux All-Sky (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_CO_Total_Column_Night</dc:identifier>
- <dc:title>Carbon Monoxide (Total Column, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Net_Shortwave_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Net Shortwave Flux (Monthly, Clear-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Passive_Brightness_Temp_V</dc:identifier>
- <dc:title>Corrected Brightness Temperature (L3, Passive, V Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Uncertainty_Analyzed_Root_Zone_Soil_Moisture</dc:identifier>
+ <dc:title>Root Zone Soil Moisture Uncertainty (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OMI_SO2_Upper_Troposphere_and_Stratosphere</dc:identifier>
- <dc:title>Sulfur Dioxide (Upper Troposphere and Stratosphere, OMI, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Combined_Value_Added_AOD</dc:identifier>
+ <dc:title>Aerosol Optical Depth (Value Added, MODIS, Combined Aqua and Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Height_Night</dc:identifier>
- <dc:title>Cloud Top Height (Night, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_Shortwave_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Shortwave Flux (Monthly, All-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Precipitation_Day</dc:identifier>
- <dc:title>Precipitation (Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Combined_TOA_Shortwave_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Shortwave Flux Clear-Sky (Monthly, CERES, Aqua+Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_NDVI_Global_Monthly</dc:identifier>
- <dc:title>NDVI (Global Monthly, Best Available, NEX, Landsat)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_AOD_Deep_Blue_Combined</dc:identifier>
+ <dc:title>Merged Aerosol Optical Depth (Deep Blue, Land and Ocean, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L2_Passive_Soil_Moisture_Option2</dc:identifier>
- <dc:title>Soil Moisture (L2, Passive, Single Channel Algorithm, V Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Angstrom_Exponent_Ocean</dc:identifier>
+ <dc:title>Dark Target Aerosol Angstrom Exponent (Ocean, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_XPOL_QA</dc:identifier>
- <dc:title>Sigma0 QA (L3, Active, XPOL Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_V</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature (L1, Passive, Fore, V Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Surface_Precipitation_Rate_Night</dc:identifier>
- <dc:title>Surface Precipitation Rate (Night, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_H</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature (L1, Passive, Fore, H Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_H_RFI</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature RFI (L1, Passive, Fore, H Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_CRE_Net_Total_Flux_Monthly</dc:identifier>
+ <dc:title>Surface CRE Net Total Flux (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_CO_Total_Column_Day</dc:identifier>
- <dc:title>Carbon Monoxide (Total Column, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Net_Total_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Net Total Flux (Monthly, Clear-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-GMI_Snow_Rate_Dsc</dc:identifier>
- <dc:title>Snow Rate (Descending, GMI, GPM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F10_Cloud_Liquid_Water_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Descending, Local AM, DMSP-F10 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_V_QA</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature QA (L1, Passive, Fore, V Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Uncertainty_Mean_Net_Ecosystem_Exchange</dc:identifier>
+ <dc:title>Net Ecosystem CO2 Exchange Uncertainty (L4, 9 km Grid Cell Mean, Model Value-Added, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_AOD_Deep_Blue_Land</dc:identifier>
- <dc:title>Deep Blue Aerosol Optical Depth (Land, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_NDVI_8Day</dc:identifier>
+ <dc:title>Normalized Difference Vegetation Index (8-Day, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Aerosol_Optical_Depth_3km</dc:identifier>
- <dc:title>Aerosol Optical Depth (3km, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Faraday_Rotation_Aft</dc:identifier>
+ <dc:title>Faraday Rotation Angle (L1, Passive, Aft, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OSM_Land_Water_Map</dc:identifier>
- <dc:title>Land Water Map (OSM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Land_Surface_Temp_Day</dc:identifier>
+ <dc:title>Land Surface Temperature (Day, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OSM_Land_Mask</dc:identifier>
- <dc:title>Land Mask (OSM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MOPITT_CO_Monthly_Total_Column_Day</dc:identifier>
+ <dc:title>Carbon Monoxide (Monthly, Day, Total Column, v6, Standard, MOPITT, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Effective_Radius_37</dc:identifier>
- <dc:title>Cloud Effective Radius (3.7 micron, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_600hPa_Night</dc:identifier>
+ <dc:title>Relative Humidity (600 hPa, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Water_Vapor_5km_Night</dc:identifier>
- <dc:title>Water Vapor Infrared (Night, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-RSS_Total_Precipitable_Water_Climatology_Monthly</dc:identifier>
+ <dc:title>Precipitable Water over Ice-Free Oceans (Monthly, Average, Merged Microwave Radiometers)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Alaska_Annual</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, Alaska Annual, Best Available, Landsat)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Global_Monthly</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, Global Monthly, Best Available, NEX, Landsat)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_H_QA</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature QA (L1, Passive, Aft, H Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Land_Surface_Temp_Night</dc:identifier>
+ <dc:title>Land Surface Temperature (Night, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-ASTER_GDEM_Color_Index</dc:identifier>
- <dc:title>Digital Elevation Model (Color Index, ASTER, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MISR_Directional_Hemispherical_Reflectance_Average_Natural_Color_Monthly</dc:identifier>
+ <dc:title>DHR Average (Monthly, Natural Color, MISR, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Prata_SO2_Index_Night</dc:identifier>
- <dc:title>Sulfur Dioxide (Prata, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F11_Rain_Rate_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Rain Rate (Ascending, DMSP-F11 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Optical_Thickness_PCL</dc:identifier>
- <dc:title>Cloud Optical Thickness (PCL, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F16_Cloud_Liquid_Water_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Descending, Local AM, DMSP-F16 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Sea_Ice_Concentration_12km</dc:identifier>
- <dc:title>Sea Ice Concentration (12 km, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_V</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature (L1, Passive, Aft, V Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-GMI_Rain_Rate_Asc</dc:identifier>
- <dc:title>Rain Rate (Ascending, GMI, GPM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-OMI_Absorbing_Aerosol_Optical_Depth</dc:identifier>
+ <dc:title>Aerosol Optical Depth, Absorbing (OMI, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_CorrectedReflectance_Bands721</dc:identifier>
- <dc:title>Corrected Reflectance (Bands 7-2-1, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Pressure_Night</dc:identifier>
+ <dc:title>Cloud Top Pressure (Night, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_850hPa_Night</dc:identifier>
- <dc:title>Air Temperature (850 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Chlorophyll_A</dc:identifier>
+ <dc:title>Chlorophyll (MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Mean_Net_Ecosystem_Exchange</dc:identifier>
- <dc:title>Net Ecosystem CO2 Exchange (L4, 9 km Grid Cell Mean, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Effective_Radius_37</dc:identifier>
+ <dc:title>Cloud Effective Radius (3.7 micron, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_SurfaceReflectance_Bands721</dc:identifier>
- <dc:title>Land Surface Reflectance (Bands 7-2-1, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Longwave_Flux_Down_All_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Longwave Flux (Monthly, Down, All-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Frozen_Area</dc:identifier>
- <dc:title>Percent Frozen Area (L4, 9 km Grid Cell Coverage, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_400hPa_Night</dc:identifier>
+ <dc:title>Air Temperature (400 hPa, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Angstrom_Exponent_Ocean</dc:identifier>
- <dc:title>Dark Target Aerosol Angstrom Exponent (Ocean, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Water_Vapor_5km_Day</dc:identifier>
+ <dc:title>Water Vapor Infrared (Day, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Passive_Brightness_Temp_V</dc:identifier>
- <dc:title>Disaggregated Brightness Temperature (L3, Active/Passive, V Polarization, Radar/Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-BlueMarble_ShadedRelief</dc:identifier>
+ <dc:title>Blue Marble Shaded Relief (MODIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_500hPa_Day</dc:identifier>
- <dc:title>Relative Humidity (500 hPa, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_O3_46hPa_Night</dc:identifier>
+ <dc:title>Ozone (46 hPa, Night, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Effective_Radius_PCL</dc:identifier>
- <dc:title>Cloud Effective Radius (PCL, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_Longwave_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Longwave Flux (Monthly, Clear-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Snow_Mass</dc:identifier>
- <dc:title>Snow Mass (L4, 12z-3z Average, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Water_Path_PCL</dc:identifier>
+ <dc:title>Cloud Water Path (PCL, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-VIIRS_SNPP_CorrectedReflectance_TrueColor</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, VIIRS, SNPP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-LIS_High_Resolution_Full_Climatology_LIS_Raw_Flashes</dc:identifier>
+ <dc:title>Lightning Flashes (Raw, TRMM / LIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_850hPa_Day</dc:identifier>
- <dc:title>Relative Humidity (850 hPa, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_EVI_8Day</dc:identifier>
+ <dc:title>Enhanced Vegetation Index (8-Day, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Angstrom_Exponent_Land</dc:identifier>
- <dc:title>Deep Blue Aerosol Angstrom Exponent (Land, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F14_Cloud_Liquid_Water_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Descending, Local AM, DMSP-F14 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Fraction_Night</dc:identifier>
- <dc:title>Cloud Fraction (Night, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F13_Rain_Rate_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Rain Rate (Descending, DMSP-F13 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_HH_QA</dc:identifier>
- <dc:title>Sigma0 QA (L3, Active, HH Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_CO_Total_Column_Night</dc:identifier>
+ <dc:title>Carbon Monoxide (Total Column, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_CorrectedReflectance_TrueColor</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Precipitation_Day</dc:identifier>
+ <dc:title>Precipitation (Day, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Phase_Infrared_Day</dc:identifier>
- <dc:title>Cloud Phase (Infrared, Day, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F17_Wind_Speed_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Surface Wind Speed (Ascending, DMSP-F17 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_HH</dc:identifier>
- <dc:title>Sigma0 (L3, Active, HH Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Angstrom_Exponent_Land</dc:identifier>
+ <dc:title>Deep Blue Aerosol Angstrom Exponent (Land, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Passive_Brightness_Temp_H</dc:identifier>
- <dc:title>Disaggregated Brightness Temperature (L3, Active/Passive, H Polarization, Radar/Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F14_Wind_Speed_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Surface Wind Speed (Ascending, DMSP-F14 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_V_RFI</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature RFI (L1, Passive, Fore, V Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MISR_Land_NDVI_Average_Monthly</dc:identifier>
+ <dc:title>Land NDVI Average (Monthly, MISR)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Brightness_Temp_89H_Night</dc:identifier>
- <dc:title>Brightness Temperature (89H Ghz B Scan, Night, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MOPITT_CO_Daily_Total_Column_Night</dc:identifier>
+ <dc:title>Carbon Monoxide (Daily, Night, Total Column, MOPITT, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Passive_Soil_Moisture</dc:identifier>
- <dc:title>Soil Moisture (L3, Active/Passive, Radar/Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-ASTER_GDEM_Color_Index</dc:identifier>
+ <dc:title>Digital Elevation Model (Color Index, ASTER, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Data_No_Data</dc:identifier>
- <dc:title>Data/No Data Mask (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F15_Rain_Rate_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Rain Rate (Descending, DMSP-F15 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Wind_Speed_Day</dc:identifier>
- <dc:title>Wind Speed (Day, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Frozen_Area</dc:identifier>
+ <dc:title>Percent Frozen Area (L4, 9 km Grid Cell Coverage, Model Value-Added, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OMI_Cloud_Pressure</dc:identifier>
- <dc:title>Cloud Pressure (OMI, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Effective_Radius_PCL</dc:identifier>
+ <dc:title>Cloud Effective Radius (PCL, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_H2O_46hPa_Day</dc:identifier>
- <dc:title>Water Vapor (46 hPa, Day, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Alaska_Seasonal</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, Alaska Seasonal, Best Available, Landsat)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Water_Vapor_5km_Day</dc:identifier>
- <dc:title>Water Vapor Infrared (Day, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-VIIRS_SNPP_CorrectedReflectance_TrueColor</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, VIIRS, SNPP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_CONUS_Seasonal</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, CONUS Seasonal, Landsat)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_850hPa_Day</dc:identifier>
+ <dc:title>Relative Humidity (850 hPa, Day, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Effective_Radius</dc:identifier>
- <dc:title>Cloud Effective Radius (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Angstrom_Exponent_Land</dc:identifier>
+ <dc:title>Deep Blue Aerosol Angstrom Exponent (Land, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_V_QA</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature QA (L1, Passive, Aft, V Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F13_Water_Vapor_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Water Vapor (Ascending, Local PM, DMSP-F13 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Aerosol_Optical_Depth_3km</dc:identifier>
- <dc:title>Aerosol Optical Depth (3km, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Shortwave_Flux_Down_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Shortwave Flux (Monthly, Down, Clear-Sky, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-BlueMarble_NextGeneration</dc:identifier>
- <dc:title>Blue Marble (MODIS)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F8_Water_Vapor_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Water Vapor (Ascending, Local AM, DMSP-F8 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Surface_Rain_Rate_Day</dc:identifier>
- <dc:title>Surface Rain Rate (Day, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_V_QA</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature QA (L1, Passive, Fore, V Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_CO_215hPa_Day</dc:identifier>
- <dc:title>Carbon Monoxide (215 hPa, Day, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Effective_Radius</dc:identifier>
+ <dc:title>Cloud Effective Radius (MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_850hPa_Night</dc:identifier>
- <dc:title>Relative Humidity (850 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Aerosol_Optical_Depth_3km</dc:identifier>
+ <dc:title>Aerosol Optical Depth (3km, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Effective_Radius</dc:identifier>
- <dc:title>Cloud Effective Radius (MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_SurfaceReflectance_Bands121</dc:identifier>
+ <dc:title>Land Surface Reflectance (Bands 1-2-1, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Phase_Infrared_Night</dc:identifier>
- <dc:title>Cloud Phase (Infrared, Night, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F16_Rain_Rate_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Rain Rate (Descending, DMSP-F16 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Water_Path</dc:identifier>
- <dc:title>Cloud Water Path (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MISR_TOA_Albedo_Average_Red_Monthly</dc:identifier>
+ <dc:title>TOA Albedo Average (Red, Monthly, MISR)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Dust_Score</dc:identifier>
- <dc:title>Dust Score Ocean (Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MOPITT_CO_Monthly_Surface_Mixing_Ratio_Day</dc:identifier>
+ <dc:title>Carbon Monoxide (Monthly, Day, Surface Mixing Ratio, v6, Standard, MOPITT, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OMI_Absorbing_Aerosol_Optical_Depth</dc:identifier>
- <dc:title>Aerosol Optical Depth, Absorbing (OMI, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_XPOL</dc:identifier>
+ <dc:title>Sigma0 (L3, Active, XPOL Polarization, Radar, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Emult_Average</dc:identifier>
@@ -637,276 +637,836 @@
<dc:title>Brightness Temperature for Sea Ice (89H Ghz, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_H_RFI</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature RFI (L1, Passive, Aft, H Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_N2O_46hPa_Night</dc:identifier>
+ <dc:title>Nitrous Oxide (46 hPa, Night, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-GMI_Snow_Rate_Asc</dc:identifier>
- <dc:title>Snow Rate (Ascending, GMI, GPM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F8_Cloud_Liquid_Water_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Ascending, Local AM, DMSP-F8 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Sea_Ice_Brightness_Temp_89V</dc:identifier>
- <dc:title>Brightness Temperature for Sea Ice (89V Ghz, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Temp_Day</dc:identifier>
+ <dc:title>Cloud Top Temperature (Day, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_AOD_Deep_Blue_Combined</dc:identifier>
- <dc:title>Merged Aerosol Optical Depth (Deep Blue, Land and Ocean, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Sea_Ice_Brightness_Temp_6km_89V</dc:identifier>
+ <dc:title>Brightness Temperature for Sea Ice (89V Ghz, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_N2O_46hPa_Night</dc:identifier>
- <dc:title>Nitrous Oxide (46 hPa, Night, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_400hPa_Day</dc:identifier>
+ <dc:title>Air Temperature (400 hPa, Day, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Surface_Precipitation_Rate_Night</dc:identifier>
- <dc:title>Surface Precipitation Rate (Night, AMSR2, GCOM-W1)</dc:title>
- </csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Water_Mask</dc:identifier>
+ <dc:title>Water Mask (MODIS/SRTM)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_Temperature_46hPa_Night</dc:identifier>
+ <dc:title>Air Temperature (46 hPa, Night, MLS, Aura)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F11_Rain_Rate_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Rain Rate (Descending, DMSP-F11 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Multi_Layer_Flag</dc:identifier>
+ <dc:title>Cloud Multi Layer Flag (MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-OMI_SO2_Lower_Troposphere</dc:identifier>
+ <dc:title>Sulfur Dioxide (Lower Troposphere, OMI, Aura)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-OTD_High_Resolution_Full_Climatology_OTD_Scaled_Flashes</dc:identifier>
+ <dc:title>Lightning Flashes (Scaled, OrbView-1 / OTD)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_600hPa_Day</dc:identifier>
+ <dc:title>Air Temperature (600 hPa, Day, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Soil_Moisture</dc:identifier>
+ <dc:title>Soil Moisture (L3, Active, Radar, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Angstrom_Exponent_Ocean</dc:identifier>
+ <dc:title>Dark Target Aerosol Angstrom Exponent (Ocean, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MOPITT_CO_Daily_Surface_Mixing_Ratio_Day</dc:identifier>
+ <dc:title>Carbon Monoxide (Daily, Day, Surface Mixing Ratio, v6, Standard, MOPITT, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Columnar_Water_Vapor_Night</dc:identifier>
+ <dc:title>Columnar Water Vapor (Night, AMSR2, GCOM-W1)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F14_Wind_Speed_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Surface Wind Speed (Descending, DMSP-F14 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-OMI_Aerosol_Optical_Depth</dc:identifier>
+ <dc:title>Aerosol Optical Depth (OMI, Aura)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MOPITT_CO_Daily_Surface_Mixing_Ratio_Night</dc:identifier>
+ <dc:title>Carbon Monoxide (Daily, Night, Surface Mixing Ratio, MOPITT, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_H_QA</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature QA (L1, Passive, Aft, H Polarization, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F10_Wind_Speed_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Surface Wind Speed (Descending, DMSP-F10 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_CorrectedReflectance_TrueColor</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Terra_TOA_Longwave_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Longwave Flux Clear-Sky (Monthly, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Land_Surface_Temp_Night</dc:identifier>
+ <dc:title>Land Surface Temperature (Night, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_SO2_147hPa_Day</dc:identifier>
+ <dc:title>Sulfur Dioxide (147 hPa, Day, MLS, Aura)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F13_Rain_Rate_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Rain Rate (Ascending, DMSP-F13 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_850hPa_Day</dc:identifier>
+ <dc:title>Air Temperature (850 hPa, Day, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MISR_Radiance_Average_Natural_Color_Monthly</dc:identifier>
+ <dc:title>Radiance Average (AN, Natural Color, Monthly, MISR, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Temp_Night</dc:identifier>
+ <dc:title>Cloud Top Temperature (Night, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_SurfaceReflectance_Bands721</dc:identifier>
+ <dc:title>Land Surface Reflectance (Bands 7-2-1, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Pressure_Day</dc:identifier>
+ <dc:title>Cloud Top Pressure (Day, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Alaska_Monthly</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, Alaska Monthly, Best Available, Landsat)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Shortwave_Flux_Up_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Shortwave Flux (Monthly, Up, Clear-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-Blue_Marble</dc:identifier>
+ <dc:title>Blue Marble (Reverb)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F16_Water_Vapor_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Water Vapor (Ascending, Local PM, DMSP-F16 / SSMIS)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Cloud_Liquid_Water_Night</dc:identifier>
+ <dc:title>Columnar Cloud Liquid Water (Night, AMSR2, GCOM-W1)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_400hPa_Night</dc:identifier>
+ <dc:title>Relative Humidity (400 hPa, Night, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-GMI_Brightness_Temp_Asc</dc:identifier>
+ <dc:title>Brightness Temperature (Ascending, GMI, GPM)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Height_Day</dc:identifier>
+ <dc:title>Cloud Top Height (Day, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_XPOL_RFI</dc:identifier>
+ <dc:title>Sigma0 RFI (L3, Active, XPOL Polarization, Radar, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Mean_Gross_Primary_Productivity</dc:identifier>
+ <dc:title>Gross Primary Production (L4, 9 km Grid Cell Mean, Model Value-Added, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Snow_Water_Equivalent</dc:identifier>
+ <dc:title>Snow Water Equivalent (AMSR2, GCOM-W1)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L2_Passive_Soil_Moisture_Option1</dc:identifier>
+ <dc:title>Soil Moisture (L2, Passive, Single Channel Algorithm, H Polarization, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L2_Passive_Soil_Moisture_Option2</dc:identifier>
+ <dc:title>Soil Moisture (L2, Passive, Single Channel Algorithm, V Polarization, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L2_Passive_Soil_Moisture_Option3</dc:identifier>
+ <dc:title>Soil Moisture (L2, Passive, Dual Channel Algorithm, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MEaSUREs_Daily_Landscape_Freeze_Thaw_AMSRE</dc:identifier>
+ <dc:title>Freeze Thaw (Daily Landscape, AMSR-E, MEaSUREs)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1</dc:identifier>
+ <dc:title>Corrected Reflectance (M11-I2-I1, VIIRS, SNPP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-VIIRS_CityLights_2012</dc:identifier>
+ <dc:title>Earth at Night (2012, VIIRS, SNPP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Surface_Rain_Rate_Day</dc:identifier>
+ <dc:title>Surface Rain Rate (Day, AMSR-E, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F10_Rain_Rate_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Rain Rate (Ascending, DMSP-F10 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Uncertainty_Analyzed_Surface_Soil_Moisture</dc:identifier>
+ <dc:title>Surface Soil Moisture Uncertainty (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Snow_Mass</dc:identifier>
+ <dc:title>Snow Mass (L4, 12z-3z Average, Model Value-Added, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F15_Rain_Rate_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Rain Rate (Ascending, DMSP-F15 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Fraction_Day</dc:identifier>
+ <dc:title>Cloud Fraction (Day, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_NDVI_Global_Annual</dc:identifier>
+ <dc:title>NDVI (Global Annual, Best Available, NEX, Landsat)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-OTD_High_Resolution_Full_Climatology_OTD_Raw_Flashes</dc:identifier>
+ <dc:title>Lightning Flashes (Raw, OrbView-1 / OTD)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Brightness_Temp_89V_Day</dc:identifier>
+ <dc:title>Brightness Temperature (89V Ghz B Scan, Day, AMSR-E, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Terra_TOA_Longwave_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Longwave Flux All-Sky (Monthly, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Terra_TOA_Window_Region_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Window-Region Flux Clear-Sky (Monthly, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Phase_Optical_Properties</dc:identifier>
+ <dc:title>Cloud Phase Optical Properties (MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Passive_Brightness_Temp_V</dc:identifier>
+ <dc:title>Disaggregated Brightness Temperature (L3, Active/Passive, V Polarization, Radar/Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F15_Cloud_Liquid_Water_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Descending, Local AM, DMSP-F15 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-OMI_Aerosol_Index</dc:identifier>
+ <dc:title>Aerosol Index (OMI, Aura)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Analyzed_Surface_Soil_Moisture</dc:identifier>
+ <dc:title>Surface Soil Moisture (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Columnar_Water_Vapor_Day</dc:identifier>
+ <dc:title>Columnar Water Vapor (Day, AMSR2, GCOM-W1)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Shortwave_Flux_Down_All_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Shortwave Flux (Monthly, Down, All-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F11_Water_Vapor_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Water Vapor (Descending, Local AM, DMSP-F11 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_CO_Total_Column_Day</dc:identifier>
+ <dc:title>Carbon Monoxide (Total Column, Day, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F16_Water_Vapor_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Water Vapor (Descending, Local AM, DMSP-F16 / SSMIS)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F13_Wind_Speed_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Surface Wind Speed (Ascending, DMSP-F13 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F13_Wind_Speed_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Surface Wind Speed (Descending, DMSP-F13 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MOPITT_CO_Monthly_Total_Column_Night</dc:identifier>
+ <dc:title>Carbon Monoxide (Monthly, Night, Total Column, MOPITT, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Optical_Thickness_PCL</dc:identifier>
+ <dc:title>Cloud Optical Thickness (PCL, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_850hPa_Night</dc:identifier>
+ <dc:title>Air Temperature (850 hPa, Night, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Mean_Net_Ecosystem_Exchange</dc:identifier>
+ <dc:title>Net Ecosystem CO2 Exchange (L4, 9 km Grid Cell Mean, Model Value-Added, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Net_Shortwave_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Net Shortwave Flux (Monthly, All-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Snow_Cover</dc:identifier>
+ <dc:title>Snow Cover (MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Phase_Infrared_Day</dc:identifier>
+ <dc:title>Cloud Phase (Infrared, Day, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_HH</dc:identifier>
+ <dc:title>Sigma0 (L3, Active, HH Polarization, Radar, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Passive_Brightness_Temp_H</dc:identifier>
+ <dc:title>Disaggregated Brightness Temperature (L3, Active/Passive, H Polarization, Radar/Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F10_Cloud_Liquid_Water_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Ascending, Local PM, DMSP-F10 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_V_QA</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature QA (L1, Passive, Aft, V Polarization, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-BlueMarble_NextGeneration</dc:identifier>
+ <dc:title>Blue Marble (MODIS)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_CO_215hPa_Day</dc:identifier>
+ <dc:title>Carbon Monoxide (215 hPa, Day, MLS, Aura)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Effective_Radius</dc:identifier>
+ <dc:title>Cloud Effective Radius (MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F10_Wind_Speed_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Surface Wind Speed (Ascending, DMSP-F10 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F16_Cloud_Liquid_Water_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Ascending, Local PM, DMSP-F16 / SSMIS)</dc:title>
+ </csw:BriefRecord>
<csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Optical_Thickness</dc:identifier>
<dc:title>Cloud Optical Thickness (MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Sea_Ice_Brightness_Temp_89H</dc:identifier>
- <dc:title>Brightness Temperature for Sea Ice (89H Ghz, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Brightness_Temp_Band31_Night</dc:identifier>
+ <dc:title>Brightness Temperature (Band31, Night, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_Longwave_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Longwave Flux (Monthly, All-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_NDVI_Global_Monthly</dc:identifier>
+ <dc:title>NDVI (Global Monthly, Best Available, NEX, Landsat)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-OSM_Land_Mask</dc:identifier>
+ <dc:title>Land Mask (OSM)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_Net_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Net Flux (Monthly, All-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Longwave_Flux_Down_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Longwave Flux (Monthly, Down, Clear-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Water_Vapor_5km_Night</dc:identifier>
+ <dc:title>Water Vapor Infrared (Night, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-GHRSST_L4_G1SST_Sea_Surface_Temperature</dc:identifier>
+ <dc:title>Sea Surface Temperature (L4, G1SST Global Foundation, GHRSST)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Effective_Radius_37_PCL</dc:identifier>
+ <dc:title>Cloud Effective Radius (3.7 micron PCL, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Snow_Cover</dc:identifier>
+ <dc:title>Snow Cover (MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Analyzed_Root_Zone_Soil_Moisture</dc:identifier>
+ <dc:title>Root Zone Soil Moisture (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_AOD_Deep_Blue_Land</dc:identifier>
+ <dc:title>Deep Blue Aerosol Optical Depth (Land, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Net_Longwave_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Net Longwave Flux (Monthly, All-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F8_Wind_Speed_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Surface Wind Speed (Descending, DMSP-F8 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Sea_Ice_Concentration_25km</dc:identifier>
+ <dc:title>Sea Ice Concentration (25 km, AMSR2, GCOM-W1)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Optical_Thickness</dc:identifier>
+ <dc:title>Cloud Optical Thickness (MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Prata_SO2_Index_Day</dc:identifier>
+ <dc:title>Sulfur Dioxide (Prata, Day, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_N2O_46hPa_Day</dc:identifier>
+ <dc:title>Nitrous Oxide (46 hPa, Day, MLS, Aura)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_600hPa_Night</dc:identifier>
+ <dc:title>Air Temperature (600 hPa, Night, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F15_Wind_Speed_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Surface Wind Speed (Ascending, DMSP-F15 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_CorrectedReflectance_Bands367</dc:identifier>
+ <dc:title>Corrected Reflectance (Bands 3-6-7, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F15_Water_Vapor_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Water Vapor (Descending, Local AM, DMSP-F15 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Data_No_Data</dc:identifier>
+ <dc:title>Data/No Data Mask (MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Temp_Night</dc:identifier>
+ <dc:title>Cloud Top Temperature (Night, MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MEaSUREs_Daily_Landscape_Freeze_Thaw_SSMI</dc:identifier>
+ <dc:title>Freeze Thaw (Daily Landscape, SSMI, MEaSUREs)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_400hPa_Day</dc:identifier>
+ <dc:title>Relative Humidity (400 hPa, Day, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F14_Rain_Rate_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Rain Rate (Ascending, DMSP-F14 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F14_Cloud_Liquid_Water_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Ascending, Local PM, DMSP-F14 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_SurfaceReflectance_Bands121</dc:identifier>
+ <dc:title>Land Surface Reflectance (Bands 1-2-1, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F13_Cloud_Liquid_Water_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Ascending, Local PM, DMSP-F13 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F17_Cloud_Liquid_Water_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Ascending, Local PM, DMSP-F17 / SSMIS)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F8_Rain_Rate_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Rain Rate (Ascending, DMSP-F8 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F15_Wind_Speed_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Surface Wind Speed (Descending, DMSP-F15 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-OTD_High_Resolution_Full_Climatology_OTD_Flash_Rate_Climatology</dc:identifier>
+ <dc:title>Lightning Flash Rate (, OrbView-1 / OTD)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-ASTER_GDEM_Color_Shaded_Relief</dc:identifier>
+ <dc:title>Digital Elevation Model (Color Shaded Relief, ASTER, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_Shortwave_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Shortwave Flux (Monthly, Clear-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F17_Wind_Speed_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Surface Wind Speed (Descending, DMSP-F17 / SSMIS)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Brightness_Temp_89H_Day</dc:identifier>
+ <dc:title>Brightness Temperature (89H Ghz B Scan, Day, AMSR-E, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F8_Wind_Speed_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Surface Wind Speed (Ascending, DMSP-F8 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Combined_TOA_Shortwave_Flux_All_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Shortwave Flux All-Sky (Monthly, CERES, Aqua+Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Fore_H_QA</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature QA (L1, Passive, Fore, H Polarization, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Faraday_Rotation_Fore</dc:identifier>
+ <dc:title>Faraday Rotation Angle (L1, Passive, Fore, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_700hPa_Day</dc:identifier>
+ <dc:title>Air Temperature (700 hPa, Day, AIRS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_HNO3_46hPa_Day</dc:identifier>
+ <dc:title>Nitric Acid (46 hPa, Day, MLS, Aura)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F15_Water_Vapor_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Water Vapor (Ascending, Local PM, DMSP-F15 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Effective_Radius_PCL</dc:identifier>
+ <dc:title>Cloud Effective Radius (PCL, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F11_Wind_Speed_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Surface Wind Speed (Descending, DMSP-F11 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_V_RFI</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature RFI (L1, Passive, Aft, V Polarization, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Surface_Precipitation_Rate_Day</dc:identifier>
+ <dc:title>Surface Precipitation Rate (Day, AMSR-E, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F11_Wind_Speed_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Surface Wind Speed (Ascending, DMSP-F11 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_Longwave_Flux_Up_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>Surface Longwave Flux (Monthly, Up, Clear-Sky, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Fraction_Day</dc:identifier>
+ <dc:title>Cloud Fraction (Day, MODIS, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_CRE_Net_Shortwave_Flux_Monthly</dc:identifier>
+ <dc:title>Surface CRE Net Shortwave Flux (Monthly, CERES, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F13_Water_Vapor_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Water Vapor (Descending, Local AM, DMSP-F13 / SSMI)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Phase_Optical_Properties</dc:identifier>
+ <dc:title>Cloud Phase Optical Properties (MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MOPITT_CO_Daily_Total_Column_Day</dc:identifier>
+ <dc:title>Carbon Monoxide (Daily, Day, Total Column, v6, Standard, MOPITT, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F16_Wind_Speed_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Surface Wind Speed (Ascending, DMSP-F16 / SSMIS)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Combined_TOA_Window_Region_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Window-Region Flux Clear-Sky (Monthly, CERES, Aqua+Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Passive_Brightness_Temp_H</dc:identifier>
+ <dc:title>Corrected Brightness Temperature (L3, Passive, H Polarization, Radiometer, SMAP)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F16_Wind_Speed_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Surface Wind Speed (Descending, DMSP-F16 / SSMIS)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Sea_Ice_Concentration_25km</dc:identifier>
+ <dc:title>Sea Ice Concentration (25 km, AMSR-E, Aqua)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Sea_Ice</dc:identifier>
+ <dc:title>Sea Ice Extent (MODIS, Terra)</dc:title>
+ </csw:BriefRecord>
+ <csw:BriefRecord>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Brightness_Temp_89V_Night</dc:identifier>
+ <dc:title>Brightness Temperature (89V Ghz B Scan, Night, AMSR-E, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Height_Night</dc:identifier>
- <dc:title>Cloud Top Height (Night, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F11_Cloud_Liquid_Water_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Descending, Local AM, DMSP-F11 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_VV_QA</dc:identifier>
- <dc:title>Sigma0 QA (L3, Active, VV Polarization, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Height_Day</dc:identifier>
+ <dc:title>Cloud Top Height (Day, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Temp_Day</dc:identifier>
- <dc:title>Cloud Top Temperature (Day, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_CONUS_Seasonal</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, CONUS Seasonal, Landsat)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Sea_Ice_Brightness_Temp_6km_89V</dc:identifier>
- <dc:title>Brightness Temperature for Sea Ice (89V Ghz, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Precipitation_Night</dc:identifier>
+ <dc:title>Precipitation (Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_400hPa_Day</dc:identifier>
- <dc:title>Air Temperature (400 hPa, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Brightness_Temp_89H_Night</dc:identifier>
+ <dc:title>Brightness Temperature (89H Ghz B Scan, Night, AMSR-E, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Water_Mask</dc:identifier>
- <dc:title>Water Mask (MODIS/SRTM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Passive_Brightness_Temp_V</dc:identifier>
+ <dc:title>Corrected Brightness Temperature (L3, Passive, V Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Faraday_Rotation_Fore</dc:identifier>
- <dc:title>Faraday Rotation Angle (L1, Passive, Fore, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Height_Night</dc:identifier>
+ <dc:title>Cloud Top Height (Night, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_500hPa_Night</dc:identifier>
- <dc:title>Air Temperature (500 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-GMI_Brightness_Temp_Dsc</dc:identifier>
+ <dc:title>Brightness Temperature (Descending, GMI, GPM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_Temperature_46hPa_Night</dc:identifier>
- <dc:title>Air Temperature (46 hPa, Night, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_XPOL_QA</dc:identifier>
+ <dc:title>Sigma0 QA (L3, Active, XPOL Polarization, Radar, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1</dc:identifier>
- <dc:title>Corrected Reflectance (M11-I2-I1, VIIRS, SNPP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Surface_Precipitation_Rate_Night</dc:identifier>
+ <dc:title>Surface Precipitation Rate (Night, AMSR-E, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_700hPa_Day</dc:identifier>
- <dc:title>Relative Humidity (700 hPa, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-GMI_Snow_Rate_Dsc</dc:identifier>
+ <dc:title>Snow Rate (Descending, GMI, GPM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Multi_Layer_Flag</dc:identifier>
- <dc:title>Cloud Multi Layer Flag (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_Combined_TOA_Longwave_Flux_Clear_Sky_Monthly</dc:identifier>
+ <dc:title>TOA Longwave Flux Clear-Sky (Monthly, CERES, Aqua+Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Cloud_Liquid_Water_Day</dc:identifier>
- <dc:title>Columnar Cloud Liquid Water (Day, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Passive_Soil_Moisture</dc:identifier>
+ <dc:title>Soil Moisture (L3, Active/Passive, Radar/Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Water_Vapor_5km_Night</dc:identifier>
- <dc:title>Water Vapor Infrared (Night, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F17_Water_Vapor_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Water Vapor (Ascending, Local PM, DMSP-F17 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OMI_SO2_Lower_Troposphere</dc:identifier>
- <dc:title>Sulfur Dioxide (Lower Troposphere, OMI, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Aerosol_Optical_Depth_3km</dc:identifier>
+ <dc:title>Aerosol Optical Depth (3km, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-BlueMarble_ShadedRelief_Bathymetry</dc:identifier>
- <dc:title>Blue Marble Shaded Relief and Bathymetry (MODIS)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Alaska_Annual</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, Alaska Annual, Best Available, Landsat)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Water_Path</dc:identifier>
- <dc:title>Cloud Water Path (MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MISR_Aerosol_Optical_Depth_Avg_Green_Monthly</dc:identifier>
+ <dc:title>Aerosol Optical Depth Average (Green, Monthly, MISR)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-GHRSST_L4_G1SST_Sea_Surface_Temperature</dc:identifier>
- <dc:title>Sea Surface Temperature (L4, G1SST Global Foundation, GHRSST)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_CONUS_Monthly</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, CONUS Monthly, Best Available, Landsat)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Effective_Radius_37_PCL</dc:identifier>
- <dc:title>Cloud Effective Radius (3.7 micron PCL, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-GMI_Rain_Rate_Asc</dc:identifier>
+ <dc:title>Rain Rate (Ascending, GMI, GPM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Snow_Cover</dc:identifier>
- <dc:title>Snow Cover (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_SurfaceReflectance_Bands721</dc:identifier>
+ <dc:title>Land Surface Reflectance (Bands 7-2-1, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Analyzed_Root_Zone_Soil_Moisture</dc:identifier>
- <dc:title>Root Zone Soil Moisture (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-LIS_High_Resolution_Full_Climatology_Combined_Flash_Rate_Climatology</dc:identifier>
+ <dc:title>Lightning Flash Rate (Combined, TRMM / LIS, OrbView-1 / OTD)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Uncertainty_Mean_Net_Ecosystem_Exchange</dc:identifier>
- <dc:title>Net Ecosystem CO2 Exchange Uncertainty (L4, 9 km Grid Cell Mean, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Water_Vapor_5km_Day</dc:identifier>
+ <dc:title>Water Vapor Infrared (Day, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Mean_Heterotrophic_Respiration</dc:identifier>
- <dc:title>Heterotrophic Respiration (L4, 9 km Grid Cell Mean, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Fraction_Night</dc:identifier>
+ <dc:title>Cloud Fraction (Night, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_H2O_46hPa_Night</dc:identifier>
- <dc:title>Water Vapor (46 hPa, Night, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Aerosol</dc:identifier>
+ <dc:title>Dark Target Aerosol Optical Depth (Land and Ocean, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Alaska_Seasonal</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, Alaska Seasonal, Best Available, Landsat)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Wind_Speed_Day</dc:identifier>
+ <dc:title>Wind Speed (Day, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_SurfaceReflectance_Bands143</dc:identifier>
- <dc:title>Land Surface Reflectance (True Color, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_CRE_Shortwave_Flux_Monthly</dc:identifier>
+ <dc:title>TOA CRE Shortwave Flux (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_600hPa_Day</dc:identifier>
- <dc:title>Air Temperature (600 hPa, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-OMI_Cloud_Pressure</dc:identifier>
+ <dc:title>Cloud Pressure (OMI, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Effective_Radius_37_PCL</dc:identifier>
- <dc:title>Cloud Effective Radius (3.7 micron PCL, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_H2O_46hPa_Day</dc:identifier>
+ <dc:title>Water Vapor (46 hPa, Day, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Brightness_Temp_Band31_Night</dc:identifier>
- <dc:title>Brightness Temperature (Band31, Night, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MLS_CO_215hPa_Night</dc:identifier>
+ <dc:title>Carbon Monoxide (215 hPa, Night, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_H</dc:identifier>
- <dc:title>Uncorrected Brightness Temperature (L1, Passive, Aft, H Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Water_Path</dc:identifier>
+ <dc:title>Cloud Water Path (MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Surface_Rain_Rate_Night</dc:identifier>
- <dc:title>Surface Rain Rate (Night, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_H_RFI</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature RFI (L1, Passive, Aft, H Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Soil_Moisture</dc:identifier>
- <dc:title>Soil Moisture (L3, Active, Radar, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Sea_Ice_Brightness_Temp_89V</dc:identifier>
+ <dc:title>Brightness Temperature for Sea Ice (89V Ghz, AMSR-E, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-Reference_Features</dc:identifier>
- <dc:title>Reference Features (OSM)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_AOD_Deep_Blue_Combined</dc:identifier>
+ <dc:title>Merged Aerosol Optical Depth (Deep Blue, Land and Ocean, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Sea_Ice_Concentration_25km</dc:identifier>
- <dc:title>Sea Ice Concentration (25 km, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Sea_Ice_Brightness_Temp_89H</dc:identifier>
+ <dc:title>Brightness Temperature for Sea Ice (89H Ghz, AMSR-E, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Angstrom_Exponent_Ocean</dc:identifier>
- <dc:title>Dark Target Aerosol Angstrom Exponent (Ocean, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Wind_Speed_Night</dc:identifier>
+ <dc:title>Wind Speed (Night, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Optical_Thickness</dc:identifier>
- <dc:title>Cloud Optical Thickness (MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Active_Sigma0_VV_QA</dc:identifier>
+ <dc:title>Sigma0 QA (L3, Active, VV Polarization, Radar, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Snow_Depth_Over_Ice</dc:identifier>
- <dc:title>Snow Depth Over Ice (12 km, AMSR-E, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_500hPa_Night</dc:identifier>
+ <dc:title>Air Temperature (500 hPa, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Pressure_Night</dc:identifier>
- <dc:title>Cloud Top Pressure (Night, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_700hPa_Night</dc:identifier>
+ <dc:title>Relative Humidity (700 hPa, Night, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Columnar_Water_Vapor_Night</dc:identifier>
- <dc:title>Columnar Water Vapor (Night, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Cloud_Liquid_Water_Day</dc:identifier>
+ <dc:title>Columnar Cloud Liquid Water (Day, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_N2O_46hPa_Day</dc:identifier>
- <dc:title>Nitrous Oxide (46 hPa, Day, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Aquarius_Soil_Moisture_Weekly</dc:identifier>
+ <dc:title>Soil Moisture (Weekly, Radiometer, Aquarius, SAC-D)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_CorrectedReflectance_TrueColor</dc:identifier>
- <dc:title>Corrected Reflectance (True Color, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Water_Path</dc:identifier>
+ <dc:title>Cloud Water Path (MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-OMI_Aerosol_Optical_Depth</dc:identifier>
- <dc:title>Aerosol Optical Depth (OMI, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Effective_Radius_37_PCL</dc:identifier>
+ <dc:title>Cloud Effective Radius (3.7 micron PCL, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Land_Surface_Temp_Day</dc:identifier>
- <dc:title>Land Surface Temperature (Day, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Brightness_Temp_Aft_H</dc:identifier>
+ <dc:title>Uncorrected Brightness Temperature (L1, Passive, Aft, H Polarization, Radiometer, SMAP)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_600hPa_Night</dc:identifier>
- <dc:title>Air Temperature (600 hPa, Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Surface_Rain_Rate_Night</dc:identifier>
+ <dc:title>Surface Rain Rate (Night, AMSR-E, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_CorrectedReflectance_Bands367</dc:identifier>
- <dc:title>Corrected Reflectance (Bands 3-6-7, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F17_Water_Vapor_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Water Vapor (Descending, Local AM, DMSP-F17 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L1_Passive_Faraday_Rotation_Aft</dc:identifier>
- <dc:title>Faraday Rotation Angle (L1, Passive, Aft, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Landsat_WELD_CorrectedReflectance_TrueColor_Global_Annual</dc:identifier>
+ <dc:title>Corrected Reflectance (True Color, Global Annual, Best Available, NEX, Landsat)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_SO2_147hPa_Day</dc:identifier>
- <dc:title>Sulfur Dioxide (147 hPa, Day, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AMSRE_Snow_Depth_Over_Ice</dc:identifier>
+ <dc:title>Snow Depth Over Ice (12 km, AMSR-E, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_600hPa_Day</dc:identifier>
- <dc:title>Relative Humidity (600 hPa, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-Aquarius_Soil_Moisture_Daily</dc:identifier>
+ <dc:title>Soil Moisture (Daily, Radiometer, Aquarius, SAC-D)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Pressure_Day</dc:identifier>
- <dc:title>Cloud Top Pressure (Day, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F11_Cloud_Liquid_Water_Over_Oceans_Ascending</dc:identifier>
+ <dc:title>Cloud Liquid Water (Ascending, Local PM, DMSP-F11 / SSMI)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L3_Passive_Brightness_Temp_H</dc:identifier>
- <dc:title>Corrected Brightness Temperature (L3, Passive, H Polarization, Radiometer, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_Dust_Score_Ocean_Day</dc:identifier>
+ <dc:title>Dust Score Ocean (Day, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Angstrom_Exponent_Land</dc:identifier>
- <dc:title>Deep Blue Aerosol Angstrom Exponent (Land, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_600hPa_Day</dc:identifier>
+ <dc:title>Relative Humidity (600 hPa, Day, AIRS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Precipitation_Night</dc:identifier>
- <dc:title>Precipitation (Night, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Top_Pressure_Day</dc:identifier>
+ <dc:title>Cloud Top Pressure (Day, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-AMSR2_Sea_Ice_Concentration_12km</dc:identifier>
<dc:title>Sea Ice Concentration (12 km, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Top_Temp_Night</dc:identifier>
- <dc:title>Cloud Top Temperature (Night, MODIS, Terra)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MEaSUREs_Daily_Landscape_Freeze_Thaw_SSMI</dc:identifier>
- <dc:title>Freeze Thaw (Daily Landscape, SSMI, MEaSUREs)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-OSM_Land_Water_Map</dc:identifier>
+ <dc:title>Land Water Map (OSM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-AMSR2_Surface_Precipitation_Rate_Day</dc:identifier>
<dc:title>Surface Precipitation Rate (Day, AMSR2, GCOM-W1)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_RelativeHumidity_400hPa_Day</dc:identifier>
- <dc:title>Relative Humidity (400 hPa, Day, AIRS, Aqua)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Aerosol</dc:identifier>
- <dc:title>Aerosol Optical Depth (MODIS, Terra)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-SRTM_Color_Index</dc:identifier>
<dc:title>Digital Elevation Model (Color Index, SRTM)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MLS_O3_46hPa_Night</dc:identifier>
- <dc:title>Ozone (46 hPa, Night, MLS, Aura)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_CRE_Net_Flux_Monthly</dc:identifier>
+ <dc:title>TOA CRE Net Flux (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-AIRS_Dust_Score_Ocean_Night</dc:identifier>
@@ -917,72 +1477,40 @@
<dc:title>Corrected Reflectance (True Color, CONUS Annual, Landsat)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Brightness_Temp_Band31_Day</dc:identifier>
- <dc:title>Brightness Temperature (Band31, Day, MODIS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-SSMI_DMSP_F17_Rain_Rate_Over_Oceans_Descending</dc:identifier>
+ <dc:title>Rain Rate (Descending, DMSP-F17 / SSMIS)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Wind_Speed_Night</dc:identifier>
- <dc:title>Wind Speed (Night, AMSR2, GCOM-W1)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Cloud_Effective_Radius_37</dc:identifier>
+ <dc:title>Cloud Effective Radius (3.7 micron, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-SMAP_L4_Soil_Temperature_Layer_1</dc:identifier>
- <dc:title>Surface Soil Temperature (L4, 12z Instantaneous, Model Value-Added, SMAP)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_Surface_CRE_Net_Longwave_Flux_Monthly</dc:identifier>
+ <dc:title>Surface CRE Net Longwave Flux (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-ASTER_GDEM_Greyscale_Shaded_Relief</dc:identifier>
<dc:title>Digital Elevation Model (Greyscale Shaded Relief, ASTER, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AMSR2_Surface_Rain_Rate_Night</dc:identifier>
- <dc:title>Surface Rain Rate (Night, AMSR2, GCOM-W1)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Prata_SO2_Index_Day</dc:identifier>
- <dc:title>Sulfur Dioxide (Prata, Day, AIRS, Aqua)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Brightness_Temp_Band31_Night</dc:identifier>
- <dc:title>Brightness Temperature (Band31, Night, MODIS, Aqua)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-MLS_SO2_147hPa_Night</dc:identifier>
<dc:title>Sulfur Dioxide (147 hPa, Night, MLS, Aura)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_SurfaceReflectance_Bands121</dc:identifier>
- <dc:title>Land Surface Reflectance (Bands 1-2-1, MODIS, Aqua)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Land_Surface_Temp_Night</dc:identifier>
- <dc:title>Land Surface Temperature (Night, MODIS, Aqua)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Dust_Score_Ocean_Day</dc:identifier>
- <dc:title>Dust Score Ocean (Day, AIRS, Aqua)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_500hPa_Day</dc:identifier>
- <dc:title>Air Temperature (500 hPa, Day, AIRS, Aqua)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Sea_Ice</dc:identifier>
- <dc:title>Sea Ice Extent (MODIS, Aqua)</dc:title>
- </csw:BriefRecord>
- <csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-AIRS_Temperature_850hPa_Day</dc:identifier>
- <dc:title>Air Temperature (850 hPa, Day, AIRS, Aqua)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Water_Path_PCL</dc:identifier>
+ <dc:title>Cloud Water Path (PCL, MODIS, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
<dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Data_No_Data</dc:identifier>
<dc:title>Data/No Data Mask (MODIS, Aqua)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-MODIS_Terra_Cloud_Water_Path_PCL</dc:identifier>
- <dc:title>Cloud Water Path (PCL, MODIS, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-CERES_EBAF_TOA_Incoming_Solar_Flux_Monthly</dc:identifier>
+ <dc:title>Incoming Solar Flux (Monthly, CERES, Terra)</dc:title>
</csw:BriefRecord>
<csw:BriefRecord>
- <dc:identifier>PYCSW_IDENTIFIER-ASTER_GDEM_Color_Shaded_Relief</dc:identifier>
- <dc:title>Digital Elevation Model (Color Shaded Relief, ASTER, Terra)</dc:title>
+ <dc:identifier>PYCSW_IDENTIFIER-MODIS_Aqua_Water_Vapor_5km_Night</dc:identifier>
+ <dc:title>Water Vapor Infrared (Night, MODIS, Aqua)</dc:title>
</csw:BriefRecord>
</csw:InsertResult>
</csw:TransactionResponse>
diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml
index 26a3423..350b511 100644
--- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml
+++ b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml
@@ -31,7 +31,7 @@
<dc:subject>reference implementation</dc:subject>
<dc:format>CSW</dc:format>
<dct:references scheme="OGC:CSW">http://demo.pycsw.org/cite/csw</dct:references>
- <dct:abstract>pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. Since 2015, pycsw is an official OSGeo Project. pycsw allows for the publishing and discovery of geospatial metadata via numerous APIs (CSW 2/CS [...]
+ <dct:abstract>pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. Since 2015, pycsw is an official OSGeo Project. pycsw allows for the publishing and discovery of [[geospatial]] metadata via numerous APIs (CSW 2 [...]
<dc:creator>Lastname, Firstname</dc:creator>
<dc:publisher>Organization Name</dc:publisher>
<dc:contributor>Lastname, Firstname</dc:contributor>
@@ -72,6 +72,7 @@
<dc:contributor>Eric Bridger</dc:contributor>
<dc:source>http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi</dc:source>
<dc:rights>NONE</dc:rights>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>40.58 -73.73</ows:LowerCorner>
<ows:UpperCorner>47.79 -54.05</ows:UpperCorner>
@@ -95,6 +96,7 @@
<dc:contributor>Boyan Brodaric</dc:contributor>
<dc:source>http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw</dc:source>
<dc:rights>NONE</dc:rights>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>41.0 -120.0</ows:LowerCorner>
<ows:UpperCorner>60.0 -60.0</ows:UpperCorner>
@@ -116,6 +118,7 @@
<dc:rights>
NONE
</dc:rights>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>41.03 -97.71</ows:LowerCorner>
<ows:UpperCorner>49.67 -80.68</ows:UpperCorner>
diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml
index f5af507..da7d580 100644
--- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml
+++ b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml
@@ -21,6 +21,7 @@
<dc:contributor>Boyan Brodaric</dc:contributor>
<dc:source>http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw</dc:source>
<dc:rights>NONE</dc:rights>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>41.0 -120.0</ows:LowerCorner>
<ows:UpperCorner>60.0 -60.0</ows:UpperCorner>
diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml
index 8523426..47a3ac2 100644
--- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml
+++ b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml
@@ -37,6 +37,7 @@
<dc:contributor>Eric Bridger</dc:contributor>
<dc:source>http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi</dc:source>
<dc:rights>NONE</dc:rights>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>40.58 -73.73</ows:LowerCorner>
<ows:UpperCorner>47.79 -54.05</ows:UpperCorner>
@@ -60,6 +61,7 @@
<dc:contributor>Boyan Brodaric</dc:contributor>
<dc:source>http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw</dc:source>
<dc:rights>NONE</dc:rights>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>41.0 -120.0</ows:LowerCorner>
<ows:UpperCorner>60.0 -60.0</ows:UpperCorner>
diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml
index 42e9a1d..89b1cfb 100644
--- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml
+++ b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml
@@ -80,6 +80,7 @@
<dc:contributor>Daryl Herzmann</dc:contributor>
<dc:source>http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi</dc:source>
<dc:rights>None</dc:rights>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>24.0 -126.0</ows:LowerCorner>
<ows:UpperCorner>50.0 -66.0</ows:UpperCorner>
diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml
index 2baa6c8..bc8c4c8 100644
--- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml
+++ b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml
@@ -1103,7 +1103,7 @@
</gmd:address>
<gmd:onlineResource>
<gmd:linkage>
- <gmd:URL>http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?</gmd:URL>
+ <gmd:URL>https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?</gmd:URL>
</gmd:linkage>
</gmd:onlineResource>
</gmd:CI_Contact>
diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml
index 1bc09e7..9b6b464 100644
--- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml
+++ b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml
@@ -11,6 +11,7 @@
<dct:references scheme="OGC:WMS">http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi</dct:references>
<dct:references scheme="WWW:LINK-1.0-http--image-thumbnail">http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200</dct:references>
<dc:source>http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi</dc:source>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>24.0 -126.0</ows:LowerCorner>
<ows:UpperCorner>50.0 -66.0</ows:UpperCorner>
@@ -24,6 +25,7 @@
<dct:references scheme="OGC:WMS">http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi</dct:references>
<dct:references scheme="WWW:LINK-1.0-http--image-thumbnail">http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200</dct:references>
<dc:source>http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi</dc:source>
+ <dct:spatial scheme="http://www.opengis.net/def/crs">urn:ogc:def:crs:EPSG:6.11:4326</dct:spatial>
<ows:BoundingBox crs="urn:x-ogc:def:crs:EPSG:6.11:4326" dimensions="2">
<ows:LowerCorner>24.0 -126.0</ows:LowerCorner>
<ows:UpperCorner>50.0 -66.0</ows:UpperCorner>
diff --git a/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml b/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml
index d3d1755..77b76ef 100644
--- a/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml
+++ b/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml
@@ -4,6 +4,6 @@
<csw:TransactionSummary>
<csw:totalInserted>0</csw:totalInserted>
<csw:totalUpdated>0</csw:totalUpdated>
- <csw:totalDeleted>346</csw:totalDeleted>
+ <csw:totalDeleted>478</csw:totalDeleted>
</csw:TransactionSummary>
</csw:TransactionResponse>
diff --git a/tests/expected/suites_manager_post_GetCapabilities.xml b/tests/expected/suites_manager_post_GetCapabilities.xml
index 02d588e..7b88658 100644
--- a/tests/expected/suites_manager_post_GetCapabilities.xml
+++ b/tests/expected/suites_manager_post_GetCapabilities.xml
@@ -171,7 +171,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
<ows:Constraint name="SupportedISOQueryables">
diff --git a/tests/expected/suites_utf-8_post_GetCapabilities.xml b/tests/expected/suites_utf-8_post_GetCapabilities.xml
index 094ce11..4df1e48 100644
--- a/tests/expected/suites_utf-8_post_GetCapabilities.xml
+++ b/tests/expected/suites_utf-8_post_GetCapabilities.xml
@@ -150,7 +150,9 @@
<ows:Value>dc:title</ows:Value>
<ows:Value>dc:type</ows:Value>
<ows:Value>dct:abstract</ows:Value>
+ <ows:Value>dct:alternative</ows:Value>
<ows:Value>dct:modified</ows:Value>
+ <ows:Value>dct:spatial</ows:Value>
<ows:Value>ows:BoundingBox</ows:Value>
</ows:Constraint>
</ows:Operation>
diff --git a/tests/index.html b/tests/index.html
index 50f6651..18155ec 100644
--- a/tests/index.html
+++ b/tests/index.html
@@ -351,11 +351,11 @@
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f">GetRepositoryItem</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND">Exception-GetRepositoryItem-notfound</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities">002258f0-627f-457f-b2ad-025777c77ac8</a></li>
-<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=">045c600d-973d-41eb-9f60-eba1b717b720</a></li>
+<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=">045c600d-973d-41eb-9f60-eba1b717b720</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0">0bbcf862-5211-4351-9988-63f8bec49c98</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg">0bdf8457-971e-4ed1-be4a-5feca4dcd8fa</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0">0d8bbdec-0846-42ca-8dc8-b7f4cba41d67</a></li>
-<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=">0e1dca37-477a-4060-99fe-7799b52d656c</a></li>
+<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=">0e1dca37-477a-4060-99fe-7799b52d656c</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0">13c87956-51a4-4780-a8e9-6e0b5c0bb473</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW">151d982f-ebd3-4cb2-b507-a667713a1e92</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities">1869e495-1a61-4713-8285-76d1336ee1a6</a></li>
@@ -378,7 +378,7 @@
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW">5e9e67dc-18d6-4645-8111-c6263c88a61f</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0">604d9379-741c-42e5-b4cf-92e56c87fa64</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0">60e6af95-d5fc-465a-82e2-fd2e6d85e4af</a></li>
-<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a">62ad94c2-b558-4265-a427-23d6677975d6</a></li>
+<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a">62ad94c2-b558-4265-a427-23d6677975d6</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0">6a5e247b-0961-4b8a-a0d6-35a491d9cfe7</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg">6a9d0558-9d87-495b-b999-b49a3ef1cf99</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=">6bd790c9-6019-4652-9c91-330a894d6700</a></li>
@@ -400,7 +400,7 @@
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0">ad0c0571-09ed-436a-9a4f-a5de744c88fe</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180">af502903-f4ee-47ee-b76e-af878d238bcc</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17">b2aafc3f-4f35-47bc-affd-08590972deae</a></li>
-<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=3&maxrecords=4&recordids=">b6069623-f7d8-4021-8582-98f0aea0f763</a></li>
+<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids=">b6069623-f7d8-4021-8582-98f0aea0f763</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944">b9a07a54-75a8-45bd-b341-2823600211e3</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW">baa4a7d0-0c01-42b6-adc3-0d03e9949fa3</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0">bfbe6409-f64a-4c89-acb3-50f260a5c743</a></li>
@@ -411,8 +411,8 @@
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a">d4ccbf96-a529-480e-a53d-5b88dc1dea7f</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=">d94c801a-1207-4897-b84a-53f3a192515b</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0">da859e34-91fc-495a-8c09-285a40c0900b</a></li>
-<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=">dc246fb8-5af5-4fda-82bb-c18b3ecd439c</a></li>
-<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63">de016645-6d5c-4855-943c-2db07ae9f49a</a></li>
+<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=">dc246fb8-5af5-4fda-82bb-c18b3ecd439c</a></li>
+<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63">de016645-6d5c-4855-943c-2db07ae9f49a</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0">dff3ec6b-bb2d-4887-bd17-8fcf15def042</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0">e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b</a></li>
<li><a href="../csw.py?config=tests/suites/csw30/default.cfg">e67ca935-d65d-4d8c-8302-1405333dded0</a></li>
@@ -428,7 +428,11 @@
<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO">GetRecords-sortby-invalid-order</a></li>
<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C% [...]
<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27">GetRecords-filter-cql-title</a></li>
+<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27">GetRecords-filter-cql-title-with-spaces</a></li>
<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27">GetRecords-filter-cql-title-or-abstract</a></li>
+<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27">GetRecords-filter-cql-title-with-spaces-or-abstract</a></li>
+<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27">GetRecords-filter-cql-title-or-abstract-with-spaces</a></li>
+<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27">GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces</a></li>
<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords=">GetRecords-empty-maxrecords</a></li>
<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63">GetRepositoryItem</a></li>
<li><a href="../csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND">Exception-GetRepositoryItem-notfound</a></li>
diff --git a/tests/run_tests.py b/tests/run_tests.py
index bae2e4b..5ab6912 100644
--- a/tests/run_tests.py
+++ b/tests/run_tests.py
@@ -67,9 +67,9 @@ def test_xml_result(result, expected, encoding=ENCODING):
Parameters
----------
- result: str
+ result: bytes
The result of running the test.
- expected: str
+ expected: bytes
The expected outcome.
Returns
@@ -94,7 +94,7 @@ def test_xml_result(result, expected, encoding=ENCODING):
try:
result_element = etree.fromstring(result)
- expected_element = etree.fromstring(expected.encode(encoding))
+ expected_element = etree.fromstring(expected)
result_buffer = BytesIO()
result_tree = result_element.getroottree()
objectify.deannotate(result_tree, cleanup_namespaces=True)
@@ -121,9 +121,9 @@ def test_json_result(result, expected, encoding=ENCODING):
Parameters
----------
- result: str
+ result: bytes
The result of running the test.
- expected: str
+ expected: bytes
The expected outcome.
Returns
@@ -134,8 +134,8 @@ def test_json_result(result, expected, encoding=ENCODING):
"""
try:
- result_dict = json.loads(result.decode(encoding), encoding=encoding)
- expected_dict = json.loads(expected, encoding=encoding)
+ result_dict = json.loads(result.decode(encoding))
+ expected_dict = json.loads(expected.decode(encoding))
except ValueError:
matches = None
else:
@@ -153,9 +153,9 @@ def get_validity(expected_path, result, output_file_name, force_id_mask=False):
Parameters
----------
- expected_path: str
+ expected_path: bytes
The path to the file that has the expected test outcome
- result: str
+ result: bytes
The actual result that was generated by running the test code
output_file_name: str
Name of the file that will be written to disk with the contents of
@@ -179,11 +179,11 @@ def get_validity(expected_path, result, output_file_name, force_id_mask=False):
normalized_result = normalize(result, force_id_mask=force_id_mask)
if not os.path.exists(expected_path): # create expected file
- with codecs.open(expected_path, 'w', encoding=ENCODING) as f:
+ with open(expected_path, 'wb') as f:
f.write(normalized_result)
status = 0
else: # compare result with expected
- with codecs.open(expected_path, encoding=ENCODING) as expected_fh:
+ with open(expected_path, 'rb') as expected_fh:
expected = expected_fh.read()
matches_expected = test_xml_result(normalized_result, expected)
if matches_expected is None:
@@ -204,7 +204,7 @@ def get_validity(expected_path, result, output_file_name, force_id_mask=False):
def pedantic_get_validity(sexpected, sresult, soutfile, force_id_mask=False):
"""Decipher whether the output passes, fails, or initializes"""
if not os.path.exists(sexpected): # create expected file
- with open(sexpected, 'w') as f:
+ with open(sexpected, 'wb') as f:
f.write(normalize(sresult, force_id_mask))
sstatus = 0
else: # compare result with expected
@@ -217,9 +217,8 @@ def pedantic_get_validity(sexpected, sresult, soutfile, force_id_mask=False):
sstatus = 1
else: # fail
import difflib
- with codecs.open(sexpected, encoding=ENCODING) as a:
- with codecs.open('results%s%s' % (os.sep, soutfile),
- encoding=ENCODING) as b:
+ with open(sexpected, 'rb') as a:
+ with open('results%s%s' % (os.sep, soutfile), 'rb') as b:
a2 = a.readlines()
b2 = b.readlines()
diff = difflib.unified_diff(a2, b2)
@@ -445,6 +444,9 @@ for testsuite in TESTSUITES_LIST:
if os.path.splitext(sfile)[1] not in ['.xml', '.txt']:
break
+ if os.path.basename(root) == "exports":
+ continue
+
if sfile == 'requests.txt': # GET requests
filename = '%s%s%s' % (root, os.sep, sfile)
with open(filename) as f:
@@ -515,8 +517,8 @@ for testsuite in TESTSUITES_LIST:
print('\n test %s' % testfile)
# read test
- with codecs.open(testfile, encoding=ENCODING) as fh:
- request = fh.read().encode(ENCODING)
+ with open(testfile, 'rb') as fh:
+ request = fh.read()
configkvp = 'config=tests%s%s' % (os.sep, cfg)
url2 = '%s?%s' % (URL, configkvp)
diff --git a/tests/suites/csw30/get/requests.txt b/tests/suites/csw30/get/requests.txt
index a6df261..d93dd98 100644
--- a/tests/suites/csw30/get/requests.txt
+++ b/tests/suites/csw30/get/requests.txt
@@ -12,11 +12,11 @@ OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=o
GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f
Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND
002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities
-045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=
+045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=
0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg
0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0
-0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=
+0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=
13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW
1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities
@@ -39,7 +39,7 @@ Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/defa
5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW
604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0
-62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a
+62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a
6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg
6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=
@@ -50,18 +50,18 @@ Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/defa
8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0
-8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=
+8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=
9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW
91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0
a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0
-abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=
+abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=
ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0
af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=
-b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=
-b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=3&maxrecords=4&recordids=
+b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=
+b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids=
b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW
bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
@@ -72,8 +72,8 @@ d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/defa
d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a
d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=
da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0
-dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=
-de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63
+dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=
+de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63
dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0
e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0
e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg
diff --git a/tests/suites/default/get/requests.txt b/tests/suites/default/get/requests.txt
index 97daa7a..ee36867 100644
--- a/tests/suites/default/get/requests.txt
+++ b/tests/suites/default/get/requests.txt
@@ -7,7 +7,11 @@ GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/
GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO
GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E
GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27
+GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27
GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27
+GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27
+GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27
+GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27
GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords=
GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63
Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pycsw.git
More information about the Pkg-grass-devel
mailing list