{"id":41624029,"url":"https://github.com/climateimpactlab/impactlab-api-mockup","last_synced_at":"2026-01-24T14:09:08.676Z","repository":{"id":70039920,"uuid":"69006113","full_name":"ClimateImpactLab/ImpactLab-API-Mockup","owner":"ClimateImpactLab","description":"Prototype library for distributed computing with embedded mathematical documentation","archived":false,"fork":false,"pushed_at":"2016-10-11T20:55:59.000Z","size":192,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-10T03:52:51.737Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ClimateImpactLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-09-23T08:37:41.000Z","updated_at":"2016-09-29T16:16:07.000Z","dependencies_parsed_at":"2023-06-04T23:00:21.553Z","dependency_job_id":null,"html_url":"https://github.com/ClimateImpactLab/ImpactLab-API-Mockup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ClimateImpactLab/ImpactLab-API-Mockup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimateImpactLab%2FImpactLab-API-Mockup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimateImpactLab%2FImpactLab-API-Mockup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimateImpactLab%2FImpactLab-API-Mockup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimateImpactLab%2FImpactLab-API-Mockup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ClimateImpactLab","download_url":"https://codeload.github.com/ClimateImpactLab/ImpactLab-API-Mockup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimateImpactLab%2FImpactLab-API-Mockup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28729411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-24T14:09:07.384Z","updated_at":"2026-01-24T14:09:08.659Z","avatar_url":"https://github.com/ClimateImpactLab.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Prototype Climate Impact Lab Interface\n\n## Workspace Setup\n\nImport some python modules\n\n\n```python\n%matplotlib inline\nfrom matplotlib import pyplot as plt\nimport prototype\n```\n\n## Connect to the API\n\nAuthenticate with the [prototype] API, and define how you want to use the system\n\n\n```python\napi = prototype.ClimateImpactLabDataAPI(\n    username='mdelgado', \n    password='*********')\n\napi.configure(sample='median', location='OSDC', priority='low')\n```\n\nAPI configuration updated\n    \n\n## Retrieve formatted Climate Impact Lab variables\n\n\n```python\n# mortality regression parameters\nalpha  = api.get_variable('alpha')\ngamma1 = api.get_variable('gamma1')\ngamma2 = api.get_variable('gamma2')\ngamma3 = api.get_variable('gamma3')\n\n# GCP-wide socioeconomic parameters\navg_days_per_bin = api.get_variable('avg_days_per_bin')\ngdp_per_capita   = api.get_variable('gdppc')\npop_density      = api.get_variable('popdens')\n\n# Climate variables\ntemp = api.get_variable('temp')\n```\n\n\n```python\n# Get variable attributes\ntemp.attrs\n```\n\n\n\n\n``OrderedDict([('symbol', 'T'), ('description', 'NASA downscaled climate data')])``\n\n\n\n## Do math with Impact Lab variables\n\n\n```python\n# From the NAS mortality presentation...\n\nbetahat = alpha+gamma1*avg_days_per_bin+gamma2*(gdp_per_capita.ln())+gamma3*(pop_density.ln())\n```\n\n\n```python\n# define how your new variable should look\nbetahat.symbol = '\\\\hat{{\\\\beta}}'\n```\n\n\n```python\n# show LaTeX for the math we just did\nbetahat.display()\n```\n\n![betahat][]\n\n[betahat]: http://latex.codecogs.com/gif.latex?%24%5Cbeta_%7Bbins%2Cadm2%2Ctime%7D%20%3D%20%5Calpha_%7Bbins%7D%20+%20%5Cleft%28%7B%7B%5Cgamma_1%7D%7D_%7Bbins%7D%5Cright%29%5Cleft%28AvgDaysPerBin_%7Bbins%2Cadm2%2Ctime%7D%5Cright%29%20+%20%5Cleft%28%7B%7B%5Cgamma_2%7D%7D_%7Bbins%7D%5Cright%29%5Cleft%28%5Cln%7B%5Cleft%28GdpPC_%7Badm2%2Ctime%7D%5Cright%29%7D%5Cright%29%20+%20%5Cleft%28%7B%7B%5Cgamma_3%7D%7D_%7Bbins%7D%5Cright%29%5Cleft%28%5Cln%7B%5Cleft%28PopDensity_%7Badm2%2Ctime%7D%5Cright%29%7D%5Cright%29%24\n\n\n\n```python\n# Also, show the result of the calculation\nbetahat.value\n```\n\n\n\n\n    \u003cxarray.DataArray (bins: 12, adm2: 24999, time: 100)\u003e\n    array([[[ 0.13070758,  0.27115357,  0.51208013, ...,  0.75042949,\n              0.97468369,  0.38654286],\n            [ 0.45469313, -0.58699997,  0.89999766, ...,  0.0932762 ,\n              0.27909178,  0.25180471],\n            [ 0.78249511,  0.6007064 ,  0.31142451, ...,  0.7384293 ,\n              0.50259999,  0.89219784],\n            ..., \n            [ 0.09726135,  0.53286143, -0.23998856, ...,  0.22746566,\n              1.01581255,  0.27642734],\n            [ 0.94900355,  0.95514836,  0.81664952, ...,  0.18979607,\n              0.64628862,  0.35505172],\n            [-0.28351735,  0.29136219,  0.96207262, ..., -0.39525938,\n              0.52056722,  0.26820543]],\n    \n           [[-0.24982154,  0.25459062,  0.18381526, ...,  0.86366869,\n              1.15629761,  0.52607199],\n            [ 0.04221185, -0.69654775,  0.49941067, ..., -0.2538949 ,\n              0.19605259,  0.12404486],\n            [ 0.68108903,  0.38304013,  0.29892101, ...,  0.66033363,\n              0.65525907,  0.64782637],\n            ..., \n            [ 0.10886929,  0.11420064, -0.76898607, ...,  0.52976564,\n              0.81398773, -0.02587275],\n            [ 0.49060749,  0.65472517,  0.90772419, ...,  0.11534893,\n              0.19195818,  0.27063844],\n            [-0.82047299, -0.03915025,  0.62043444, ..., -0.33573926,\n              0.61454831,  0.20731075]],\n    \n           [[ 0.29334982, -0.1410393 ,  0.06668666, ...,  0.19058335,\n              0.38035987, -0.76053658],\n            [ 0.24590676, -0.19187054,  0.33738993, ..., -0.03573067,\n              0.05934987, -0.36174642],\n            [ 0.14058797,  0.22807228,  0.02445355, ...,  0.38002263,\n             -0.05175731,  0.18988073],\n            ..., \n            [ 0.26074214,  0.27289792, -0.56491045, ..., -0.66360662,\n              0.47412097, -0.02909703],\n            [ 0.23397792,  0.41959969,  0.36822878, ..., -1.09986828,\n              0.2577988 , -0.15395848],\n            [-0.01366349, -0.41443745,  0.41451397, ..., -0.53642207,\n              0.06734171,  0.14076383]],\n    \n           ..., \n           [[-1.22909687, -0.16171115, -0.35495874, ...,  0.03058367,\n              0.83641502,  0.6679868 ],\n            [-0.64060209, -2.40039114,  0.61196964, ..., -0.91890489,\n             -0.67590221, -0.14152328],\n            [ 0.72354879,  0.41586095, -0.04011696, ...,  0.4473447 ,\n              0.15337609,  0.45083991],\n            ..., \n            [-0.93966302, -0.38880867, -1.61066037, ...,  0.12229467,\n              0.84788684, -0.44109869],\n            [ 0.9050935 ,  0.50790203,  0.37243353, ...,  0.70626393,\n             -0.1332156 , -0.12347863],\n            [-2.13993911, -0.13466855,  0.82092427, ..., -2.03681629,\n              0.16071452, -0.66681163]],\n    \n           [[-1.78127977, -0.64995827, -0.70599218, ..., -0.08563787,\n              0.53846099, -0.03527768],\n            [-0.96737409, -3.3405469 ,  0.12035706, ..., -1.24401243,\n             -1.18152117, -1.02750102],\n            [ 0.43426372,  0.06269273, -0.77531073, ..., -0.07509919,\n             -0.01719537,  0.41981726],\n            ..., \n            [-1.69569958, -0.67028133, -2.24069923, ..., -0.74557355,\n              0.78917575, -0.96980891],\n            [ 0.54463694,  0.35235451,  0.05831266, ..., -0.09088725,\n             -0.45957768, -0.72981302],\n            [-2.66118488, -0.83070028,  0.461331  , ..., -2.61814683,\n             -0.45347083, -1.47672656]],\n    \n           [[ 0.05461305,  0.79718925,  0.60464898, ...,  0.8691447 ,\n              1.29582956,  1.03214796],\n            [ 0.50555223, -0.341628  ,  1.15139969, ...,  0.33088638,\n              0.35190861,  0.4681457 ],\n            [ 1.23498927,  0.70501668,  0.74332358, ...,  1.03057786,\n              0.87111314,  1.15050731],\n            ..., \n            [ 0.26777543,  0.43157869, -0.0971003 , ...,  0.81305677,\n              1.24930213,  0.59565844],\n            [ 0.94444546,  1.06483473,  0.81508081, ...,  0.84482893,\n              0.82771585,  0.52695798],\n            [-0.36370791,  0.70637385,  1.00317956, ...,  0.02623079,\n              0.67527143,  0.47231838]]])\n    Coordinates:\n      * bins     (bins) int32 0 1 2 3 4 5 6 7 8 9 10 11\n      * adm2     (adm2) int32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...\n      * time     (time) int32 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...\n    Attributes:\n        symbol: \\hat{{\\beta}}\n\n\n\n## Use functions from xArray and the rest of python\n\n\n```python\nax = betahat.value.plot()\nplt.show(ax)\n```\n\n\n![png](output_16_0.png)\n\n\n## The next step in the calculation...\n\n\n```python\n# simplify the representation of betahat:\nbetahat.symbolic = '\\\\hat{{\\\\beta}}'\n```\n\n\n```python\n# sum betahat*temp across bins\nmortality = (betahat * temp).sum(dim='bins')\n\n# declare a symbol for mortality\nmortality.symbol = 'M'\n```\n\n\n```python\nmortality.display()\n```\n\n\n![mortality][]\n\n[mortality]: http://latex.codecogs.com/gif.latex?%24M_%7Badm2%2Ctime%7D%20%3D%20%5Csum_%7Bbins%7D%7B%5Cleft%7B%5Cleft%28%5Chat%7B%7B%5Cbeta%7D%7D%7Bbins%2Cadm2%2Ctime%7D%5Cright%29%5Cleft%28T%7Bbins%2Cadm2%2Ctime%7D%5Cright%29%5Cright%7D%7D%24\n\n\nNote that the dimensionality of mortality is less than beta and temp in the LaTeX and data:\n\n\n```python\nmortality.value\n```\n\n\n\n\n    \u003cxarray.DataArray (adm2: 24999, time: 100)\u003e\n    array([[ -2.92124395e+00,  -1.99362992e+00,  -8.93652801e-01, ...,\n              1.10621390e+00,   2.57830688e+00,  -2.29306181e+00],\n           [ -1.38629855e+00,  -7.76493092e+00,   2.03159987e+00, ...,\n             -3.41893630e+00,  -4.84213829e+00,  -2.45017356e+00],\n           [  1.56519757e+00,  -2.41087398e-01,  -4.24496624e-01, ...,\n              1.36587685e+00,  -5.93521188e-01,   2.76255544e+00],\n           ..., \n           [ -3.31492736e+00,   6.77445891e-03,  -5.47755159e+00, ...,\n             -6.10378895e+00,   3.93503051e+00,  -3.73371494e+00],\n           [  3.06004915e+00,   2.91296446e+00,   3.59191665e+00, ...,\n             -7.61977078e+00,   5.19491826e-01,  -1.90245230e+00],\n           [ -7.99817007e+00,  -4.96106865e+00,   3.18680168e+00, ...,\n             -8.19163235e+00,  -8.54668938e-01,  -8.54509732e-01]])\n    Coordinates:\n      * adm2     (adm2) int32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...\n      * time     (time) int32 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...\n    Attributes:\n        symbol: M\n\n\n\n\n```python\nax = mortality.value.mean(dim='adm2').plot()\nplt.show(ax)\n```\n\n\n![png](output_23_0.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimateimpactlab%2Fimpactlab-api-mockup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclimateimpactlab%2Fimpactlab-api-mockup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimateimpactlab%2Fimpactlab-api-mockup/lists"}