Exemple #1
0
    def test_bad_format(self):
        """ Test exception for invalid sid format.

        """
        sids = ("13967",)  # missing type code
        with self.assertRaises(ValueError) as context:
            decode_sids(sids)
        message = "invalid SID: 13967"
        self.assertEqual(message, str(context.exception))
        return
Exemple #2
0
    def test(self):
        """ Test normal operation.

        """
        encoded = ("13967 1", "346661 2", "346664 2", "A123 9999")
        decoded = {
            "WBAN": ["13967"], 
            "COOP": ["346661", "346664"], 
            9999: ["A123"]}
        self.assertDictEqual(decoded, decode_sids(encoded))
        return
Exemple #3
0
"""
*** Utility Functions ***

The decode_sids function can be used to interpret the "sids" metadata field.
This example will find all CoCoRaHS sites in Cleveland County, OK. 

"""
print "EXAMPLE 11\n"
request = acis.StnMetaRequest()
request.location(county="40027")
request.metadata("sids", "name")
result = acis.StnMetaResult(request.submit())
for site in result.meta.values():
    try:
        sid = acis.decode_sids(site["sids"])["CoCoRaHS"][0]  # use first ID
    except KeyError:  # no CoCoRaHS id(s)
        continue
    print "{0:s}: {1:s}".format(sid, site["name"])
print "-"*40


"""
The result_array function converts a StnDataResult or MultiStnDataResult to a
numpy record array (numpy library required). This result will retrieve the
max temperature for multiple sites and multiple dates and sort the output by
date.

"""
print "EXAMPLE 12\n"
request = acis.MultiStnDataRequest()