GitHub PullRequestReviewCommentEvent at 2014-10-07 15:00:00
Repository: oq-hazardlib
Actor: g-weatherill
Payload: {"action":"created","comment":{"url":"https://api.github.com/repos/gem/oq-hazardlib/pulls/comments/18524712","id":18524712,"diff_hunk":"@@ -0,0 +1,328 @@\n+# The Hazard Library\n+# Copyright (C) 2012-2014, GEM Foundation\n+#\n+# This program is free software: you can redistribute it and/or modify\n+# it under the terms of the GNU Affero General Public License as\n+# published by the Free Software Foundation, either version 3 of the\n+# License, or (at your option) any later version.\n+#\n+# This program is distributed in the hope that it will be useful,\n+# but WITHOUT ANY WARRANTY; without even the implied warranty of\n+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+# GNU Affero General Public License for more details.\n+#\n+# You should have received a copy of the GNU Affero General Public License\n+# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n+\"\"\"\n+Module exports :class:`Bradley2013`, :class:`Bradley2013Volc`.\n+\"\"\"\n+from __future__ import division\n+\n+import numpy as np\n+\n+from openquake.hazardlib.gsim.base import GMPE, CoeffsTable\n+from openquake.hazardlib import const\n+from openquake.hazardlib.imt import PGA, SA\n+\n+\n+class Bradley2013(GMPE):\n+    \"\"\"\n+    Implements GMPE developed by Brendan Bradley for Active Shallow Crust\n+    Earthquakes for New Zealand, and published as \"A New Zealand-Specific\n+    Pseudospectral Acceleration Ground-Motion Prediction Equation for Active\n+    Shallow Crustal Earthquakes Based on Foreign Models\" (2013, Bulletin of\n+    the Seismological Society of America, Volume 103, No. 3, pages 1801-1822).\n+\n+    This model is modified from Chiou and Youngs, 2008 and has been adapted\n+    for New Zealand conditions. Specifically, the modifications are related to:\n+    1) small magnitude scaling;\n+    2) scaling of short period ground motion from normal faulting events in\n+       volcanic crust;\n+    3) scaling of ground motions on very hard rock sites;\n+    4) anelastic attenuation in the New Zealand crust;\n+    5) consideration of the increates anelastic attenuation in the Taupo\n+       Volcanic Zone (not implemented in this model, use Bradley2013Volc)\n+    \"\"\"\n+    #: Supported tectonic region type is active shallow crust, see page 1801\n+    DEFINED_FOR_TECTONIC_REGION_TYPE = const.TRT.ACTIVE_SHALLOW_CRUST\n+\n+    #: Supported intensity measure types are spectral acceleration,\n+    #: peak ground velocity and peak ground acceleration. Note that PGV is\n+    #: the Chiou & Youngs PGV and has not been modified for New Zealand.\n+    DEFINED_FOR_INTENSITY_MEASURE_TYPES = set([\n+        PGA,\n+        SA\n+    ])\n+\n+    #: Supported intensity measure component is geometric mean\n+    #: of two horizontal components\n+    #: attr:`~openquake.hazardlib.const.IMC.AVERAGE_HORIZONTAL`,\n+    #: see abstract page 1801.\n+    DEFINED_FOR_INTENSITY_MEASURE_COMPONENT = const.IMC.AVERAGE_HORIZONTAL\n+\n+    #: Supported standard deviation types are inter-event, intra-event\n+    #: and total, see chapter \"Variance model\".\n+    DEFINED_FOR_STANDARD_DEVIATION_TYPES = set([\n+        const.StdDev.TOTAL,\n+        const.StdDev.INTER_EVENT,\n+        const.StdDev.INTRA_EVENT\n+    ])\n+\n+    #: Required site parameters are Vs30 (eq. 13b), Vs30 measured flag (eq. 20)\n+    #: and Z1.0 (eq. 13b).\n+    REQUIRES_SITES_PARAMETERS = set(('vs30', 'vs30measured', 'z1pt0'))\n+\n+    #: Required rupture parameters are magnitude, rake (eq. 13a and 13b),\n+    #: dip (eq. 13a) and ztor (eq. 13a).\n+    REQUIRES_RUPTURE_PARAMETERS = set(('dip', 'rake', 'mag', 'ztor'))\n+\n+    #: Required distance measures are RRup, Rjb and Rx (all are in eq. 13a).\n+    REQUIRES_DISTANCES = set(('rrup', 'rjb', 'rx'))\n+\n+    def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):\n+        \"\"\"\n+        See :meth:`superclass method\n+        <.base.GroundShakingIntensityModel.get_mean_and_stddevs>`\n+        for spec of input and result values.\n+        \"\"\"\n+        # extracting dictionary of coefficients specific to required\n+        # intensity measure type.\n+        C = self.COEFFS[imt]\n+        # intensity on a reference soil is used for both mean\n+        # and stddev calculations.\n+        ln_y_ref = self._get_ln_y_ref(rup, dists, C)\n+        # exp1 and exp2 are parts of eq. 7\n+        exp1 = np.exp(C['phi3'] * (sites.vs30.clip(-np.inf, 1130) - 360))\n+        exp2 = np.exp(C['phi3'] * (1130 - 360))\n+        # V1 is the period dependent site term. The Vs30 above which, the\n+        # amplification is constant\n+        V1 = self._get_V1(imt)\n+\n+        mean = self._get_mean(sites, C, ln_y_ref, exp1, exp2, V1)\n+        stddevs = self._get_stddevs(sites, rup, C, stddev_types,\n+                                    ln_y_ref, exp1, exp2)\n+        return mean, stddevs\n+\n+    def _get_mean(self, sites, C, ln_y_ref, exp1, exp2, V1):\n+        \"\"\"\n+        Add site effects to an intensity.\n+\n+        Implements eq. 5\n+        \"\"\"\n+        # we do not support estimating of basin depth and instead\n+        # rely on it being available (since we require it).\n+        z1pt0 = sites.z1pt0\n+\n+        # we consider random variables being zero since we want\n+        # to find the exact mean value.\n+        eta = epsilon = 0\n+\n+        ln_y = (\n+            # first line of eq. 13b\n+            ln_y_ref + C['phi1'] *\n+            np.log(np.clip(sites.vs30, -np.inf, V1) / 1130)\n+            # second line\n+            + C['phi2'] * (exp1 - exp2)\n+            * np.log((np.exp(ln_y_ref) + C['phi4']) / C['phi4'])\n+            # third line\n+            + C['phi5']\n+            * (1.0 - 1.0 / np.cosh(\n+                C['phi6'] * (z1pt0 - C['phi7']).clip(0, np.inf)))\n+            + C['phi8'] / np.cosh(0.15 * (z1pt0 - 15).clip(0, np.inf))\n+            # fourth line\n+            + eta + epsilon\n+        )\n+\n+        return ln_y\n+\n+    def _get_stddevs(self, sites, rup, C, stddev_types, ln_y_ref, exp1, exp2):\n+        \"\"\"\n+        Get standard deviation for a given intensity on reference soil.\n+\n+        Implements equations 19, 20 and 21 of Chiou & Youngs, 2008 for\n+        inter-event, intra-event and total standard deviations respectively.\n+        This has not been modified for NZ conditions.\n+        \"\"\"\n+        # aftershock flag is zero, we consider only main shock.\n+        AS = 0\n+        Fmeasured = sites.vs30measured\n+        Finferred = 1 - sites.vs30measured\n+\n+        # eq. 19 to calculate inter-event standard error\n+        mag_test = min(max(rup.mag, 5.0), 7.0) - 5.0\n+        tau = C['tau1'] + (C['tau2'] - C['tau1']) / 2 * mag_test\n+\n+        # b and c coeffs from eq. 10\n+        b = C['phi2'] * (exp1 - exp2)\n+        c = C['phi4']\n+\n+        y_ref = np.exp(ln_y_ref)\n+        # eq. 20\n+        NL = b * y_ref / (y_ref + c)\n+        sigma = (\n+            # first line of eq. 20\n+            (C['sig1']\n+             + 0.5 * (C['sig2'] - C['sig1']) * mag_test\n+             + C['sig4'] * AS)\n+            # second line\n+            * np.sqrt((C['sig3'] * Finferred + 0.7 * Fmeasured)\n+                      + (1 + NL) ** 2)\n+        )\n+\n+        ret = []\n+        for stddev_type in stddev_types:\n+            assert stddev_type in self.DEFINED_FOR_STANDARD_DEVIATION_TYPES\n+            if stddev_type == const.StdDev.TOTAL:\n+                # eq. 21\n+                ret += [np.sqrt(((1 + NL) ** 2) * (tau ** 2) + (sigma ** 2))]\n+            elif stddev_type == const.StdDev.INTRA_EVENT:\n+                ret.append(sigma)\n+            elif stddev_type == const.StdDev.INTER_EVENT:\n+                # this is implied in eq. 21\n+                ret.append(np.abs((1 + NL) * tau))\n+\n+        return ret\n+\n+    def _get_ln_y_ref(self, rup, dists, C):\n+        \"\"\"\n+        Get an intensity on a reference soil.\n+\n+        Implements eq. 4 in Bradley 2013. This is the same as Chiou and\n+        Youngs 2008, with addition of TVZ attentuation term, and addition of\n+        c8 which constains the ZTOR. Note that the TVZ scaling is set to 1\n+        (i.e. no TVZ attenuation)\n+        \"\"\"\n+        # Taupo Volcanic Zone Path Distance. Set to zero.\n+        rtvz = self._get_TVZ_path_distance(dists.rrup)\n+\n+        # reverse faulting flag\n+        Frv = 1 if 30 <= rup.rake <= 150 else 0\n+        # normal faulting flag\n+        Fnm = 1 if -120 <= rup.rake <= -60 else 0\n+        # hanging wall flag\n+        Fhw = (dists.rx >= 0)\n+        # aftershock flag. always zero since we only consider main shock\n+        AS = 0\n+\n+        ln_y_ref = (\n+            # first line of eq. 4 in Bradley 2013\n+            C['c1']\n+            + (C['c1a'] * Frv\n+               + C['c1b'] * Fnm\n+               + C['c7'] * (np.clip(rup.ztor, -np.inf, C['c8']) - 4))\n+            * (1 - AS)\n+            + (C['c10'] + C['c7a'] * (rup.ztor - 4)) * AS\n+            # second line\n+            + C['c2'] * (rup.mag - 6)\n+            + ((C['c2'] - C['c3']) / C['cn'])\n+            * np.log(1 + np.exp(C['cn'] * (C['cm'] - rup.mag)))\n+            # third line\n+            + C['c4']\n+            * np.log(dists.rrup\n+                     + C['c5']\n+                     * np.cosh(C['c6'] * max(rup.mag - C['chm'], 0)))\n+            # fourth line\n+            + (C['c4a'] - C['c4'])\n+            * np.log(np.sqrt(dists.rrup ** 2 + C['crb'] ** 2))\n+            # fifth line\n+            + (C['cg1'] + C['cg2'] / (np.cosh(max(rup.mag - C['cg3'], 0))))\n+            # sixth line\n+            * ((1 + C['ctvz'] * (rtvz / dists.rrup)) * dists.rrup)\n+            # seventh line\n+            + C['c9'] * Fhw\n+            * np.tanh(dists.rx\n+                      * (np.cos(np.radians(rup.dip)) ** 2)\n+                      / C['c9a'])\n+            * (1 - np.sqrt(dists.rjb ** 2 + rup.ztor ** 2)\n+               / (dists.rrup + 0.001))\n+        )\n+\n+        return ln_y_ref\n+\n+    def _get_V1(self, imt):","path":"openquake/hazardlib/gsim/bradley_2013.py","position":242,"original_position":242,"commit_id":"712fbaa04decd872aa722d57f27fec0a91ede727","original_commit_id":"712fbaa04decd872aa722d57f27fec0a91ede727","user":{"login":"g-weatherill","id":496400,"avatar_url":"https://avatars.githubusercontent.com/u/496400?v=2","gravatar_id":"","url":"https://api.github.com/users/g-weatherill","html_url":"https://github.com/g-weatherill","followers_url":"https://api.github.com/users/g-weatherill/followers","following_url":"https://api.github.com/users/g-weatherill/following{/other_user}","gists_url":"https://api.github.com/users/g-weatherill/gists{/gist_id}","starred_url":"https://api.github.com/users/g-weatherill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/g-weatherill/subscriptions","organizations_url":"https://api.github.com/users/g-weatherill/orgs","repos_url":"https://api.github.com/users/g-weatherill/repos","events_url":"https://api.github.com/users/g-weatherill/events{/privacy}","received_events_url":"https://api.github.com/users/g-weatherill/received_events","type":"User","site_admin":false},"body":"PEP8 guidelines usually use lower case in all method names","created_at":"2014-10-07T15:00:00Z","updated_at":"2014-10-07T15:00:00Z","html_url":"https://github.com/gem/oq-hazardlib/pull/238#discussion_r18524712","pull_request_url":"https://api.github.com/repos/gem/oq-hazardlib/pulls/238","_links":{"self":{"href":"https://api.github.com/repos/gem/oq-hazardlib/pulls/comments/18524712"},"html":{"href":"https://github.com/gem/oq-hazardlib/pull/238#discussion_r18524712"},"pull_request":{"href":"https://api.github.com/repos/gem/oq-hazardlib/pulls/238"}}},"pull_request":{"url":"https://api.github.com/repos/gem/oq-hazardlib/pulls/238","id":22259316,"html_url":"https://github.com/gem/oq-hazardlib/pull/238","diff_url":"https://github.com/gem/oq-hazardlib/pull/238.diff","patch_url":"https://github.com/gem/oq-hazardlib/pull/238.patch","issue_url":"https://api.github.com/repos/gem/oq-hazardlib/issues/238","number":238,"state":"open","locked":false,"title":"added Bradley 2013 GMPE","user":{"login":"nickhorspool","id":592478,"avatar_url":"https://avatars.githubusercontent.com/u/592478?v=2","gravatar_id":"","url":"https://api.github.com/users/nickhorspool","html_url":"https://github.com/nickhorspool","followers_url":"https://api.github.com/users/nickhorspool/followers","following_url":"https://api.github.com/users/nickhorspool/following{/other_user}","gists_url":"https://api.github.com/users/nickhorspool/gists{/gist_id}","starred_url":"https://api.github.com/users/nickhorspool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nickhorspool/subscriptions","organizations_url":"https://api.github.com/users/nickhorspool/orgs","repos_url":"https://api.github.com/users/nickhorspool/repos","events_url":"https://api.github.com/users/nickhorspool/events{/privacy}","received_events_url":"https://api.github.com/users/nickhorspool/received_events","type":"User","site_admin":false},"body":"Implements GMPE developed by Brendan Bradley for Active Shallow Crust\r\n    Earthquakes for New Zealand, and published as \"A New Zealand-Specific\r\n    Pseudospectral Acceleration Ground-Motion Prediction Equation for Active\r\n    Shallow Crustal Earthquakes Based on Foreign Models\" (2013, Bulletin of\r\n    the Seismological Society of America, Volume 103, No. 3, pages 1801-1822).\r\n\r\n    This model is modified from Chiou and Youngs, 2008,2010 and has been adapted\r\n    for New Zealand conditions. Specifically, the modifications are related to:\r\n    1) small magnitude scaling;\r\n    2) scaling of short period ground motion from normal faulting events in\r\n       volcanic crust;\r\n    3) scaling of ground motions on very hard rock sites;\r\n    4) anelastic attenuation in the New Zealand crust;\r\n    5) consideration of the increates anelastic attenuation in the Taupo\r\n       Volcanic Zone (not implemented in this model, use Bradley2013Volc)","created_at":"2014-10-05T21:31:40Z","updated_at":"2014-10-07T15:00:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2b4dd5e8ef3dfe35aec3cfe6b3f0ac9ba3e7aedb","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/gem/oq-hazardlib/pulls/238/commits","review_comments_url":"https://api.github.com/repos/gem/oq-hazardlib/pulls/238/comments","review_comment_url":"https://api.github.com/repos/gem/oq-hazardlib/pulls/comments/{number}","comments_url":"https://api.github.com/repos/gem/oq-hazardlib/issues/238/comments","statuses_url":"https://api.github.com/repos/gem/oq-hazardlib/statuses/712fbaa04decd872aa722d57f27fec0a91ede727","head":{"label":"nickhorspool:master","ref":"master","sha":"712fbaa04decd872aa722d57f27fec0a91ede727","user":{"login":"nickhorspool","id":592478,"avatar_url":"https://avatars.githubusercontent.com/u/592478?v=2","gravatar_id":"","url":"https://api.github.com/users/nickhorspool","html_url":"https://github.com/nickhorspool","followers_url":"https://api.github.com/users/nickhorspool/followers","following_url":"https://api.github.com/users/nickhorspool/following{/other_user}","gists_url":"https://api.github.com/users/nickhorspool/gists{/gist_id}","starred_url":"https://api.github.com/users/nickhorspool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nickhorspool/subscriptions","organizations_url":"https://api.github.com/users/nickhorspool/orgs","repos_url":"https://api.github.com/users/nickhorspool/repos","events_url":"https://api.github.com/users/nickhorspool/events{/privacy}","received_events_url":"https://api.github.com/users/nickhorspool/received_events","type":"User","site_admin":false},"repo":{"id":23856173,"name":"oq-hazardlib","full_name":"nickhorspool/oq-hazardlib","owner":{"login":"nickhorspool","id":592478,"avatar_url":"https://avatars.githubusercontent.com/u/592478?v=2","gravatar_id":"","url":"https://api.github.com/users/nickhorspool","html_url":"https://github.com/nickhorspool","followers_url":"https://api.github.com/users/nickhorspool/followers","following_url":"https://api.github.com/users/nickhorspool/following{/other_user}","gists_url":"https://api.github.com/users/nickhorspool/gists{/gist_id}","starred_url":"https://api.github.com/users/nickhorspool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nickhorspool/subscriptions","organizations_url":"https://api.github.com/users/nickhorspool/orgs","repos_url":"https://api.github.com/users/nickhorspool/repos","events_url":"https://api.github.com/users/nickhorspool/events{/privacy}","received_events_url":"https://api.github.com/users/nickhorspool/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nickhorspool/oq-hazardlib","description":"Openquake Hazard Library","fork":true,"url":"https://api.github.com/repos/nickhorspool/oq-hazardlib","forks_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/forks","keys_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/teams","hooks_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/hooks","issue_events_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/issues/events{/number}","events_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/events","assignees_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/assignees{/user}","branches_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/branches{/branch}","tags_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/tags","blobs_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/git/refs{/sha}","trees_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/statuses/{sha}","languages_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/languages","stargazers_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/stargazers","contributors_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/contributors","subscribers_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/subscribers","subscription_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/subscription","commits_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/commits{/sha}","git_commits_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/git/commits{/sha}","comments_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/comments{/number}","issue_comment_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/issues/comments/{number}","contents_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/contents/{+path}","compare_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/merges","archive_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/downloads","issues_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/issues{/number}","pulls_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/pulls{/number}","milestones_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/milestones{/number}","notifications_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/labels{/name}","releases_url":"https://api.github.com/repos/nickhorspool/oq-hazardlib/releases{/id}","created_at":"2014-09-10T01:20:30Z","updated_at":"2014-09-23T21:51:38Z","pushed_at":"2014-10-06T19:24:54Z","git_url":"git://github.com/nickhorspool/oq-hazardlib.git","ssh_url":"git@github.com:nickhorspool/oq-hazardlib.git","clone_url":"https://github.com/nickhorspool/oq-hazardlib.git","svn_url":"https://github.com/nickhorspool/oq-hazardlib","homepage":"http://www.globalquakemodel.org/openquake/","size":14169,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"gem:master","ref":"master","sha":"ca5cc82fc3f7993c5bfa6d7c874a39902a138f97","user":{"login":"gem","id":316546,"avatar_url":"https://avatars.githubusercontent.com/u/316546?v=2","gravatar_id":"","url":"https://api.github.com/users/gem","html_url":"https://github.com/gem","followers_url":"https://api.github.com/users/gem/followers","following_url":"https://api.github.com/users/gem/following{/other_user}","gists_url":"https://api.github.com/users/gem/gists{/gist_id}","starred_url":"https://api.github.com/users/gem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gem/subscriptions","organizations_url":"https://api.github.com/users/gem/orgs","repos_url":"https://api.github.com/users/gem/repos","events_url":"https://api.github.com/users/gem/events{/privacy}","received_events_url":"https://api.github.com/users/gem/received_events","type":"Organization","site_admin":false},"repo":{"id":2986762,"name":"oq-hazardlib","full_name":"gem/oq-hazardlib","owner":{"login":"gem","id":316546,"avatar_url":"https://avatars.githubusercontent.com/u/316546?v=2","gravatar_id":"","url":"https://api.github.com/users/gem","html_url":"https://github.com/gem","followers_url":"https://api.github.com/users/gem/followers","following_url":"https://api.github.com/users/gem/following{/other_user}","gists_url":"https://api.github.com/users/gem/gists{/gist_id}","starred_url":"https://api.github.com/users/gem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gem/subscriptions","organizations_url":"https://api.github.com/users/gem/orgs","repos_url":"https://api.github.com/users/gem/repos","events_url":"https://api.github.com/users/gem/events{/privacy}","received_events_url":"https://api.github.com/users/gem/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gem/oq-hazardlib","description":"Openquake Hazard Library","fork":false,"url":"https://api.github.com/repos/gem/oq-hazardlib","forks_url":"https://api.github.com/repos/gem/oq-hazardlib/forks","keys_url":"https://api.github.com/repos/gem/oq-hazardlib/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gem/oq-hazardlib/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gem/oq-hazardlib/teams","hooks_url":"https://api.github.com/repos/gem/oq-hazardlib/hooks","issue_events_url":"https://api.github.com/repos/gem/oq-hazardlib/issues/events{/number}","events_url":"https://api.github.com/repos/gem/oq-hazardlib/events","assignees_url":"https://api.github.com/repos/gem/oq-hazardlib/assignees{/user}","branches_url":"https://api.github.com/repos/gem/oq-hazardlib/branches{/branch}","tags_url":"https://api.github.com/repos/gem/oq-hazardlib/tags","blobs_url":"https://api.github.com/repos/gem/oq-hazardlib/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gem/oq-hazardlib/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gem/oq-hazardlib/git/refs{/sha}","trees_url":"https://api.github.com/repos/gem/oq-hazardlib/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gem/oq-hazardlib/statuses/{sha}","languages_url":"https://api.github.com/repos/gem/oq-hazardlib/languages","stargazers_url":"https://api.github.com/repos/gem/oq-hazardlib/stargazers","contributors_url":"https://api.github.com/repos/gem/oq-hazardlib/contributors","subscribers_url":"https://api.github.com/repos/gem/oq-hazardlib/subscribers","subscription_url":"https://api.github.com/repos/gem/oq-hazardlib/subscription","commits_url":"https://api.github.com/repos/gem/oq-hazardlib/commits{/sha}","git_commits_url":"https://api.github.com/repos/gem/oq-hazardlib/git/commits{/sha}","comments_url":"https://api.github.com/repos/gem/oq-hazardlib/comments{/number}","issue_comment_url":"https://api.github.com/repos/gem/oq-hazardlib/issues/comments/{number}","contents_url":"https://api.github.com/repos/gem/oq-hazardlib/contents/{+path}","compare_url":"https://api.github.com/repos/gem/oq-hazardlib/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gem/oq-hazardlib/merges","archive_url":"https://api.github.com/repos/gem/oq-hazardlib/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gem/oq-hazardlib/downloads","issues_url":"https://api.github.com/repos/gem/oq-hazardlib/issues{/number}","pulls_url":"https://api.github.com/repos/gem/oq-hazardlib/pulls{/number}","milestones_url":"https://api.github.com/repos/gem/oq-hazardlib/milestones{/number}","notifications_url":"https://api.github.com/repos/gem/oq-hazardlib/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gem/oq-hazardlib/labels{/name}","releases_url":"https://api.github.com/repos/gem/oq-hazardlib/releases{/id}","created_at":"2011-12-15T10:14:46Z","updated_at":"2014-09-02T07:58:30Z","pushed_at":"2014-10-07T13:08:38Z","git_url":"git://github.com/gem/oq-hazardlib.git","ssh_url":"git@github.com:gem/oq-hazardlib.git","clone_url":"https://github.com/gem/oq-hazardlib.git","svn_url":"https://github.com/gem/oq-hazardlib","homepage":"http://www.globalquakemodel.org/openquake/","size":34424,"stargazers_count":19,"watchers_count":19,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":27,"mirror_url":null,"open_issues_count":7,"forks":27,"open_issues":7,"watchers":19,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gem/oq-hazardlib/pulls/238"},"html":{"href":"https://github.com/gem/oq-hazardlib/pull/238"},"issue":{"href":"https://api.github.com/repos/gem/oq-hazardlib/issues/238"},"comments":{"href":"https://api.github.com/repos/gem/oq-hazardlib/issues/238/comments"},"review_comments":{"href":"https://api.github.com/repos/gem/oq-hazardlib/pulls/238/comments"},"review_comment":{"href":"https://api.github.com/repos/gem/oq-hazardlib/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/gem/oq-hazardlib/pulls/238/commits"},"statuses":{"href":"https://api.github.com/repos/gem/oq-hazardlib/statuses/712fbaa04decd872aa722d57f27fec0a91ede727"}}}}