{"action":"created","comment":{"url":"https://api.github.com/repos/landlab/landlab/pulls/comments/211315454","pull_request_review_id":147710027,"id":211315454,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMTMxNTQ1NA==","diff_hunk":"@@ -0,0 +1,2149 @@\n+#!/usr/env/python\n+\n+\"\"\"\n+lake_fill_barnes.py\n+\n+Fill sinks in a landscape to the brim, following the Barnes et al. (2014)\n+algorithms.\n+\"\"\"\n+\n+from __future__ import print_function\n+\n+from warnings import warn\n+\n+from landlab import FieldError, Component, BAD_INDEX_VALUE\n+from landlab import RasterModelGrid, VoronoiDelaunayGrid  # for type tests\n+from landlab.utils.return_array import return_array_at_node\n+from landlab.core.messages import warning_message\n+\n+from landlab import FIXED_VALUE_BOUNDARY, FIXED_GRADIENT_BOUNDARY\n+from landlab import CLOSED_BOUNDARY, CORE_NODE\n+from landlab.components import FlowDirectorSteepest, FlowAccumulator\n+# ^ this simply in case Katy updates to add more fields, that we would also\n+# need to update...\n+from collections import deque\n+import six\n+import numpy as np\n+import heapq\n+import itertools\n+\n+LOCAL_BAD_INDEX_VALUE = BAD_INDEX_VALUE\n+LARGE_ELEV = 9999999999.\n+\n+# TODO: Needs to have rerouting functionality...\n+\n+\n+class StablePriorityQueue():\n+    \"\"\"\n+    Implements a stable priority queue, that tracks insertion order; i.e., this\n+    is used to break ties.\n+\n+    See https://docs.python.org/2/library/heapq.html#priority-queue-implementation-notes\n+    & https://www.sciencedirect.com/science/article/pii/S0098300413001337\n+    \"\"\"\n+    def __init__(self):\n+        self._pq = []                          # list of entries as a heap\n+        self._entry_finder = {}                # mapping of tasks to entries\n+        self._REMOVED = BAD_INDEX_VALUE        # placeholder for a removed task\n+        self._counter = itertools.count()      # unique sequence count\n+        self._tasks_ever_in_queue = deque([])\n+        # last one tracks all nodes that have ever been added\n+\n+    def add_task(self, task, priority=0):\n+        \"Add a new task or update the priority of an existing task\"\n+        if task in self._entry_finder:\n+            self.remove_task(task)\n+        count = next(self._counter)\n+        entry = [priority, count, task]\n+        self._entry_finder[task] = entry\n+        heapq.heappush(self._pq, entry)\n+        self._tasks_ever_in_queue.append(task)\n+\n+    def remove_task(self, task):\n+        \"Mark an existing task as _REMOVED.  Raise KeyError if not found.\"\n+        entry = self._entry_finder.pop(task)\n+        entry[-1] = self._REMOVED\n+\n+    def pop_task(self):\n+        \"Remove and return the lowest priority task. Raise KeyError if empty.\"\n+        while self._pq:\n+            priority, count, task = heapq.heappop(self._pq)\n+            if task is not self._REMOVED:\n+                del self._entry_finder[task]\n+                return task\n+        raise KeyError('pop from an empty priority queue')\n+\n+    def peek_at_task(self):\n+        \"\"\"\n+        Return the lowest priority task without removal. Raise KeyError if\n+        empty.\n+        \"\"\"\n+        while self._pq:\n+            priority, count, task = self._pq[0]\n+            if task is not self._REMOVED:\n+                return task\n+        raise KeyError('peeked at an empty priority queue')\n+\n+    def tasks_currently_in_queue(self):\n+        \"Return array of nodes currently in the queue.\"\n+        mynodes = [task for (priority, count, task) in self._pq]\n+        return np.array(mynodes)\n+\n+    def tasks_ever_in_queue(self):\n+        \"\"\"\n+        Return array of all nodes ever added to this queue object. Repeats\n+        are permitted.\n+        \"\"\"\n+        return np.array(self._tasks_ever_in_queue)\n+\n+\n+def _fill_one_node_to_flat(fill_surface, all_neighbors,\n+                           pitq, openq, closedq, dummy):\n+    \"\"\"\n+    Implements the Barnes et al. algorithm for a simple fill. Assumes the\n+    _open and _closed lists have already been updated per Barnes algos 2&3,\n+    lns 1-7.\n+\n+    Parameters\n+    ----------\n+    fill_surface : 1-D array of length nnodes\n+        The surface to fill in LL node order. Modified in place.\n+    all_neighbors : (nnodes, max_nneighbours) array\n+        Adjacent nodes at each node.\n+    pitq : heap queue (i.e., a structured list)\n+        Current nodes known to be in a lake, if already identified.\n+    openq : StablePriorityQueue object\n+        Ordered queue of nodes remaining to be checked out by the algorithm\n+        that are known not to be in a lake.\n+    closedq : 1-D boolean array of length nnodes\n+        Nodes already or not to be explored by the algorithm.\n+    dummy : any Python object\n+        Necessary for direct comparison with _fill_one_node_to_slant.\n+\n+    Examples\n+    --------\n+    >>> import numpy as np\n+    >>> from landlab import RasterModelGrid, CLOSED_BOUNDARY\n+    >>> mg = RasterModelGrid((5, 6), 1.)\n+    >>> for edge in ('left', 'top', 'bottom'):\n+    ...     mg.status_at_node[mg.nodes_at_edge(edge)] = CLOSED_BOUNDARY\n+    >>> z = mg.zeros('node', dtype=float)\n+    >>> z.reshape(mg.shape)[2, 1:-1] = [2., 1., 0.5, 1.5]\n+    >>> z.reshape(mg.shape)[1, 1:-1] = [2.1, 1.1, 0.6, 1.6]\n+    >>> z.reshape(mg.shape)[3, 1:-1] = [2.2, 1.2, 0.7, 1.7]\n+    >>> zw = z.copy()\n+    >>> openq = StablePriorityQueue()\n+    >>> pitq = []\n+    >>> closedq = mg.zeros('node', dtype=bool)\n+    >>> closedq[mg.status_at_node == CLOSED_BOUNDARY] = True\n+    >>> edges = np.array([11, 17, 23])\n+    >>> for edgenode in edges:\n+    ...     openq.add_task(edgenode, priority=z[edgenode])\n+    >>> closedq[edges] = True\n+    >>> while True:\n+    ...     try:\n+    ...         _fill_one_node_to_flat(zw, mg.adjacent_nodes_at_node,\n+    ...                                pitq, openq, closedq, None)\n+    ...     except KeyError:\n+    ...         break\n+\n+    Now check the values make sense.\n+\n+    >>> lake = np.array([False, False, False, False, False, False,\n+    ...                  False, False,  True,  True, False, False,\n+    ...                  False, False,  True,  True, False, False,\n+    ...                  False, False,  True,  True, False, False,\n+    ...                  False, False, False, False, False, False])\n+    >>> np.allclose(zw[lake], z[16])\n+    True\n+    >>> np.all(np.greater(zw[lake], z[lake]))\n+    True\n+    >>> np.allclose(zw[np.logical_not(lake)], z[np.logical_not(lake)])\n+    True\n+    \"\"\"\n+    try:\n+        c = heapq.heappop(pitq)\n+    except IndexError:\n+        c = openq.pop_task()\n+        # this will raise a KeyError once it's exhausted both queues\n+    cneighbors = all_neighbors[c]\n+    openneighbors = cneighbors[\n+        np.logical_not(closedq[cneighbors])]  # for efficiency\n+    closedq[openneighbors] = True\n+    for n in openneighbors:\n+        if fill_surface[n] <= fill_surface[c]:\n+            fill_surface[n] = fill_surface[c]\n+            heapq.heappush(pitq, n)\n+        else:\n+            openq.add_task(n, priority=fill_surface[n])\n+\n+\n+class LakeMapperBarnes(Component):\n+    \"\"\"\n+    A Landlab implementation of the Barnes et al. (2014) lake filling & lake\n+    routing algorithms, lightly modified and adapted for Landlab by DEJH. This\n+    component is designed as a direct replacement for the LakeMapper as\n+    existing pre-Aug 2018, and provides a suite of properties to access\n+    information about the lakes created each time it is run.\n+","path":"landlab/components/lake_fill/lake_fill_barnes.py","position":125,"original_position":188,"commit_id":"7bfd92d350003ab4c90c30ffffd70114459cae6e","original_commit_id":"5b3d91afbc02b8a7c3a84b8573d306955276c774","user":{"login":"SiccarPoint","id":6867260,"node_id":"MDQ6VXNlcjY4NjcyNjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6867260?v=4","gravatar_id":"","url":"https://api.github.com/users/SiccarPoint","html_url":"https://github.com/SiccarPoint","followers_url":"https://api.github.com/users/SiccarPoint/followers","following_url":"https://api.github.com/users/SiccarPoint/following{/other_user}","gists_url":"https://api.github.com/users/SiccarPoint/gists{/gist_id}","starred_url":"https://api.github.com/users/SiccarPoint/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SiccarPoint/subscriptions","organizations_url":"https://api.github.com/users/SiccarPoint/orgs","repos_url":"https://api.github.com/users/SiccarPoint/repos","events_url":"https://api.github.com/users/SiccarPoint/events{/privacy}","received_events_url":"https://api.github.com/users/SiccarPoint/received_events","type":"User","site_admin":false},"body":"Resolved","created_at":"2018-08-20T15:56:41Z","updated_at":"2018-08-20T15:56:41Z","html_url":"https://github.com/landlab/landlab/pull/770#discussion_r211315454","pull_request_url":"https://api.github.com/repos/landlab/landlab/pulls/770","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/landlab/landlab/pulls/comments/211315454"},"html":{"href":"https://github.com/landlab/landlab/pull/770#discussion_r211315454"},"pull_request":{"href":"https://api.github.com/repos/landlab/landlab/pulls/770"}},"in_reply_to_id":210644706},"pull_request":{"url":"https://api.github.com/repos/landlab/landlab/pulls/770","id":205440569,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA1NDQwNTY5","html_url":"https://github.com/landlab/landlab/pull/770","diff_url":"https://github.com/landlab/landlab/pull/770.diff","patch_url":"https://github.com/landlab/landlab/pull/770.patch","issue_url":"https://api.github.com/repos/landlab/landlab/issues/770","number":770,"state":"open","locked":false,"title":"SiccarPoint/lake filling with flux","user":{"login":"SiccarPoint","id":6867260,"node_id":"MDQ6VXNlcjY4NjcyNjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6867260?v=4","gravatar_id":"","url":"https://api.github.com/users/SiccarPoint","html_url":"https://github.com/SiccarPoint","followers_url":"https://api.github.com/users/SiccarPoint/followers","following_url":"https://api.github.com/users/SiccarPoint/following{/other_user}","gists_url":"https://api.github.com/users/SiccarPoint/gists{/gist_id}","starred_url":"https://api.github.com/users/SiccarPoint/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SiccarPoint/subscriptions","organizations_url":"https://api.github.com/users/SiccarPoint/orgs","repos_url":"https://api.github.com/users/SiccarPoint/repos","events_url":"https://api.github.com/users/SiccarPoint/events{/privacy}","received_events_url":"https://api.github.com/users/SiccarPoint/received_events","type":"User","site_admin":false},"body":"This PR implements the Barnes lake filling algorithms in LL as a new component. This should be inwardly compatible with @kbarnhart ’s work on the accumulators, but is also designed as a standalone. Its form mirrors that of the existing LakeMapper, with the intent that we might substitute this in later. Tests should be pretty robust, covering almost all of the code somewhere.\n\nDoc updates included in PR.","created_at":"2018-08-01T14:16:41Z","updated_at":"2018-08-20T15:56:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6bf281ea6993f69d7949ea1d2d43eeddb1f3521c","assignee":null,"assignees":[],"requested_reviewers":[{"login":"mcflugen","id":6618196,"node_id":"MDQ6VXNlcjY2MTgxOTY=","avatar_url":"https://avatars1.githubusercontent.com/u/6618196?v=4","gravatar_id":"","url":"https://api.github.com/users/mcflugen","html_url":"https://github.com/mcflugen","followers_url":"https://api.github.com/users/mcflugen/followers","following_url":"https://api.github.com/users/mcflugen/following{/other_user}","gists_url":"https://api.github.com/users/mcflugen/gists{/gist_id}","starred_url":"https://api.github.com/users/mcflugen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcflugen/subscriptions","organizations_url":"https://api.github.com/users/mcflugen/orgs","repos_url":"https://api.github.com/users/mcflugen/repos","events_url":"https://api.github.com/users/mcflugen/events{/privacy}","received_events_url":"https://api.github.com/users/mcflugen/received_events","type":"User","site_admin":false},{"login":"gregtucker","id":7528207,"node_id":"MDQ6VXNlcjc1MjgyMDc=","avatar_url":"https://avatars2.githubusercontent.com/u/7528207?v=4","gravatar_id":"","url":"https://api.github.com/users/gregtucker","html_url":"https://github.com/gregtucker","followers_url":"https://api.github.com/users/gregtucker/followers","following_url":"https://api.github.com/users/gregtucker/following{/other_user}","gists_url":"https://api.github.com/users/gregtucker/gists{/gist_id}","starred_url":"https://api.github.com/users/gregtucker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregtucker/subscriptions","organizations_url":"https://api.github.com/users/gregtucker/orgs","repos_url":"https://api.github.com/users/gregtucker/repos","events_url":"https://api.github.com/users/gregtucker/events{/privacy}","received_events_url":"https://api.github.com/users/gregtucker/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":98248248,"node_id":"MDU6TGFiZWw5ODI0ODI0OA==","url":"https://api.github.com/repos/landlab/landlab/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"milestone":null,"commits_url":"https://api.github.com/repos/landlab/landlab/pulls/770/commits","review_comments_url":"https://api.github.com/repos/landlab/landlab/pulls/770/comments","review_comment_url":"https://api.github.com/repos/landlab/landlab/pulls/comments{/number}","comments_url":"https://api.github.com/repos/landlab/landlab/issues/770/comments","statuses_url":"https://api.github.com/repos/landlab/landlab/statuses/7bfd92d350003ab4c90c30ffffd70114459cae6e","head":{"label":"landlab:SiccarPoint/lake-filling-with-flux","ref":"SiccarPoint/lake-filling-with-flux","sha":"7bfd92d350003ab4c90c30ffffd70114459cae6e","user":{"login":"landlab","id":7543483,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc1NDM0ODM=","avatar_url":"https://avatars1.githubusercontent.com/u/7543483?v=4","gravatar_id":"","url":"https://api.github.com/users/landlab","html_url":"https://github.com/landlab","followers_url":"https://api.github.com/users/landlab/followers","following_url":"https://api.github.com/users/landlab/following{/other_user}","gists_url":"https://api.github.com/users/landlab/gists{/gist_id}","starred_url":"https://api.github.com/users/landlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/landlab/subscriptions","organizations_url":"https://api.github.com/users/landlab/orgs","repos_url":"https://api.github.com/users/landlab/repos","events_url":"https://api.github.com/users/landlab/events{/privacy}","received_events_url":"https://api.github.com/users/landlab/received_events","type":"Organization","site_admin":false},"repo":{"id":19599383,"node_id":"MDEwOlJlcG9zaXRvcnkxOTU5OTM4Mw==","name":"landlab","full_name":"landlab/landlab","owner":{"login":"landlab","id":7543483,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc1NDM0ODM=","avatar_url":"https://avatars1.githubusercontent.com/u/7543483?v=4","gravatar_id":"","url":"https://api.github.com/users/landlab","html_url":"https://github.com/landlab","followers_url":"https://api.github.com/users/landlab/followers","following_url":"https://api.github.com/users/landlab/following{/other_user}","gists_url":"https://api.github.com/users/landlab/gists{/gist_id}","starred_url":"https://api.github.com/users/landlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/landlab/subscriptions","organizations_url":"https://api.github.com/users/landlab/orgs","repos_url":"https://api.github.com/users/landlab/repos","events_url":"https://api.github.com/users/landlab/events{/privacy}","received_events_url":"https://api.github.com/users/landlab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/landlab/landlab","description":"Landlab codebase, wiki, and tests","fork":false,"url":"https://api.github.com/repos/landlab/landlab","forks_url":"https://api.github.com/repos/landlab/landlab/forks","keys_url":"https://api.github.com/repos/landlab/landlab/keys{/key_id}","collaborators_url":"https://api.github.com/repos/landlab/landlab/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/landlab/landlab/teams","hooks_url":"https://api.github.com/repos/landlab/landlab/hooks","issue_events_url":"https://api.github.com/repos/landlab/landlab/issues/events{/number}","events_url":"https://api.github.com/repos/landlab/landlab/events","assignees_url":"https://api.github.com/repos/landlab/landlab/assignees{/user}","branches_url":"https://api.github.com/repos/landlab/landlab/branches{/branch}","tags_url":"https://api.github.com/repos/landlab/landlab/tags","blobs_url":"https://api.github.com/repos/landlab/landlab/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/landlab/landlab/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/landlab/landlab/git/refs{/sha}","trees_url":"https://api.github.com/repos/landlab/landlab/git/trees{/sha}","statuses_url":"https://api.github.com/repos/landlab/landlab/statuses/{sha}","languages_url":"https://api.github.com/repos/landlab/landlab/languages","stargazers_url":"https://api.github.com/repos/landlab/landlab/stargazers","contributors_url":"https://api.github.com/repos/landlab/landlab/contributors","subscribers_url":"https://api.github.com/repos/landlab/landlab/subscribers","subscription_url":"https://api.github.com/repos/landlab/landlab/subscription","commits_url":"https://api.github.com/repos/landlab/landlab/commits{/sha}","git_commits_url":"https://api.github.com/repos/landlab/landlab/git/commits{/sha}","comments_url":"https://api.github.com/repos/landlab/landlab/comments{/number}","issue_comment_url":"https://api.github.com/repos/landlab/landlab/issues/comments{/number}","contents_url":"https://api.github.com/repos/landlab/landlab/contents/{+path}","compare_url":"https://api.github.com/repos/landlab/landlab/compare/{base}...{head}","merges_url":"https://api.github.com/repos/landlab/landlab/merges","archive_url":"https://api.github.com/repos/landlab/landlab/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/landlab/landlab/downloads","issues_url":"https://api.github.com/repos/landlab/landlab/issues{/number}","pulls_url":"https://api.github.com/repos/landlab/landlab/pulls{/number}","milestones_url":"https://api.github.com/repos/landlab/landlab/milestones{/number}","notifications_url":"https://api.github.com/repos/landlab/landlab/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/landlab/landlab/labels{/name}","releases_url":"https://api.github.com/repos/landlab/landlab/releases{/id}","deployments_url":"https://api.github.com/repos/landlab/landlab/deployments","created_at":"2014-05-09T04:52:50Z","updated_at":"2018-08-17T19:11:47Z","pushed_at":"2018-08-20T15:40:07Z","git_url":"git://github.com/landlab/landlab.git","ssh_url":"git@github.com:landlab/landlab.git","clone_url":"https://github.com/landlab/landlab.git","svn_url":"https://github.com/landlab/landlab","homepage":"http://landlab.github.io","size":36030,"stargazers_count":110,"watchers_count":110,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":118,"mirror_url":null,"archived":false,"open_issues_count":211,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":118,"open_issues":211,"watchers":110,"default_branch":"master"}},"base":{"label":"landlab:master","ref":"master","sha":"14ba131db09e82e1e76566396e440a0bb048bd4d","user":{"login":"landlab","id":7543483,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc1NDM0ODM=","avatar_url":"https://avatars1.githubusercontent.com/u/7543483?v=4","gravatar_id":"","url":"https://api.github.com/users/landlab","html_url":"https://github.com/landlab","followers_url":"https://api.github.com/users/landlab/followers","following_url":"https://api.github.com/users/landlab/following{/other_user}","gists_url":"https://api.github.com/users/landlab/gists{/gist_id}","starred_url":"https://api.github.com/users/landlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/landlab/subscriptions","organizations_url":"https://api.github.com/users/landlab/orgs","repos_url":"https://api.github.com/users/landlab/repos","events_url":"https://api.github.com/users/landlab/events{/privacy}","received_events_url":"https://api.github.com/users/landlab/received_events","type":"Organization","site_admin":false},"repo":{"id":19599383,"node_id":"MDEwOlJlcG9zaXRvcnkxOTU5OTM4Mw==","name":"landlab","full_name":"landlab/landlab","owner":{"login":"landlab","id":7543483,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc1NDM0ODM=","avatar_url":"https://avatars1.githubusercontent.com/u/7543483?v=4","gravatar_id":"","url":"https://api.github.com/users/landlab","html_url":"https://github.com/landlab","followers_url":"https://api.github.com/users/landlab/followers","following_url":"https://api.github.com/users/landlab/following{/other_user}","gists_url":"https://api.github.com/users/landlab/gists{/gist_id}","starred_url":"https://api.github.com/users/landlab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/landlab/subscriptions","organizations_url":"https://api.github.com/users/landlab/orgs","repos_url":"https://api.github.com/users/landlab/repos","events_url":"https://api.github.com/users/landlab/events{/privacy}","received_events_url":"https://api.github.com/users/landlab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/landlab/landlab","description":"Landlab codebase, wiki, and tests","fork":false,"url":"https://api.github.com/repos/landlab/landlab","forks_url":"https://api.github.com/repos/landlab/landlab/forks","keys_url":"https://api.github.com/repos/landlab/landlab/keys{/key_id}","collaborators_url":"https://api.github.com/repos/landlab/landlab/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/landlab/landlab/teams","hooks_url":"https://api.github.com/repos/landlab/landlab/hooks","issue_events_url":"https://api.github.com/repos/landlab/landlab/issues/events{/number}","events_url":"https://api.github.com/repos/landlab/landlab/events","assignees_url":"https://api.github.com/repos/landlab/landlab/assignees{/user}","branches_url":"https://api.github.com/repos/landlab/landlab/branches{/branch}","tags_url":"https://api.github.com/repos/landlab/landlab/tags","blobs_url":"https://api.github.com/repos/landlab/landlab/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/landlab/landlab/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/landlab/landlab/git/refs{/sha}","trees_url":"https://api.github.com/repos/landlab/landlab/git/trees{/sha}","statuses_url":"https://api.github.com/repos/landlab/landlab/statuses/{sha}","languages_url":"https://api.github.com/repos/landlab/landlab/languages","stargazers_url":"https://api.github.com/repos/landlab/landlab/stargazers","contributors_url":"https://api.github.com/repos/landlab/landlab/contributors","subscribers_url":"https://api.github.com/repos/landlab/landlab/subscribers","subscription_url":"https://api.github.com/repos/landlab/landlab/subscription","commits_url":"https://api.github.com/repos/landlab/landlab/commits{/sha}","git_commits_url":"https://api.github.com/repos/landlab/landlab/git/commits{/sha}","comments_url":"https://api.github.com/repos/landlab/landlab/comments{/number}","issue_comment_url":"https://api.github.com/repos/landlab/landlab/issues/comments{/number}","contents_url":"https://api.github.com/repos/landlab/landlab/contents/{+path}","compare_url":"https://api.github.com/repos/landlab/landlab/compare/{base}...{head}","merges_url":"https://api.github.com/repos/landlab/landlab/merges","archive_url":"https://api.github.com/repos/landlab/landlab/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/landlab/landlab/downloads","issues_url":"https://api.github.com/repos/landlab/landlab/issues{/number}","pulls_url":"https://api.github.com/repos/landlab/landlab/pulls{/number}","milestones_url":"https://api.github.com/repos/landlab/landlab/milestones{/number}","notifications_url":"https://api.github.com/repos/landlab/landlab/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/landlab/landlab/labels{/name}","releases_url":"https://api.github.com/repos/landlab/landlab/releases{/id}","deployments_url":"https://api.github.com/repos/landlab/landlab/deployments","created_at":"2014-05-09T04:52:50Z","updated_at":"2018-08-17T19:11:47Z","pushed_at":"2018-08-20T15:40:07Z","git_url":"git://github.com/landlab/landlab.git","ssh_url":"git@github.com:landlab/landlab.git","clone_url":"https://github.com/landlab/landlab.git","svn_url":"https://github.com/landlab/landlab","homepage":"http://landlab.github.io","size":36030,"stargazers_count":110,"watchers_count":110,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":118,"mirror_url":null,"archived":false,"open_issues_count":211,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":118,"open_issues":211,"watchers":110,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/landlab/landlab/pulls/770"},"html":{"href":"https://github.com/landlab/landlab/pull/770"},"issue":{"href":"https://api.github.com/repos/landlab/landlab/issues/770"},"comments":{"href":"https://api.github.com/repos/landlab/landlab/issues/770/comments"},"review_comments":{"href":"https://api.github.com/repos/landlab/landlab/pulls/770/comments"},"review_comment":{"href":"https://api.github.com/repos/landlab/landlab/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/landlab/landlab/pulls/770/commits"},"statuses":{"href":"https://api.github.com/repos/landlab/landlab/statuses/7bfd92d350003ab4c90c30ffffd70114459cae6e"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"SiccarPoint"}}