<html lang="en"><head><meta content="width=device-width, initial-scale=1.0" name="viewport" /><meta charset="UTF-8" /><link href="/opensearch.xml" rel="search" title="NBGallery" type="application/opensearchdescription+xml" /><title>NBGallery - Error Unsupported Browser</title><meta content="NBGallery is a Jupyter notebook sharing and collaboration platform" name="description" /><meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="0gT7xe7Nq15Zn_a26V-t2cRPADNob6QBr4bblCJW0LulgH3dL6FDZkr7UobomIuhakpm7IuiyGXiODl0_wkK3w" /><link rel="icon" type="image/x-icon" href="/assets/nb-27ec4ccb5bf39d08ca3d9e4780af62d03ecb1ee527f760f2190d07f6775752d1.ico" /><script src="/assets/application-f5a88e21adb5b3f638ab65bf8dc841c7f603311d19ac8033ad46abc7ab9ecc89.js"></script><link rel="stylesheet" href="/assets/application-a82917812d7b1fd2d5c588aed304daecfac78d33e7f64acab0f48c6b6b268566.css" media="all" /></head><body class="browser-unknown-browser browser-full-unknown-browser-0 browser-modern-false platform-unknown platform-full-unknown-0 user-anonymous page-languages path-languages "><div class="content-container"><a class="skip" href="#main">Skip to main content</a></div><div id="wrapper"><div id="contents"><header><div class="content-container"><div class="navbar navbar-default" id="topNavbar"><div class="navbar-inner"><a class="logo-link" href="/"><img alt="NBGallery" id="logo" src="/assets/nbgallery_logo-de6ee661cda24b8acfa073d3a039dac043f3e172eb3caf9b536c445d5e6ffc77.png" /></a><nav aria-label="main site" class="collapse navbar-collapse"><div class="header-buttons"><div class="custom-buttons"></div><div class="btn-group" id="notebookFilterDropDownFullThing"><button class="navbar-btn btn btn-primary tooltips" href="/notebooks" id="notebookFilterDropDown" onclick="window.location = &#39;/notebooks&#39;" title="View all notebooks"> Notebooks</button><button aria-expanded="false" aria-haspopup="true" class="navbar-btn btn btn-primary dropdown-toggle" id="dropdownCaretButton">&nbsp;<span class="caret dropdown-toggle"></span><span class="sr-only" id="dropdownCaretButtonAriaLabel">Expand Notebooks Menu</span></button><ul class="dropdown-menu notebooksmenu" id="dropdownMenu"></ul></div></div><div class="header-nav"><form action="/notebooks" class="search-form" id="navbarSearchBar" role="search"><input class="searchFieldBox form-control" name="q" placeholder="Search" tabindex="0" type="search" value="" /><input name="sort" type="hidden" value="score" /><a href="/notebooks?q=" id="searchTooltipButton"><i aria-hidden="true" class="info-button fa fa-info-circle"></i><span class="sr-only">Learn more about advanced searching</span></a><button class="btn search-submit" tabindex="0"><i aria-hidden="true" class="fa fa-search"></i><span class="sr-only">Search</span></button></form><span class="dropdown navbar-right" id="headerIcons"><a aria-expanded="false" aria-haspopup="true" class="tooltips" id="expandableSearch" tabindex="0" title="Search"><i aria-hidden="true" class="fa fa-search"></i><span class="sr-only" id="dropdownSearchAriaLabel">Expand Search Container</span></a><div aria-expanded="false" aria-haspopup="true" class="keyboard-friendly" id="mobileNavContainer" tabindex="0"><a href="#" id="mobileNavBar" tabindex="-1"><span class="sr-only" id="mobileNavDropdownAriaLabel">Expand More Menu</span><div class="nav-bar-icon-container"><div class="nav-bar-icon"></div></div></a></div><ul class="dropdown-menu" id="mobileNavDropdown" style="display: none"><li class="dropdown-header filter-item">Explore</li><li class="all"><a href="/notebooks"><span class="tab no-wrap entry">All Notebooks</span></a></li><li class="languages"><a href="/languages"><span class="tab no-wrap entry">All Languages</span></a></li><li class="groups"><a href="/groups"><span class="tab no-wrap entry">All Groups</span></a></li><li class="tags"><a href="/tags"><span class="tab no-wrap entry">All Tags</span></a></li></ul><a aria-expanded="false" aria-haspopup="true" class="tooltips" href="#" id="learnMore" title="Learn More"><span class="sr-only" id="learnMoreDropdownAriaLabel" tabindex="-1">Expand Learn More Menu</span><i aria-hidden="true" class="fa fa-question-circle dropdown-toggle" tabindex="-1"></i><b class="caret dropdown-toggle" tabindex="-1"></b></a><ul class="dropdown-menu" id="learnMoreDropdown" style="display: none" tabindex="-1"><li class="dropdown-header filter-item" tabindex="-1">Documentation</li><li><a href="/notebooks?q=" tabindex="0">Advanced Search</a></li><li id="learnMoreLink"><a href="#" rel="external">What is Jupyter?</a></li><li id="notebookHowToNBG"><a href="/docs/utilizing_notebooks">Notebooks</a></li><li id="environmentHowToNBG"><a href="/docs/utilizing_environments">Environments</a></li><li><a href="/notebooks?q=">Advanced Search</a></li></ul><br class="hidden" /><a aria-expanded="false" aria-haspopup="true" class="dropdown-toggle modal-activate" data-toggle="dropdown" href="#" id="gearDropdown"><span class="sr-only" id="gearDropdownAriaLabel">Expand User Menu</span><i aria-hidden="true" class="fa fa-user"></i></a></span></div></nav></div></div></div></header><hr class="hidden" /><div id="expandableSearchDropdown" style="display: none"><div class="expandable-search-inner"><div class="expandable-search-input"><form action="/notebooks" role="search"><input class="searchFieldBox form-control" name="q" placeholder="Search" type="search" value="" /><input name="sort" type="hidden" value="score" /><button class="btn search-submit"><i aria-hidden="true" class="fa fa-search"></i><span class="sr-only">Search</span></button></form></div></div></div><div class="modals"><div aria-describedby="loginDescription" aria-labelledby="loginHeader" class="modal fade in" id="loginModal" role="dialog" style="display: none" tabindex="0"><div class="modal-dialog" role="document"><div class="loginmodal-container sso-loginmodal-container"><img alt="NBGallery" src="/assets/nbgallery_logo-de6ee661cda24b8acfa073d3a039dac043f3e172eb3caf9b536c445d5e6ffc77.png" /><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button><div class="alert-container"></div><div class="sso-login-gateway"><h1 class="center" id="loginHeader">Sign in to NBGallery</h1><p class="sso-login-subtitle" id="loginDescription">Use your Unidata JupyterHub account to continue</p><a class="btn btn-primary btn-lg sso-login-button" href="/auth/jupyterhub?return_to=%2Flanguages">Continue with Unidata JupyterHub</a><p class="help-block">You will be redirected to Unidata JupyterHub for authentication.</p></div></div></div></div><div aria-describedby="uploadFileDescription" aria-labelledby="uploadFileHeader" class="modal fade notebookModalsSmall" id="uploadFileModal" role="dialog" style="display: none" tabindex="0"><div class="modal-content"><div class="modal-header"><h1 class="modal-title" id="uploadFileHeader">Upload Notebook - Part 1 of 2</h1><p class="sr-only" id="uploadFileDescription">Dialog one of two for uploading a new notebook. Upload file and accept terms and conditions</p><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button></div><div class="modal-body"><form id="uploadFileForm" enctype="multipart/form-data" data-toggle="validator" action="/stages" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="3Sa67QBt703cyTXUVhvamtrdIeAuA6UxWRgDfrKttNiSaP4Hfij95_s6m1jDAKXKeHwl-o-wFxv7_EmRdCp71w" autocomplete="off" /><div class="alert-container"></div><div class="form-group has-feedback"><div class="input-group"><label class="input-group-addon input-min-width">Notebook</label><input accept=".ipynb" aria-label="Notebook file" class="form-control" id="uploadFile" name="file" required="required" type="file" /></div><span aria-hidden="true" class="glyphicon form-control-feedback"></span></div><div class="form-group"><div class="alert alert-info agree"><div class="checkbox"><label><input name="agree" required="required" type="checkbox" value="yes" /><p>I acknowledge that I have all intellectual property rights and approvals (if applicable)
<br>
for the content contained within this notebook.
</p><p>Also I acknowledge that the NBGallery will remove all output from my notebook and will only save the code and markup sections</p></label></div></div></div><div class="modal-footer"><div class="form-group"><button class="btn btn-danger" data-dismiss="modal" type="button">Cancel</button><button aria-label="Proceed to next dialog" class="btn btn-primary" id="uploadFileSubmit" type="submit">Next</button></div><div id="uploadFeedbackProgressBar"></div></div></form></div></div></div><div aria-describedby="stageUploadDescription" aria-labelledby="stageUploadHeader" class="modal fade notebookModalsSmall" id="stageUpload" role="dialog" style="display: none" tabindex="0"><div class="modal-content"><div class="modal-header"><h1 class="modal-title" id="stageUploadHeader">Upload Notebook - Part 2 of 2</h1><p class="sr-only" id="stageUploadDescription">Dialog two of two for uploading a new notebook. Add title, description, tags, make private applicable, etcetera</p><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button></div><div class="modal-body"><form id="stageForm" enctype="multipart/form-data" data-toggle="validator" action="/notebooks" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="0ayCNs71-c3JOmGDmoCM0dl1mKShY0Si6TCaa9xWoq0WlPbQ7Ep-TMAdUvu22EovFRgBp_lZPdSmVFgfFe1n5g" autocomplete="off" /><div class="alert-container"></div><div class="form-group has-feedback"><div class="input-group"><label class="input-group-addon input-min-width">Notebook</label><input aria-label="Notebook U U I D" class="form-control" id="stagedName" name="staged" readonly="" type="text" value="" /></div><span aria-hidden="true" class="glyphicon form-control-feedback"></span></div><div class="form-group has-feedback"><div class="input-group"><label class="input-group-addon input-min-width" for="stageTitle">Title</label><input autofocus="" class="form-control" id="stageTitle" name="title" placeholder="Enter a title for your notebook" required="required" type="text" /></div><div class="help-block with-errors"></div><span aria-hidden="true" class="glyphicon form-control-feedback"></span></div><div class="form-group" hidden="true" id="stageOverwrite"><div class="alert alert-danger overwrite"><div class="checkbox"><label><input name="overwrite" type="checkbox" value="true" /><strong>Overwrite this notebook</strong></label></div></div></div><div class="form-group has-feedback"><div class="input-group"><label class="input-group-addon input-min-width" for="stageDescription">Description</label><textarea class="form-control auto-expand" id="stageDescription" name="description" placeholder="Enter a description of this notebook" required="required"></textarea></div><div class="help-block with-errors"></div><span aria-hidden="true" class="glyphicon form-control-feedback"></span></div><div class="form-group"><div class="input-group"><label class="input-group-addon input-min-width" for="stageOwnership">Ownership</label><select class="form-control" id="stageOwnership" name="owner"><option value="self">Myself</option></select></div></div><div class="form-group"><div class="input-group"><label class="input-group-addon input-min-width" for="stageTags">Tags</label><input aria-label="Enter tags here. Add using space or enter keys." class="form-control" id="stageTags" name="tags" placeholder="Enter tags here" type="text" value="" /></div></div><div class="form-group" id="stagePrivateFormGroup"><div class="checkbox"><label><input checked="checked" id="stagePrivate" name="private" type="checkbox" value="true" /><span>This notebook is private (default)</span></label></div></div><input id="stagingId" name="staging_id" type="hidden" value="" /><input id="parentUUID" name="parent_uuid" type="hidden" value="" /><div class="form-group"><div class="alert alert-info agree"><div class="checkbox"><label><input name="agree" required="required" type="checkbox" value="yes" /><p>I acknowledge that I have all intellectual property rights and approvals (if applicable)
<br>
for the content contained within this notebook.
</p><p>Also I acknowledge that the NBGallery will remove all output from my notebook and will only save the code and markup sections</p></label></div></div></div><div class="modal-footer"><div class="form-group"><button class="btn btn-danger" data-dismiss="modal" type="button">Cancel</button><button class="btn btn-success" id="stageSubmit" type="submit">Upload</button></div><div id="stageFeedbackProgressBar"></div></div></form></div></div></div><div aria-describedby="environmentModalDescription" aria-labelledby="environmentModalHeader" class="modal fade notebookModalsSmall" id="environmentModal" role="dialog" style="display: none" tabindex="0"><div class="modal-content"><div class="modal-header"><h1 class="modal-title" id="environmentModalHeader">"Run in Jupyter" Environments</h1><p class="sr-only" id="environmentModalDescription">Dialog for creating a new group</p><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button></div><div class="modal-body"><form data-toggle="validator" id="environmentsForm"><div class="alert-container"><div class="alert alert-info"><i aria-hidden="true" class="fa fa-info-circle"></i><span>Tell the Gallery where you would like the "Run in Jupyter" action to send notebooks.</span></div></div><input id="environmentId" name="id" type="hidden" /><input name="user_id" type="hidden" /><input id="environmentRequestURL" name="request_url" type="hidden" /><input id="environmentType" name="type" type="hidden" /><div class="form-group has-feedback"><div class="input-group"><label class="input-group-addon input-min-width" for="environmentName">Name</label><input class="form-control" id="environmentName" name="name" placeholder="environment-name" required="required" type="text" /></div><div class="help-block with-errors"></div></div><div class="form-group has-feedback"><div class="input-group"><label class="input-group-addon input-min-width" for="environmentURL">URL</label><input class="form-control" id="environmentURL" name="url" pattern="http(s?)://.+" placeholder="https://example.com" required="required" type="text" /></div><div class="help-block with-errors"></div></div><div class="form-group"><div class="input-group"><label class="input-group-addon input-min-width" for="jupyterEnvironmentInterface">Jupyter Interface</label><select class="form-control" id="jupyterEnvironmentInterface" name="user_interface"><option value="lab">JupyterLab</option><option value="notebook">Jupyter Notebook</option><option value="classic">Jupyter Classic</option></select></div></div><div class="form-group"><div class="alert alert-info"><div class="checkbox"><label><input id="environmentDefault" name="default" type="checkbox" value="true" /><p>Make this the default Environment</p></label></div></div></div><div class="modal-footer"><div class="form-group"><input name="usersave" type="hidden" value="true" /><button class="btn btn-danger" data-dismiss="modal" type="button">Cancel</button><button class="btn btn-success" type="submit">Submit</button></div></div></form></div></div></div><div aria-describedby="confirmationModalDescription" aria-labelledby="confirmationModalHeader" aria-modal="true" class="modal fade notebookModalsSmall" id="confirmationModal" role="dialog" style="display: none" tabindex="0"><div class="modal-content"><div class="modal-header"><h1 class="modal-title" id="confirmationModalHeader">Are you sure?</h1><p class="sr-only" id="confirmationModalDescription">Confirmation dialog for doing the actions listed</p><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button></div><div class="modal-body"><form data-toggle="validator" enctype="multipart/form-data" id="confirmationModalForm"><div class="alert-container"></div><input id="hiddenConfirmationMetadata" name="primary" type="hidden" /><input id="hiddenConfirmationMetadataAlt" name="secondary" type="hidden" /><ul><li><p id="confirmation1"></p></li><p hidden="true" id="inAdditionText"><strong>In addition:</strong></p><li class="additional-confirmation" hidden="true"><p id="confirmation2"></p></li><li class="additional-confirmation" hidden="true"><p id="confirmation3"></p></li><li class="additional-confirmation" hidden="true"><p id="confirmation4"></p></li><li class="additional-confirmation" hidden="true"><p id="confirmation5"></p></li><li class="additional-confirmation" hidden="true"><p id="confirmation6"></p></li><li class="additional-confirmation" hidden="true"><p id="confirmation7"></p></li><li class="additional-confirmation" hidden="true"><p id="confirmation8"></p></li><li class="additional-confirmation" hidden="true"><p id="confirmation9"></p></li><li class="additional-confirmation" hidden="true"><p id="confirmation10"></p></li></ul><div class="help-block with-errors"></div><span aria-hidden="true" class="glyphicon form-control-feedback"></span><div class="modal-footer"><div><button class="btn btn-danger" data-dismiss="modal" type="button">No</button><button class="btn btn-success" type="submit">Yes</button></div></div></form></div></div></div><div aria-describedby="newGroupDialogDescription" aria-labelledby="newGroupHeader" class="modal fade" id="newGroup" role="dialog" style="display: none" tabindex="0"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h1 class="modal-title" id="newGroupHeader">Create a New Group</h1><p class="sr-only" id="newGroupDialogDescription">Dialog for creating a new group</p><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button></div><div class="modal-body"><form action="/groups" data-toggle="validator" enctype="multipart/form-data" id="groupForm"><div class="alert-container"></div><div class="form-group has-feedback"><div class="input-group"><label class="input-group-addon input-min-width" for="newGroupName">Group Name</label><input class="form-control auto-expand" id="newGroupName" maxlength="100" minlength="3" name="name" placeholder="Enter a name for this group" required="required" type="text" /></div><span class="remaining-characters-warning"></span><div class="help-block with-errors"></div><span aria-hidden="true" class="glyphicon form-control-feedback"></span></div><div class="form-group has-feedback"><div class="input-group"><label class="input-group-addon input-min-width" for="newGroupDescription">Group Description</label><textarea class="form-control" id="newGroupDescription" name="description" placeholder="Enter a description of this group (optional)"></textarea></div><div class="help-block with-errors"></div><span aria-hidden="true" class="glyphicon form-control-feedback"></span></div><h2 class="center">Group Members</h2><table class="clean-table order-list"><caption class="sr-only">Group Members</caption><thead><tr><th>Username</th><th>Type</th><th></th></tr></thead><tbody><tr><td><input class="form-control" name="username" readonly="" type="text" value="" /></td><td><div class="form-group"><select class="form-control" value="owner"><option value="owner">owner</option></select></div></td><td><a class="deleteRow"></a></td></tr></tbody><tfoot><tr><td colspan="5" style="text-align: left"><input class="btn btn-lg btn-block addrow" id="addrow" type="button" value="Add Row" /></td></tr></tfoot></table><div class="modal-footer"><div><button class="btn btn-danger" data-dismiss="modal" type="button">Cancel</button><button class="btn btn-success" data-disable-with="Submitting..." id="groupFormSubmit" type="submit">Create Group</button></div></div></form></div></div></div></div><div aria-describedby="runInJupyterDescription" aria-labelledby="runInJupyterHeader" class="modal fade" id="runInJupyterModal" role="dialog" style="display: none" tabindex="0"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h1 class="modal-title" id="runInJupyterHeader">Select Jupyter environment</h1><p class="sr-only" id="runInJupyterDescription">Dialog for selecting which Jupyter environment to run a notebook in</p><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button></div><div class="modal-body"><p>Please select which Juptyer environment you would like this notebook sent to.</p><form id="environmentSelectedForm"><input id="runInJupyterId" type="hidden" /><input id="runInJupyterType" type="hidden" /><input id="runInJupyterRef" type="hidden" /><table class="table" id="jupyterEnvironments"><caption class="sr-only">Jupyter environment selection</caption><thead><th></th><th>Name</th><th>URL</th></thead><tbody></tbody></table><div class="modal-footer"><div><button class="btn btn-danger" data-dismiss="modal" type="button">Cancel</button><button class="btn btn-success" id="environmentSelectedFormSubmit" type="submit">Select</button></div></div></form></div></div></div></div><div aria-describedby="runInJupyterNoInstanceDescription" aria-labelledby="runInJupyterNoInstanceHeader" class="modal fade" id="runInJupyterNoInstanceModal" role="dialog" style="display: none" tabindex="0"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h1 class="modal-title" id="runInJupyterNoInstanceHeader">No Jupyter Instance</h1><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button></div><div class="modal-body"><p id="runInJupyterNoInstanceDescription">You must have a Jupyter instance to send notebooks to. If you already have one, then you can specify that notebook in your <a href='/environments'>environments</a>.</p><div class="modal-footer"><div><button class="btn btn-danger" data-dismiss="modal" type="button">Close</button></div></div></div></div></div></div><div aria-describedby="runInJupyterOverwriteDescription" aria-labelledby="runInJupyterOverwriteHeader" class="modal fade" id="runInJupyterOverwrite" role="dialog" style="display: none" tabindex="0"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h1 class="modal-title" id="runInJupyterOverwriteHeader">Notebook Already Exists</h1><p class="sr-only" id="runInJupyterOverwriteDescription">Dialog requesting confirmation to overwrite notebook in Jupyter instance</p><button aria-label="Close Dialog" class="close" data-dismiss="modal">&times;</button></div><div class="modal-body"><p>A notebook by this name already exists. What would you like to do?<br />Notebook name: <span id="runInJupyterOverwriteName"></span></p><form id="overwriteNotebookForm"><input id="runInJupyterUrl" type="hidden" /><input id="runInJupyterNotebook" type="hidden" /><input id="runInJupyterName" type="hidden" /><input id="runInJupyterUserInterface" type="hidden" /><div class="modal-footer"><div><button class="btn btn-primary" data-dismiss="modal" type="button">Cancel</button><button class="btn btn-danger" id="runInJupyterOverwriteSubmit" type="submit">Overwrite</button></div></div></form></div></div></div></div></div><main id="main"><div id="hiddenSpinner" role="alert"><img class="ld ld-breath logo-loading" alt="Loading" src="/assets/nbgallery_logo-de6ee661cda24b8acfa073d3a039dac043f3e172eb3caf9b536c445d5e6ffc77.png" /></div><div class="content-container alert-container"></div>[{"language":"python","notebooks":2,"url":"https://nbgallery.ees220002.projects.jetstream-cloud.org/languages/python"},{"language":"python 2","notebooks":0,"url":"https://nbgallery.ees220002.projects.jetstream-cloud.org/languages/python2"},{"language":"python 3","notebooks":2,"url":"https://nbgallery.ees220002.projects.jetstream-cloud.org/languages/python3"},{"language":"unknown","notebooks":1,"url":"https://nbgallery.ees220002.projects.jetstream-cloud.org/languages/unknown"}]</main></div></div><div class="sr-only" id="screenreaderAlerts"></div></body></html>