2 | 2 |
<head>
|
3 | 3 |
<meta charset="utf-8">
|
4 | 4 |
<meta name="viewport" content="width=device-width, initial-scale=1">
|
5 | |
<meta name="generator" content="pdoc 7.1.0" />
|
|
5 |
<meta name="generator" content="pdoc 10.0.1"/>
|
6 | 6 |
<title>netCDF4 API documentation</title>
|
7 | |
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%2244.5%202.5%2015%2015%22%3E%3Cpath%20d%3D%22M49.351%2021.041c-.233-.721-.546-2.408-.772-4.076-.042-.09-.067-.187-.046-.288-.166-1.347-.277-2.625-.241-3.351-1.378-1.008-2.271-2.586-2.271-4.362%200-.976.272-1.935.788-2.774.057-.094.122-.18.184-.268-.033-.167-.052-.339-.052-.516%200-1.477%201.202-2.679%202.679-2.679.791%200%201.496.352%201.987.9a6.3%206.3%200%200%201%201.001.029c.492-.564%201.207-.929%202.012-.929%201.477%200%202.679%201.202%202.679%202.679a2.65%202.65%200%200%201-.269%201.148c.383.747.595%201.572.595%202.41%200%202.311-1.507%204.29-3.635%205.107.037.699.147%202.27.423%203.294l.137.461c.156%202.136-4.612%205.166-5.199%203.215zm.127-4.919a4.78%204.78%200%200%200%20.775-.584c-.172-.115-.505-.254-.88-.378zm.331%202.302l.828-.502c-.202-.143-.576-.328-.984-.49zm.45%202.157l.701-.403c-.214-.115-.536-.249-.891-.376l.19.779zM49.13%204.141c0%20.152.123.276.276.276s.275-.124.275-.276-.123-.276-.276-.276-.275.124-.275.276zm.735-.389a1.15%201.15%200%200%201%20.314.783%201.16%201.16%200%200%201-1.162%201.162c-.457%200-.842-.27-1.032-.653-.026.117-.042.238-.042.362a1.68%201.68%200%200%200%201.679%201.679%201.68%201.68%200%200%200%201.679-1.679c0-.843-.626-1.535-1.436-1.654zm3.076%201.654a1.68%201.68%200%200%200%201.679%201.679%201.68%201.68%200%200%200%201.679-1.679c0-.037-.009-.072-.011-.109-.21.3-.541.508-.935.508a1.16%201.16%200%200%201-1.162-1.162%201.14%201.14%200%200%201%20.474-.912c-.015%200-.03-.005-.045-.005-.926.001-1.679.754-1.679%201.68zm1.861-1.265c0%20.152.123.276.276.276s.275-.124.275-.276-.123-.276-.276-.276-.275.124-.275.276zm1.823%204.823c0-.52-.103-1.035-.288-1.52-.466.394-1.06.64-1.717.64-1.144%200-2.116-.725-2.499-1.738-.383%201.012-1.355%201.738-2.499%201.738-.867%200-1.631-.421-2.121-1.062-.307.605-.478%201.267-.478%201.942%200%202.486%202.153%204.51%204.801%204.51s4.801-2.023%204.801-4.51zm-3.032%209.156l-.146-.492c-.276-1.02-.395-2.457-.444-3.268a6.11%206.11%200%200%201-1.18.115%206.01%206.01%200%200%201-2.536-.562l.006.175c.802.215%201.848.612%202.021%201.25.079.295-.021.601-.274.837l-.598.501c.667.304%201.243.698%201.311%201.179.02.144.022.507-.393.787l-.564.365c1.285.521%201.361.96%201.381%201.126.018.142.011.496-.427.746l-.854.489c.064-1.19%201.985-2.585%202.697-3.248zM49.34%209.925c0-.667%201-.667%201%200%200%20.653.818%201.205%201.787%201.205s1.787-.552%201.787-1.205c0-.667%201-.667%201%200%200%201.216-1.25%202.205-2.787%202.205s-2.787-.989-2.787-2.205zm-.887-7.633c-.093.077-.205.114-.317.114a.5.5%200%200%201-.318-.886L49.183.397a.5.5%200%200%201%20.703.068.5.5%200%200%201-.069.703zm7.661-.065c-.086%200-.173-.022-.253-.068l-1.523-.893c-.575-.337-.069-1.2.506-.863l1.523.892a.5.5%200%200%201%20.179.685c-.094.158-.261.247-.432.247z%22%20fill%3D%22%233bb300%22/%3E%3C/svg%3E"/>
|
8 | |
|
9 | |
|
10 | |
<style type="text/css">/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
11 | |
<style>/*! pygments syntax highlighting */pre{line-height:125%;}td.linenos pre{color:#000000; background-color:#f0f0f0; padding-left:5px; padding-right:5px;}span.linenos{color:#000000; background-color:#f0f0f0; padding-left:5px; padding-right:5px;}td.linenos pre.special{color:#000000; background-color:#ffffc0; padding-left:5px; padding-right:5px;}span.linenos.special{color:#000000; background-color:#ffffc0; padding-left:5px; padding-right:5px;}.pdoc .hll{background-color:#ffffcc}.pdoc{background:#f8f8f8;}.pdoc .c{color:#408080; font-style:italic}.pdoc .err{border:1px solid #FF0000}.pdoc .k{color:#008000; font-weight:bold}.pdoc .o{color:#666666}.pdoc .ch{color:#408080; font-style:italic}.pdoc .cm{color:#408080; font-style:italic}.pdoc .cp{color:#BC7A00}.pdoc .cpf{color:#408080; font-style:italic}.pdoc .c1{color:#408080; font-style:italic}.pdoc .cs{color:#408080; font-style:italic}.pdoc .gd{color:#A00000}.pdoc .ge{font-style:italic}.pdoc .gr{color:#FF0000}.pdoc .gh{color:#000080; font-weight:bold}.pdoc .gi{color:#00A000}.pdoc .go{color:#888888}.pdoc .gp{color:#000080; font-weight:bold}.pdoc .gs{font-weight:bold}.pdoc .gu{color:#800080; font-weight:bold}.pdoc .gt{color:#0044DD}.pdoc .kc{color:#008000; font-weight:bold}.pdoc .kd{color:#008000; font-weight:bold}.pdoc .kn{color:#008000; font-weight:bold}.pdoc .kp{color:#008000}.pdoc .kr{color:#008000; font-weight:bold}.pdoc .kt{color:#B00040}.pdoc .m{color:#666666}.pdoc .s{color:#BA2121}.pdoc .na{color:#7D9029}.pdoc .nb{color:#008000}.pdoc .nc{color:#0000FF; font-weight:bold}.pdoc .no{color:#880000}.pdoc .nd{color:#AA22FF}.pdoc .ni{color:#999999; font-weight:bold}.pdoc .ne{color:#D2413A; font-weight:bold}.pdoc .nf{color:#0000FF}.pdoc .nl{color:#A0A000}.pdoc .nn{color:#0000FF; font-weight:bold}.pdoc .nt{color:#008000; font-weight:bold}.pdoc .nv{color:#19177C}.pdoc .ow{color:#AA22FF; font-weight:bold}.pdoc .w{color:#bbbbbb}.pdoc .mb{color:#666666}.pdoc .mf{color:#666666}.pdoc .mh{color:#666666}.pdoc .mi{color:#666666}.pdoc .mo{color:#666666}.pdoc .sa{color:#BA2121}.pdoc .sb{color:#BA2121}.pdoc .sc{color:#BA2121}.pdoc .dl{color:#BA2121}.pdoc .sd{color:#BA2121; font-style:italic}.pdoc .s2{color:#BA2121}.pdoc .se{color:#BB6622; font-weight:bold}.pdoc .sh{color:#BA2121}.pdoc .si{color:#BB6688; font-weight:bold}.pdoc .sx{color:#008000}.pdoc .sr{color:#BB6688}.pdoc .s1{color:#BA2121}.pdoc .ss{color:#19177C}.pdoc .bp{color:#008000}.pdoc .fm{color:#0000FF}.pdoc .vc{color:#19177C}.pdoc .vg{color:#19177C}.pdoc .vi{color:#19177C}.pdoc .vm{color:#19177C}.pdoc .il{color:#666666}</style>
|
12 | |
<style>/*! pdoc */:root{--pdoc-background:#fff;}.pdoc{--text:#212529;--muted:#6c757d;--link:#3660a5;--link-hover:#1659c5;--code:#f7f7f7;--active:#fff598;--accent:#eee;--accent2:#c1c1c1;--nav-hover:rgba(255, 255, 255, 0.5);--name:#0066BB;--def:#008800;--annotation:#007020;}body{background-color:var(--pdoc-background);}html, body{width:100%;height:100%;}@media (max-width:769px){#navtoggle{cursor:pointer;position:absolute;width:50px;height:40px;top:1rem;right:1rem;border-color:var(--text);color:var(--text);display:flex;opacity:0.8;}#navtoggle:hover{opacity:1;}#togglestate + div{display:none;}#togglestate:checked + div{display:inherit;}main, header{padding:2rem 3vw;}.git-button{display:none !important;}nav input[type="search"]:valid ~ *{display:none !important;}}@media (min-width:770px){:root{--sidebar-width:clamp(12.5rem, 28vw, 22rem);}nav{position:fixed;overflow:auto;height:100vh;width:var(--sidebar-width);}main, header{padding:3rem 2rem 3rem calc(var(--sidebar-width) + 3rem);width:calc(54rem + var(--sidebar-width));max-width:100%;}#navtoggle{display:none;}}#togglestate{display:none;}nav.pdoc{--pad:1.75rem;--indent:1.5rem;background-color:var(--accent);border-right:1px solid var(--accent2);box-shadow:0 0 20px rgba(50, 50, 50, .2) inset;padding:0 0 0 var(--pad);overflow-wrap:anywhere;scrollbar-width:thin; scrollbar-color:var(--accent2) transparent }nav.pdoc::-webkit-scrollbar{width:.4rem; }nav.pdoc::-webkit-scrollbar-thumb{background-color:var(--accent2); }nav.pdoc > div{padding:var(--pad) 0;}nav.pdoc .module-list-button{display:inline-flex;align-items:center;color:var(--text);border-color:var(--muted);margin-bottom:1rem;}nav.pdoc .module-list-button:hover{border-color:var(--text);}nav.pdoc input[type=search]{display:block;outline-offset:0;width:calc(100% - var(--pad));}nav.pdoc ul{list-style:none;padding-left:0;}nav.pdoc li{display:block;margin:0;padding:.2rem 0 .2rem var(--indent);transition:all 100ms;}nav.pdoc > div > ul > li{padding-left:0;}nav.pdoc li:hover{background-color:var(--nav-hover);}nav.pdoc a, nav.pdoc a:hover{color:var(--text);}nav.pdoc a{display:block;}nav.pdoc > h2:first-of-type{margin-top:1.5rem;}nav.pdoc .class:before{content:"class ";color:var(--muted);}nav.pdoc .function:after{content:"()";color:var(--muted);}html, main{scroll-behavior:smooth;}.pdoc{color:var(--text);box-sizing:border-box;line-height:1.5;background:none;}.pdoc .pdoc-button{display:inline-block;border:solid black 1px;border-radius:2px;font-size:.75rem;padding:calc(0.5em - 1px) 1em;transition:100ms all;}.pdoc .visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important;}.pdoc h1, .pdoc h2, .pdoc h3{font-weight:300;margin:.3em 0;padding:.2em 0;}.pdoc a{text-decoration:none;color:var(--link);}.pdoc a:hover{color:var(--link-hover);}.pdoc blockquote{margin-left:2rem;}.pdoc pre{background-color:var(--code);border-top:1px solid var(--accent2);border-bottom:1px solid var(--accent2);margin-bottom:1em;padding:.5rem 0 .5rem .5rem;overflow-x:auto;}.pdoc code{color:var(--text);padding:.2em .4em;margin:0;font-size:85%;background-color:var(--code);border-radius:6px;}.pdoc a > code{color:inherit;}.pdoc pre > code{display:inline-block;font-size:inherit;background:none;border:none;padding:0;}.pdoc .modulename{margin-top:0;font-weight:bold;}.pdoc .modulename a{color:var(--link);transition:100ms all;}.pdoc .git-button{float:right;border:solid var(--link) 1px;}.pdoc .git-button:hover{background-color:var(--link);color:var(--pdoc-background);}.pdoc details{--shift:-40px;text-align:right;margin-top:var(--shift);margin-bottom:calc(0px - var(--shift));clear:both;filter:opacity(1);}.pdoc details:not([open]){height:0;overflow:visible;}.pdoc details > summary{font-size:.75rem;cursor:pointer;color:var(--muted);border-width:0;padding:0 .7em;display:inline-block;display:inline list-item;user-select:none;}.pdoc details > summary:focus{outline:0;}.pdoc details > div{margin-top:calc(0px - var(--shift) / 2);text-align:left;}.pdoc .docstring{margin-bottom:1.5rem;}.pdoc > section:first-of-type > .docstring{margin-bottom:3rem;}.pdoc .docstring pre{margin-left:1em;margin-right:1em;}.pdoc h1:target,.pdoc h2:target,.pdoc h3:target,.pdoc h4:target,.pdoc h5:target,.pdoc h6:target{background-color:var(--active);box-shadow:-1rem 0 0 0 var(--active);}.pdoc div:target > .attr,.pdoc section:target > .attr,.pdoc dd:target > a{background-color:var(--active);}.pdoc .attr:hover{filter:contrast(0.95);}.pdoc .headerlink{position:absolute;width:0;margin-left:-1.5rem;line-height:1.4rem;font-size:1.5rem;font-weight:normal;transition:all 100ms ease-in-out;opacity:0;}.pdoc .attr > .headerlink{margin-left:-2.5rem;}.pdoc *:hover > .headerlink,.pdoc *:target > .attr > .headerlink{opacity:1;}.pdoc .attr{display:block;color:var(--text);margin:1rem 0 .5rem;padding:.4rem 5rem .4rem 1rem;background-color:var(--accent);}.pdoc .classattr{margin-left:2rem;}.pdoc .name{color:var(--name);font-weight:bold;}.pdoc .def{color:var(--def);font-weight:bold;}.pdoc .signature{white-space:pre-wrap;}.pdoc .annotation{color:var(--annotation);}.pdoc .inherited{margin-left:2rem;}.pdoc .inherited dt{font-weight:700;}.pdoc .inherited dt, .pdoc .inherited dd{display:inline;margin-left:0;margin-bottom:.5rem;}.pdoc .inherited dd:not(:last-child):after{content:", ";}.pdoc .inherited .class:before{content:"class ";}.pdoc .inherited .function a:after{content:"()";}.pdoc .search-result .docstring{overflow:auto;max-height:25vh;}.pdoc .search-result.focused > .attr{background-color:var(--active);}.pdoc .attribution{margin-top:2rem;display:block;opacity:0.5;transition:all 200ms;filter:grayscale(100%);}.pdoc .attribution:hover{opacity:1;filter:grayscale(0%);}.pdoc .attribution img{margin-left:5px;height:35px;vertical-align:middle;width:70px;transition:all 200ms;}</style>
|
13 | |
</head>
|
14 | |
<body> <nav class="pdoc">
|
15 | |
<label id="navtoggle" for="togglestate" class="pdoc-button"><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke-linecap='round' stroke="currentColor" stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg></label>
|
16 | |
<input id="togglestate" type="checkbox">
|
17 | |
<div>
|
18 | |
|
19 | |
|
20 | |
|
21 | |
<h2>Contents</h2>
|
22 | |
<ul>
|
23 | |
<li><a href="#version-157">Version 1.5.7</a></li>
|
|
7 |
|
|
8 |
<style>/*! * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) * Copyright 2011-2021 The Bootstrap Authors * Copyright 2011-2021 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}</style>
|
|
9 |
<style>/*! syntax-highlighting.css */pre{line-height:125%;}span.linenos{color:inherit; background-color:transparent; padding-left:5px; padding-right:20px;}.pdoc-code .hll{background-color:#ffffcc}.pdoc-code{background:#f8f8f8;}.pdoc-code .c{color:#3D7B7B; font-style:italic}.pdoc-code .err{border:1px solid #FF0000}.pdoc-code .k{color:#008000; font-weight:bold}.pdoc-code .o{color:#666666}.pdoc-code .ch{color:#3D7B7B; font-style:italic}.pdoc-code .cm{color:#3D7B7B; font-style:italic}.pdoc-code .cp{color:#9C6500}.pdoc-code .cpf{color:#3D7B7B; font-style:italic}.pdoc-code .c1{color:#3D7B7B; font-style:italic}.pdoc-code .cs{color:#3D7B7B; font-style:italic}.pdoc-code .gd{color:#A00000}.pdoc-code .ge{font-style:italic}.pdoc-code .gr{color:#E40000}.pdoc-code .gh{color:#000080; font-weight:bold}.pdoc-code .gi{color:#008400}.pdoc-code .go{color:#717171}.pdoc-code .gp{color:#000080; font-weight:bold}.pdoc-code .gs{font-weight:bold}.pdoc-code .gu{color:#800080; font-weight:bold}.pdoc-code .gt{color:#0044DD}.pdoc-code .kc{color:#008000; font-weight:bold}.pdoc-code .kd{color:#008000; font-weight:bold}.pdoc-code .kn{color:#008000; font-weight:bold}.pdoc-code .kp{color:#008000}.pdoc-code .kr{color:#008000; font-weight:bold}.pdoc-code .kt{color:#B00040}.pdoc-code .m{color:#666666}.pdoc-code .s{color:#BA2121}.pdoc-code .na{color:#687822}.pdoc-code .nb{color:#008000}.pdoc-code .nc{color:#0000FF; font-weight:bold}.pdoc-code .no{color:#880000}.pdoc-code .nd{color:#AA22FF}.pdoc-code .ni{color:#717171; font-weight:bold}.pdoc-code .ne{color:#CB3F38; font-weight:bold}.pdoc-code .nf{color:#0000FF}.pdoc-code .nl{color:#767600}.pdoc-code .nn{color:#0000FF; font-weight:bold}.pdoc-code .nt{color:#008000; font-weight:bold}.pdoc-code .nv{color:#19177C}.pdoc-code .ow{color:#AA22FF; font-weight:bold}.pdoc-code .w{color:#bbbbbb}.pdoc-code .mb{color:#666666}.pdoc-code .mf{color:#666666}.pdoc-code .mh{color:#666666}.pdoc-code .mi{color:#666666}.pdoc-code .mo{color:#666666}.pdoc-code .sa{color:#BA2121}.pdoc-code .sb{color:#BA2121}.pdoc-code .sc{color:#BA2121}.pdoc-code .dl{color:#BA2121}.pdoc-code .sd{color:#BA2121; font-style:italic}.pdoc-code .s2{color:#BA2121}.pdoc-code .se{color:#AA5D1F; font-weight:bold}.pdoc-code .sh{color:#BA2121}.pdoc-code .si{color:#A45A77; font-weight:bold}.pdoc-code .sx{color:#008000}.pdoc-code .sr{color:#A45A77}.pdoc-code .s1{color:#BA2121}.pdoc-code .ss{color:#19177C}.pdoc-code .bp{color:#008000}.pdoc-code .fm{color:#0000FF}.pdoc-code .vc{color:#19177C}.pdoc-code .vg{color:#19177C}.pdoc-code .vi{color:#19177C}.pdoc-code .vm{color:#19177C}.pdoc-code .il{color:#666666}</style>
|
|
10 |
<style>/*! theme.css */:root{--pdoc-background:#fff;}.pdoc{--text:#212529;--muted:#6c757d;--link:#3660a5;--link-hover:#1659c5;--code:#f8f8f8;--active:#fff598;--accent:#eee;--accent2:#c1c1c1;--nav-hover:rgba(255, 255, 255, 0.5);--name:#0066BB;--def:#008800;--annotation:#007020;}</style>
|
|
11 |
<style>/*! layout.css */html, body{width:100%;height:100%;}html, main{scroll-behavior:smooth;}body{background-color:var(--pdoc-background);}@media (max-width:769px){#navtoggle{cursor:pointer;position:absolute;width:50px;height:40px;top:1rem;right:1rem;border-color:var(--text);color:var(--text);display:flex;opacity:0.8;}#navtoggle:hover{opacity:1;}#togglestate + div{display:none;}#togglestate:checked + div{display:inherit;}main, header{padding:2rem 3vw;}header + main{margin-top:-3rem;}.git-button{display:none !important;}nav input[type="search"]{max-width:77%;}nav input[type="search"]:first-child{margin-top:-6px;}nav input[type="search"]:valid ~ *{display:none !important;}}@media (min-width:770px){:root{--sidebar-width:clamp(12.5rem, 28vw, 22rem);}nav{position:fixed;overflow:auto;height:100vh;width:var(--sidebar-width);}main, header{padding:3rem 2rem 3rem calc(var(--sidebar-width) + 3rem);width:calc(54rem + var(--sidebar-width));max-width:100%;}header + main{margin-top:-4rem;}#navtoggle{display:none;}}#togglestate{position:absolute;height:0;}nav.pdoc{--pad:1.75rem;--indent:1.5rem;background-color:var(--accent);border-right:1px solid var(--accent2);box-shadow:0 0 20px rgba(50, 50, 50, .2) inset;padding:0 0 0 var(--pad);overflow-wrap:anywhere;scrollbar-width:thin; scrollbar-color:var(--accent2) transparent }nav.pdoc::-webkit-scrollbar{width:.4rem; }nav.pdoc::-webkit-scrollbar-thumb{background-color:var(--accent2); }nav.pdoc > div{padding:var(--pad) 0;}nav.pdoc .module-list-button{display:inline-flex;align-items:center;color:var(--text);border-color:var(--muted);margin-bottom:1rem;}nav.pdoc .module-list-button:hover{border-color:var(--text);}nav.pdoc input[type=search]{display:block;outline-offset:0;width:calc(100% - var(--pad));}nav.pdoc .logo{max-width:calc(100% - var(--pad));max-height:35vh;display:block;margin:0 auto 1rem;transform:translate(calc(-.5 * var(--pad)), 0);}nav.pdoc ul{list-style:none;padding-left:0;}nav.pdoc li{display:block;margin:0;padding:.2rem 0 .2rem var(--indent);transition:all 100ms;}nav.pdoc > div > ul > li{padding-left:0;}nav.pdoc li:hover{background-color:var(--nav-hover);}nav.pdoc a, nav.pdoc a:hover{color:var(--text);}nav.pdoc a{display:block;}nav.pdoc > h2:first-of-type{margin-top:1.5rem;}nav.pdoc .class:before{content:"class ";color:var(--muted);}nav.pdoc .function:after{content:"()";color:var(--muted);}nav.pdoc footer:before{content:"";display:block;width:calc(100% - var(--pad));border-top:solid var(--accent2) 1px;margin-top:1.5rem;padding-top:.5rem;}nav.pdoc footer{font-size:small;}</style>
|
|
12 |
<style>/*! content.css */.pdoc{color:var(--text);box-sizing:border-box;line-height:1.5;background:none;}.pdoc .pdoc-button{display:inline-block;border:solid black 1px;border-radius:2px;font-size:.75rem;padding:calc(0.5em - 1px) 1em;transition:100ms all;}.pdoc .visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important;}.pdoc h1, .pdoc h2, .pdoc h3{font-weight:300;margin:.3em 0;padding:.2em 0;}.pdoc a{text-decoration:none;color:var(--link);}.pdoc a:hover{color:var(--link-hover);}.pdoc blockquote{margin-left:2rem;}.pdoc pre{border-top:1px solid var(--accent2);border-bottom:1px solid var(--accent2);margin-top:0;margin-bottom:1em;padding:.5rem 0 .5rem .5rem;overflow-x:auto;background-color:var(--code);}.pdoc code{color:var(--text);padding:.2em .4em;margin:0;font-size:85%;background-color:var(--code);border-radius:6px;}.pdoc a > code{color:inherit;}.pdoc pre > code{display:inline-block;font-size:inherit;background:none;border:none;padding:0;}.pdoc .modulename{margin-top:0;font-weight:bold;}.pdoc .modulename a{color:var(--link);transition:100ms all;}.pdoc .git-button{float:right;border:solid var(--link) 1px;}.pdoc .git-button:hover{background-color:var(--link);color:var(--pdoc-background);}.pdoc details{filter:opacity(1);}.pdoc details:not([open]){height:0;}.pdoc details > summary{position:absolute;top:-35px;right:0;font-size:.75rem;color:var(--muted);padding:0 .7em;user-select:none;cursor:pointer;}.pdoc details > summary:focus{outline:0;}.pdoc .docstring{margin-bottom:1.5rem;}.pdoc > section:first-of-type > .docstring{margin-bottom:2.5rem;}.pdoc .docstring .pdoc-code{margin-left:1em;margin-right:1em;}.pdoc h1:target,.pdoc h2:target,.pdoc h3:target,.pdoc h4:target,.pdoc h5:target,.pdoc h6:target{background-color:var(--active);box-shadow:-1rem 0 0 0 var(--active);}.pdoc div:target > .attr,.pdoc section:target > .attr,.pdoc dd:target > a{background-color:var(--active);}.pdoc .attr:hover{filter:contrast(0.95);}.pdoc .headerlink{position:absolute;width:0;margin-left:-1.5rem;line-height:1.4rem;font-size:1.5rem;font-weight:normal;transition:all 100ms ease-in-out;opacity:0;user-select:none;}.pdoc .attr > .headerlink{margin-left:-2.5rem;}.pdoc *:hover > .headerlink,.pdoc *:target > .attr > .headerlink{opacity:1;}.pdoc .attr{display:block;color:var(--text);margin:.5rem 0 .5rem;padding:.4rem 5rem .4rem 1rem;background-color:var(--accent);}.pdoc .classattr{margin-left:2rem;}.pdoc .name{color:var(--name);font-weight:bold;}.pdoc .def{color:var(--def);font-weight:bold;}.pdoc .signature{white-space:pre-wrap;}.pdoc .annotation{color:var(--annotation);}.pdoc .inherited{margin-left:2rem;}.pdoc .inherited dt{font-weight:700;}.pdoc .inherited dt, .pdoc .inherited dd{display:inline;margin-left:0;margin-bottom:.5rem;}.pdoc .inherited dd:not(:last-child):after{content:", ";}.pdoc .inherited .class:before{content:"class ";}.pdoc .inherited .function a:after{content:"()";}.pdoc .search-result .docstring{overflow:auto;max-height:25vh;}.pdoc .search-result.focused > .attr{background-color:var(--active);}.pdoc .attribution{margin-top:2rem;display:block;opacity:0.5;transition:all 200ms;filter:grayscale(100%);}.pdoc .attribution:hover{opacity:1;filter:grayscale(0%);}.pdoc .attribution img{margin-left:5px;height:35px;vertical-align:middle;width:70px;transition:all 200ms;}.pdoc table{display:block;width:max-content;max-width:100%;overflow:auto;margin-bottom:1rem;}.pdoc table th{font-weight:600;}.pdoc table th, .pdoc table td{padding:6px 13px;border:1px solid var(--accent2);}</style>
|
|
13 |
<style>/*! custom.css */</style></head>
|
|
14 |
<body>
|
|
15 |
<nav class="pdoc">
|
|
16 |
<label id="navtoggle" for="togglestate" class="pdoc-button"><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke-linecap='round' stroke="currentColor" stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg></label>
|
|
17 |
<input id="togglestate" type="checkbox" aria-hidden="true" tabindex="-1">
|
|
18 |
<div>
|
|
19 |
|
|
20 |
|
|
21 |
<h2>Contents</h2>
|
|
22 |
<ul>
|
|
23 |
<li><a href="#version-160">Version 1.6.0</a></li>
|
24 | 24 |
</ul></li>
|
25 | 25 |
<li><a href="#introduction">Introduction</a>
|
26 | 26 |
<ul>
|
|
48 | 48 |
|
49 | 49 |
|
50 | 50 |
|
51 | |
<h2>API Documentation</h2>
|
52 | |
<ul class="memberlist">
|
|
51 |
<h2>API Documentation</h2>
|
|
52 |
<ul class="memberlist">
|
53 | 53 |
<li>
|
54 | 54 |
<a class="class" href="#Dataset">Dataset</a>
|
55 | 55 |
<ul class="memberlist">
|
|
220 | 220 |
</li>
|
221 | 221 |
<li>
|
222 | 222 |
<a class="function" href="#Variable.filters">filters</a>
|
|
223 |
</li>
|
|
224 |
<li>
|
|
225 |
<a class="function" href="#Variable.quantization">quantization</a>
|
223 | 226 |
</li>
|
224 | 227 |
<li>
|
225 | 228 |
<a class="function" href="#Variable.endian">endian</a>
|
|
443 | 446 |
</ul>
|
444 | 447 |
|
445 | 448 |
|
446 | |
<a class="attribution" title="pdoc: Python API documentation generator" href="https://pdoc.dev">
|
447 | |
built with <span class="visually-hidden">pdoc</span><img
|
448 | |
alt="pdoc logo"
|
449 | |
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20role%3D%22img%22%20aria-label%3D%22pdoc%20logo%22%20width%3D%22300%22%20height%3D%22150%22%20viewBox%3D%22-1%200%2060%2030%22%3E%3Ctitle%3Epdoc%3C/title%3E%3Cpath%20d%3D%22M29.621%2021.293c-.011-.273-.214-.475-.511-.481a.5.5%200%200%200-.489.503l-.044%201.393c-.097.551-.695%201.215-1.566%201.704-.577.428-1.306.486-2.193.182-1.426-.617-2.467-1.654-3.304-2.487l-.173-.172a3.43%203.43%200%200%200-.365-.306.49.49%200%200%200-.286-.196c-1.718-1.06-4.931-1.47-7.353.191l-.219.15c-1.707%201.187-3.413%202.131-4.328%201.03-.02-.027-.49-.685-.141-1.763.233-.721.546-2.408.772-4.076.042-.09.067-.187.046-.288.166-1.347.277-2.625.241-3.351%201.378-1.008%202.271-2.586%202.271-4.362%200-.976-.272-1.935-.788-2.774-.057-.094-.122-.18-.184-.268.033-.167.052-.339.052-.516%200-1.477-1.202-2.679-2.679-2.679-.791%200-1.496.352-1.987.9a6.3%206.3%200%200%200-1.001.029c-.492-.564-1.207-.929-2.012-.929-1.477%200-2.679%201.202-2.679%202.679A2.65%202.65%200%200%200%20.97%206.554c-.383.747-.595%201.572-.595%202.41%200%202.311%201.507%204.29%203.635%205.107-.037.699-.147%202.27-.423%203.294l-.137.461c-.622%202.042-2.515%208.257%201.727%2010.643%201.614.908%203.06%201.248%204.317%201.248%202.665%200%204.492-1.524%205.322-2.401%201.476-1.559%202.886-1.854%206.491.82%201.877%201.393%203.514%201.753%204.861%201.068%202.223-1.713%202.811-3.867%203.399-6.374.077-.846.056-1.469.054-1.537zm-4.835%204.313c-.054.305-.156.586-.242.629-.034-.007-.131-.022-.307-.157-.145-.111-.314-.478-.456-.908.221.121.432.25.675.355.115.039.219.051.33.081zm-2.251-1.238c-.05.33-.158.648-.252.694-.022.001-.125-.018-.307-.157-.217-.166-.488-.906-.639-1.573.358.344.754.693%201.198%201.036zm-3.887-2.337c-.006-.116-.018-.231-.041-.342.635.145%201.189.368%201.599.625.097.231.166.481.174.642-.03.049-.055.101-.067.158-.046.013-.128.026-.298.004-.278-.037-.901-.57-1.367-1.087zm-1.127-.497c.116.306.176.625.12.71-.019.014-.117.045-.345.016-.206-.027-.604-.332-.986-.695.41-.051.816-.056%201.211-.031zm-4.535%201.535c.209.22.379.47.358.598-.006.041-.088.138-.351.234-.144.055-.539-.063-.979-.259a11.66%2011.66%200%200%200%20.972-.573zm.983-.664c.359-.237.738-.418%201.126-.554.25.237.479.548.457.694-.006.042-.087.138-.351.235-.174.064-.694-.105-1.232-.375zm-3.381%201.794c-.022.145-.061.29-.149.401-.133.166-.358.248-.69.251h-.002c-.133%200-.306-.26-.45-.621.417.091.854.07%201.291-.031zm-2.066-8.077a4.78%204.78%200%200%201-.775-.584c.172-.115.505-.254.88-.378l-.105.962zm-.331%202.302a10.32%2010.32%200%200%201-.828-.502c.202-.143.576-.328.984-.49l-.156.992zm-.45%202.157l-.701-.403c.214-.115.536-.249.891-.376a11.57%2011.57%200%200%201-.19.779zm-.181%201.716c.064.398.194.702.298.893-.194-.051-.435-.162-.736-.398.061-.119.224-.3.438-.495zM8.87%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zm-.735-.389a1.15%201.15%200%200%200-.314.783%201.16%201.16%200%200%200%201.162%201.162c.457%200%20.842-.27%201.032-.653.026.117.042.238.042.362a1.68%201.68%200%200%201-1.679%201.679%201.68%201.68%200%200%201-1.679-1.679c0-.843.626-1.535%201.436-1.654zM5.059%205.406A1.68%201.68%200%200%201%203.38%207.085a1.68%201.68%200%200%201-1.679-1.679c0-.037.009-.072.011-.109.21.3.541.508.935.508a1.16%201.16%200%200%200%201.162-1.162%201.14%201.14%200%200%200-.474-.912c.015%200%20.03-.005.045-.005.926.001%201.679.754%201.679%201.68zM3.198%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zM1.375%208.964c0-.52.103-1.035.288-1.52.466.394%201.06.64%201.717.64%201.144%200%202.116-.725%202.499-1.738.383%201.012%201.355%201.738%202.499%201.738.867%200%201.631-.421%202.121-1.062.307.605.478%201.267.478%201.942%200%202.486-2.153%204.51-4.801%204.51s-4.801-2.023-4.801-4.51zm24.342%2019.349c-.985.498-2.267.168-3.813-.979-3.073-2.281-5.453-3.199-7.813-.705-1.315%201.391-4.163%203.365-8.423.97-3.174-1.786-2.239-6.266-1.261-9.479l.146-.492c.276-1.02.395-2.457.444-3.268a6.11%206.11%200%200%200%201.18.115%206.01%206.01%200%200%200%202.536-.562l-.006.175c-.802.215-1.848.612-2.021%201.25-.079.295.021.601.274.837.219.203.415.364.598.501-.667.304-1.243.698-1.311%201.179-.02.144-.022.507.393.787.213.144.395.26.564.365-1.285.521-1.361.96-1.381%201.126-.018.142-.011.496.427.746l.854.489c-.473.389-.971.914-.999%201.429-.018.278.095.532.316.713.675.556%201.231.721%201.653.721.059%200%20.104-.014.158-.02.207.707.641%201.64%201.513%201.64h.013c.8-.008%201.236-.345%201.462-.626.173-.216.268-.457.325-.692.424.195.93.374%201.372.374.151%200%20.294-.021.423-.068.732-.27.944-.704.993-1.021.009-.061.003-.119.002-.179.266.086.538.147.789.147.15%200%20.294-.021.423-.069.542-.2.797-.489.914-.754.237.147.478.258.704.288.106.014.205.021.296.021.356%200%20.595-.101.767-.229.438.435%201.094.992%201.656%201.067.106.014.205.021.296.021a1.56%201.56%200%200%200%20.323-.035c.17.575.453%201.289.866%201.605.358.273.665.362.914.362a.99.99%200%200%200%20.421-.093%201.03%201.03%200%200%200%20.245-.164c.168.428.39.846.68%201.068.358.273.665.362.913.362a.99.99%200%200%200%20.421-.093c.317-.148.512-.448.639-.762.251.157.495.257.726.257.127%200%20.25-.024.37-.071.427-.17.706-.617.841-1.314.022-.015.047-.022.068-.038.067-.051.133-.104.196-.159-.443%201.486-1.107%202.761-2.086%203.257zM8.66%209.925a.5.5%200%201%200-1%200c0%20.653-.818%201.205-1.787%201.205s-1.787-.552-1.787-1.205a.5.5%200%201%200-1%200c0%201.216%201.25%202.205%202.787%202.205s2.787-.989%202.787-2.205zm4.4%2015.965l-.208.097c-2.661%201.258-4.708%201.436-6.086.527-1.542-1.017-1.88-3.19-1.844-4.198a.4.4%200%200%200-.385-.414c-.242-.029-.406.164-.414.385-.046%201.249.367%203.686%202.202%204.896.708.467%201.547.7%202.51.7%201.248%200%202.706-.392%204.362-1.174l.185-.086a.4.4%200%200%200%20.205-.527c-.089-.204-.326-.291-.527-.206zM9.547%202.292c.093.077.205.114.317.114a.5.5%200%200%200%20.318-.886L8.817.397a.5.5%200%200%200-.703.068.5.5%200%200%200%20.069.703l1.364%201.124zm-7.661-.065c.086%200%20.173-.022.253-.068l1.523-.893a.5.5%200%200%200-.506-.863l-1.523.892a.5.5%200%200%200-.179.685c.094.158.261.247.432.247z%22%20transform%3D%22matrix%28-1%200%200%201%2058%200%29%22%20fill%3D%22%233bb300%22/%3E%3Cpath%20d%3D%22M.3%2021.86V10.18q0-.46.02-.68.04-.22.18-.5.28-.54%201.34-.54%201.06%200%201.42.28.38.26.44.78.76-1.04%202.38-1.04%201.64%200%203.1%201.54%201.46%201.54%201.46%203.58%200%202.04-1.46%203.58-1.44%201.54-3.08%201.54-1.64%200-2.38-.92v4.04q0%20.46-.04.68-.02.22-.18.5-.14.3-.5.42-.36.12-.98.12-.62%200-1-.12-.36-.12-.52-.4-.14-.28-.18-.5-.02-.22-.02-.68zm3.96-9.42q-.46.54-.46%201.18%200%20.64.46%201.18.48.52%201.2.52.74%200%201.24-.52.52-.52.52-1.18%200-.66-.48-1.18-.48-.54-1.26-.54-.76%200-1.22.54zm14.741-8.36q.16-.3.54-.42.38-.12%201-.12.64%200%201.02.12.38.12.52.42.16.3.18.54.04.22.04.68v11.94q0%20.46-.04.7-.02.22-.18.5-.3.54-1.7.54-1.38%200-1.54-.98-.84.96-2.34.96-1.8%200-3.28-1.56-1.48-1.58-1.48-3.66%200-2.1%201.48-3.68%201.5-1.58%203.28-1.58%201.48%200%202.3%201v-4.2q0-.46.02-.68.04-.24.18-.52zm-3.24%2010.86q.52.54%201.26.54.74%200%201.22-.54.5-.54.5-1.18%200-.66-.48-1.22-.46-.56-1.26-.56-.8%200-1.28.56-.48.54-.48%201.2%200%20.66.52%201.2zm7.833-1.2q0-2.4%201.68-3.96%201.68-1.56%203.84-1.56%202.16%200%203.82%201.56%201.66%201.54%201.66%203.94%200%201.66-.86%202.96-.86%201.28-2.1%201.9-1.22.6-2.54.6-1.32%200-2.56-.64-1.24-.66-2.1-1.92-.84-1.28-.84-2.88zm4.18%201.44q.64.48%201.3.48.66%200%201.32-.5.66-.5.66-1.48%200-.98-.62-1.46-.62-.48-1.34-.48-.72%200-1.34.5-.62.5-.62%201.48%200%20.96.64%201.46zm11.412-1.44q0%20.84.56%201.32.56.46%201.18.46.64%200%201.18-.36.56-.38.9-.38.6%200%201.46%201.06.46.58.46%201.04%200%20.76-1.1%201.42-1.14.8-2.8.8-1.86%200-3.58-1.34-.82-.64-1.34-1.7-.52-1.08-.52-2.36%200-1.3.52-2.34.52-1.06%201.34-1.7%201.66-1.32%203.54-1.32.76%200%201.48.22.72.2%201.06.4l.32.2q.36.24.56.38.52.4.52.92%200%20.5-.42%201.14-.72%201.1-1.38%201.1-.38%200-1.08-.44-.36-.34-1.04-.34-.66%200-1.24.48-.58.48-.58%201.34z%22%20fill%3D%22green%22/%3E%3C/svg%3E"/>
|
450 | |
</a>
|
451 | |
</div>
|
452 | |
</nav>
|
|
449 |
|
|
450 |
<a class="attribution" title="pdoc: Python API documentation generator" href="https://pdoc.dev">
|
|
451 |
built with <span class="visually-hidden">pdoc</span><img
|
|
452 |
alt="pdoc logo"
|
|
453 |
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20role%3D%22img%22%20aria-label%3D%22pdoc%20logo%22%20width%3D%22300%22%20height%3D%22150%22%20viewBox%3D%22-1%200%2060%2030%22%3E%3Ctitle%3Epdoc%3C/title%3E%3Cpath%20d%3D%22M29.621%2021.293c-.011-.273-.214-.475-.511-.481a.5.5%200%200%200-.489.503l-.044%201.393c-.097.551-.695%201.215-1.566%201.704-.577.428-1.306.486-2.193.182-1.426-.617-2.467-1.654-3.304-2.487l-.173-.172a3.43%203.43%200%200%200-.365-.306.49.49%200%200%200-.286-.196c-1.718-1.06-4.931-1.47-7.353.191l-.219.15c-1.707%201.187-3.413%202.131-4.328%201.03-.02-.027-.49-.685-.141-1.763.233-.721.546-2.408.772-4.076.042-.09.067-.187.046-.288.166-1.347.277-2.625.241-3.351%201.378-1.008%202.271-2.586%202.271-4.362%200-.976-.272-1.935-.788-2.774-.057-.094-.122-.18-.184-.268.033-.167.052-.339.052-.516%200-1.477-1.202-2.679-2.679-2.679-.791%200-1.496.352-1.987.9a6.3%206.3%200%200%200-1.001.029c-.492-.564-1.207-.929-2.012-.929-1.477%200-2.679%201.202-2.679%202.679A2.65%202.65%200%200%200%20.97%206.554c-.383.747-.595%201.572-.595%202.41%200%202.311%201.507%204.29%203.635%205.107-.037.699-.147%202.27-.423%203.294l-.137.461c-.622%202.042-2.515%208.257%201.727%2010.643%201.614.908%203.06%201.248%204.317%201.248%202.665%200%204.492-1.524%205.322-2.401%201.476-1.559%202.886-1.854%206.491.82%201.877%201.393%203.514%201.753%204.861%201.068%202.223-1.713%202.811-3.867%203.399-6.374.077-.846.056-1.469.054-1.537zm-4.835%204.313c-.054.305-.156.586-.242.629-.034-.007-.131-.022-.307-.157-.145-.111-.314-.478-.456-.908.221.121.432.25.675.355.115.039.219.051.33.081zm-2.251-1.238c-.05.33-.158.648-.252.694-.022.001-.125-.018-.307-.157-.217-.166-.488-.906-.639-1.573.358.344.754.693%201.198%201.036zm-3.887-2.337c-.006-.116-.018-.231-.041-.342.635.145%201.189.368%201.599.625.097.231.166.481.174.642-.03.049-.055.101-.067.158-.046.013-.128.026-.298.004-.278-.037-.901-.57-1.367-1.087zm-1.127-.497c.116.306.176.625.12.71-.019.014-.117.045-.345.016-.206-.027-.604-.332-.986-.695.41-.051.816-.056%201.211-.031zm-4.535%201.535c.209.22.379.47.358.598-.006.041-.088.138-.351.234-.144.055-.539-.063-.979-.259a11.66%2011.66%200%200%200%20.972-.573zm.983-.664c.359-.237.738-.418%201.126-.554.25.237.479.548.457.694-.006.042-.087.138-.351.235-.174.064-.694-.105-1.232-.375zm-3.381%201.794c-.022.145-.061.29-.149.401-.133.166-.358.248-.69.251h-.002c-.133%200-.306-.26-.45-.621.417.091.854.07%201.291-.031zm-2.066-8.077a4.78%204.78%200%200%201-.775-.584c.172-.115.505-.254.88-.378l-.105.962zm-.331%202.302a10.32%2010.32%200%200%201-.828-.502c.202-.143.576-.328.984-.49l-.156.992zm-.45%202.157l-.701-.403c.214-.115.536-.249.891-.376a11.57%2011.57%200%200%201-.19.779zm-.181%201.716c.064.398.194.702.298.893-.194-.051-.435-.162-.736-.398.061-.119.224-.3.438-.495zM8.87%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zm-.735-.389a1.15%201.15%200%200%200-.314.783%201.16%201.16%200%200%200%201.162%201.162c.457%200%20.842-.27%201.032-.653.026.117.042.238.042.362a1.68%201.68%200%200%201-1.679%201.679%201.68%201.68%200%200%201-1.679-1.679c0-.843.626-1.535%201.436-1.654zM5.059%205.406A1.68%201.68%200%200%201%203.38%207.085a1.68%201.68%200%200%201-1.679-1.679c0-.037.009-.072.011-.109.21.3.541.508.935.508a1.16%201.16%200%200%200%201.162-1.162%201.14%201.14%200%200%200-.474-.912c.015%200%20.03-.005.045-.005.926.001%201.679.754%201.679%201.68zM3.198%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zM1.375%208.964c0-.52.103-1.035.288-1.52.466.394%201.06.64%201.717.64%201.144%200%202.116-.725%202.499-1.738.383%201.012%201.355%201.738%202.499%201.738.867%200%201.631-.421%202.121-1.062.307.605.478%201.267.478%201.942%200%202.486-2.153%204.51-4.801%204.51s-4.801-2.023-4.801-4.51zm24.342%2019.349c-.985.498-2.267.168-3.813-.979-3.073-2.281-5.453-3.199-7.813-.705-1.315%201.391-4.163%203.365-8.423.97-3.174-1.786-2.239-6.266-1.261-9.479l.146-.492c.276-1.02.395-2.457.444-3.268a6.11%206.11%200%200%200%201.18.115%206.01%206.01%200%200%200%202.536-.562l-.006.175c-.802.215-1.848.612-2.021%201.25-.079.295.021.601.274.837.219.203.415.364.598.501-.667.304-1.243.698-1.311%201.179-.02.144-.022.507.393.787.213.144.395.26.564.365-1.285.521-1.361.96-1.381%201.126-.018.142-.011.496.427.746l.854.489c-.473.389-.971.914-.999%201.429-.018.278.095.532.316.713.675.556%201.231.721%201.653.721.059%200%20.104-.014.158-.02.207.707.641%201.64%201.513%201.64h.013c.8-.008%201.236-.345%201.462-.626.173-.216.268-.457.325-.692.424.195.93.374%201.372.374.151%200%20.294-.021.423-.068.732-.27.944-.704.993-1.021.009-.061.003-.119.002-.179.266.086.538.147.789.147.15%200%20.294-.021.423-.069.542-.2.797-.489.914-.754.237.147.478.258.704.288.106.014.205.021.296.021.356%200%20.595-.101.767-.229.438.435%201.094.992%201.656%201.067.106.014.205.021.296.021a1.56%201.56%200%200%200%20.323-.035c.17.575.453%201.289.866%201.605.358.273.665.362.914.362a.99.99%200%200%200%20.421-.093%201.03%201.03%200%200%200%20.245-.164c.168.428.39.846.68%201.068.358.273.665.362.913.362a.99.99%200%200%200%20.421-.093c.317-.148.512-.448.639-.762.251.157.495.257.726.257.127%200%20.25-.024.37-.071.427-.17.706-.617.841-1.314.022-.015.047-.022.068-.038.067-.051.133-.104.196-.159-.443%201.486-1.107%202.761-2.086%203.257zM8.66%209.925a.5.5%200%201%200-1%200c0%20.653-.818%201.205-1.787%201.205s-1.787-.552-1.787-1.205a.5.5%200%201%200-1%200c0%201.216%201.25%202.205%202.787%202.205s2.787-.989%202.787-2.205zm4.4%2015.965l-.208.097c-2.661%201.258-4.708%201.436-6.086.527-1.542-1.017-1.88-3.19-1.844-4.198a.4.4%200%200%200-.385-.414c-.242-.029-.406.164-.414.385-.046%201.249.367%203.686%202.202%204.896.708.467%201.547.7%202.51.7%201.248%200%202.706-.392%204.362-1.174l.185-.086a.4.4%200%200%200%20.205-.527c-.089-.204-.326-.291-.527-.206zM9.547%202.292c.093.077.205.114.317.114a.5.5%200%200%200%20.318-.886L8.817.397a.5.5%200%200%200-.703.068.5.5%200%200%200%20.069.703l1.364%201.124zm-7.661-.065c.086%200%20.173-.022.253-.068l1.523-.893a.5.5%200%200%200-.506-.863l-1.523.892a.5.5%200%200%200-.179.685c.094.158.261.247.432.247z%22%20transform%3D%22matrix%28-1%200%200%201%2058%200%29%22%20fill%3D%22%233bb300%22/%3E%3Cpath%20d%3D%22M.3%2021.86V10.18q0-.46.02-.68.04-.22.18-.5.28-.54%201.34-.54%201.06%200%201.42.28.38.26.44.78.76-1.04%202.38-1.04%201.64%200%203.1%201.54%201.46%201.54%201.46%203.58%200%202.04-1.46%203.58-1.44%201.54-3.08%201.54-1.64%200-2.38-.92v4.04q0%20.46-.04.68-.02.22-.18.5-.14.3-.5.42-.36.12-.98.12-.62%200-1-.12-.36-.12-.52-.4-.14-.28-.18-.5-.02-.22-.02-.68zm3.96-9.42q-.46.54-.46%201.18%200%20.64.46%201.18.48.52%201.2.52.74%200%201.24-.52.52-.52.52-1.18%200-.66-.48-1.18-.48-.54-1.26-.54-.76%200-1.22.54zm14.741-8.36q.16-.3.54-.42.38-.12%201-.12.64%200%201.02.12.38.12.52.42.16.3.18.54.04.22.04.68v11.94q0%20.46-.04.7-.02.22-.18.5-.3.54-1.7.54-1.38%200-1.54-.98-.84.96-2.34.96-1.8%200-3.28-1.56-1.48-1.58-1.48-3.66%200-2.1%201.48-3.68%201.5-1.58%203.28-1.58%201.48%200%202.3%201v-4.2q0-.46.02-.68.04-.24.18-.52zm-3.24%2010.86q.52.54%201.26.54.74%200%201.22-.54.5-.54.5-1.18%200-.66-.48-1.22-.46-.56-1.26-.56-.8%200-1.28.56-.48.54-.48%201.2%200%20.66.52%201.2zm7.833-1.2q0-2.4%201.68-3.96%201.68-1.56%203.84-1.56%202.16%200%203.82%201.56%201.66%201.54%201.66%203.94%200%201.66-.86%202.96-.86%201.28-2.1%201.9-1.22.6-2.54.6-1.32%200-2.56-.64-1.24-.66-2.1-1.92-.84-1.28-.84-2.88zm4.18%201.44q.64.48%201.3.48.66%200%201.32-.5.66-.5.66-1.48%200-.98-.62-1.46-.62-.48-1.34-.48-.72%200-1.34.5-.62.5-.62%201.48%200%20.96.64%201.46zm11.412-1.44q0%20.84.56%201.32.56.46%201.18.46.64%200%201.18-.36.56-.38.9-.38.6%200%201.46%201.06.46.58.46%201.04%200%20.76-1.1%201.42-1.14.8-2.8.8-1.86%200-3.58-1.34-.82-.64-1.34-1.7-.52-1.08-.52-2.36%200-1.3.52-2.34.52-1.06%201.34-1.7%201.66-1.32%203.54-1.32.76%200%201.48.22.72.2%201.06.4l.32.2q.36.24.56.38.52.4.52.92%200%20.5-.42%201.14-.72%201.1-1.38%201.1-.38%200-1.08-.44-.36-.34-1.04-.34-.66%200-1.24.48-.58.48-.58%201.34z%22%20fill%3D%22green%22/%3E%3C/svg%3E"/>
|
|
454 |
</a>
|
|
455 |
</div>
|
|
456 |
</nav>
|
453 | 457 |
<main class="pdoc">
|
454 | 458 |
<section>
|
455 | 459 |
<h1 class="modulename">
|
456 | 460 |
netCDF4 </h1>
|
457 | 461 |
|
458 | |
<div class="docstring"><h2 id="version-157">Version 1.5.7</h2>
|
|
462 |
<div class="docstring"><h2 id="version-160">Version 1.6.0</h2>
|
459 | 463 |
|
460 | 464 |
<h1 id="introduction">Introduction</h1>
|
461 | 465 |
|
|
470 | 474 |
and should be familiar to users of that module.</p>
|
471 | 475 |
|
472 | 476 |
<p>Most new features of netCDF 4 are implemented, such as multiple
|
473 | |
unlimited dimensions, groups and zlib data compression. All the new
|
|
477 |
unlimited dimensions, groups and data compression. All the new
|
474 | 478 |
numeric data types (such as 64 bit and unsigned integer types) are
|
475 | 479 |
implemented. Compound (struct), variable length (vlen) and
|
476 | 480 |
enumerated (enum) data types are supported, but not the opaque data type.
|
|
516 | 520 |
If the dependencies are not found
|
517 | 521 |
in any of the paths specified by environment variables, then standard locations
|
518 | 522 |
(such as <code>/usr</code> and <code>/usr/local</code>) are searched.</li>
|
|
523 |
<li>if the env var <code>NETCDF_PLUGIN_DIR</code> is set to point to the location netcdf-c compression
|
|
524 |
plugin shared objects, they will be installed inside the package. In this
|
|
525 |
case <code>HDF5_PLUGIN_PATH</code> will be set to the package installation path on import,
|
|
526 |
so the extra compression algorithms available in netcdf-c 4.9.0 will automatically
|
|
527 |
be available. Otherwise, the user will have to set <code>HDF5_PLUGIN_PATH</code> explicitly
|
|
528 |
to have access to the extra compression plugins.</li>
|
519 | 529 |
<li>run <code>python setup.py build</code>, then <code>python setup.py install</code> (as root if
|
520 | 530 |
necessary).</li>
|
521 | 531 |
<li>run the tests in the 'test' directory by running <code>python run_all.py</code>.</li>
|
|
572 | 582 |
|
573 | 583 |
<p>Here's an example:</p>
|
574 | 584 |
|
575 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">from</span> <span class="nn">netCDF4</span> <span class="kn">import</span> <span class="n">Dataset</span>
|
|
585 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">from</span> <span class="nn">netCDF4</span> <span class="kn">import</span> <span class="n">Dataset</span>
|
576 | 586 |
<span class="o">>>></span> <span class="n">rootgrp</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"test.nc"</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">,</span> <span class="nb">format</span><span class="o">=</span><span class="s2">"NETCDF4"</span><span class="p">)</span>
|
577 | 587 |
<span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="n">data_model</span><span class="p">)</span>
|
578 | 588 |
<span class="n">NETCDF4</span>
|
|
601 | 611 |
<code>NETCDF4</code> formatted files support Groups, if you try to create a Group
|
602 | 612 |
in a netCDF 3 file you will get an error message.</p>
|
603 | 613 |
|
604 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">rootgrp</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"test.nc"</span><span class="p">,</span> <span class="s2">"a"</span><span class="p">)</span>
|
|
614 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">rootgrp</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"test.nc"</span><span class="p">,</span> <span class="s2">"a"</span><span class="p">)</span>
|
605 | 615 |
<span class="o">>>></span> <span class="n">fcstgrp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createGroup</span><span class="p">(</span><span class="s2">"forecasts"</span><span class="p">)</span>
|
606 | 616 |
<span class="o">>>></span> <span class="n">analgrp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createGroup</span><span class="p">(</span><span class="s2">"analyses"</span><span class="p">)</span>
|
607 | 617 |
<span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="n">groups</span><span class="p">)</span>
|
|
625 | 635 |
that group. To simplify the creation of nested groups, you can
|
626 | 636 |
use a unix-like path as an argument to <code><a href="#Dataset.createGroup">Dataset.createGroup</a></code>.</p>
|
627 | 637 |
|
628 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">fcstgrp1</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createGroup</span><span class="p">(</span><span class="s2">"/forecasts/model1"</span><span class="p">)</span>
|
|
638 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">fcstgrp1</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createGroup</span><span class="p">(</span><span class="s2">"/forecasts/model1"</span><span class="p">)</span>
|
629 | 639 |
<span class="o">>>></span> <span class="n">fcstgrp2</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createGroup</span><span class="p">(</span><span class="s2">"/forecasts/model2"</span><span class="p">)</span>
|
630 | 640 |
</code></pre></div>
|
631 | 641 |
|
|
639 | 649 |
to walk the directory tree. Note that printing the <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code>
|
640 | 650 |
object yields summary information about it's contents.</p>
|
641 | 651 |
|
642 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="k">def</span> <span class="nf">walktree</span><span class="p">(</span><span class="n">top</span><span class="p">):</span>
|
|
652 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="k">def</span> <span class="nf">walktree</span><span class="p">(</span><span class="n">top</span><span class="p">):</span>
|
643 | 653 |
<span class="o">...</span> <span class="k">yield</span> <span class="n">top</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">values</span><span class="p">()</span>
|
644 | 654 |
<span class="o">...</span> <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">top</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">values</span><span class="p">():</span>
|
645 | 655 |
<span class="o">...</span> <span class="k">yield from</span> <span class="n">walktree</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
|
689 | 699 |
dimension is a new netCDF 4 feature, in netCDF 3 files there may be only
|
690 | 700 |
one, and it must be the first (leftmost) dimension of the variable.</p>
|
691 | 701 |
|
692 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">level</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"level"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
|
702 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">level</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"level"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
693 | 703 |
<span class="o">>>></span> <span class="n">time</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"time"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
694 | 704 |
<span class="o">>>></span> <span class="n">lat</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"lat"</span><span class="p">,</span> <span class="mi">73</span><span class="p">)</span>
|
695 | 705 |
<span class="o">>>></span> <span class="n">lon</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"lon"</span><span class="p">,</span> <span class="mi">144</span><span class="p">)</span>
|
|
697 | 707 |
|
698 | 708 |
<p>All of the <code><a href="#Dimension">Dimension</a></code> instances are stored in a python dictionary.</p>
|
699 | 709 |
|
700 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="n">dimensions</span><span class="p">)</span>
|
|
710 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="n">dimensions</span><span class="p">)</span>
|
701 | 711 |
<span class="p">{</span><span class="s1">'level'</span><span class="p">:</span> <span class="o"><</span><span class="k">class</span> <span class="err">'</span><span class="nc">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Dimension</span><span class="s1">'> (unlimited): name = '</span><span class="n">level</span><span class="s1">', size = 0, '</span><span class="n">time</span><span class="s1">': <class '</span><span class="n">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Dimension</span><span class="s1">'> (unlimited): name = '</span><span class="n">time</span><span class="s1">', size = 0, '</span><span class="n">lat</span><span class="s1">': <class '</span><span class="n">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Dimension</span><span class="s1">'>: name = '</span><span class="n">lat</span><span class="s1">', size = 73, '</span><span class="n">lon</span><span class="s1">': <class '</span><span class="n">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Dimension</span><span class="s1">'>: name = '</span><span class="n">lon</span><span class="s1">', size = 144}</span>
|
702 | 712 |
</code></pre></div>
|
703 | 713 |
|
|
706 | 716 |
<code><a href="#Dimension.isunlimited">Dimension.isunlimited</a></code> method of a <code><a href="#Dimension">Dimension</a></code> instance
|
707 | 717 |
be used to determine if the dimensions is unlimited, or appendable.</p>
|
708 | 718 |
|
709 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">lon</span><span class="p">))</span>
|
|
719 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">lon</span><span class="p">))</span>
|
710 | 720 |
<span class="mi">144</span>
|
711 | 721 |
<span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">lon</span><span class="o">.</span><span class="n">isunlimited</span><span class="p">())</span>
|
712 | 722 |
<span class="kc">False</span>
|
|
718 | 728 |
provides useful summary info, including the name and length of the dimension,
|
719 | 729 |
and whether it is unlimited.</p>
|
720 | 730 |
|
721 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="k">for</span> <span class="n">dimobj</span> <span class="ow">in</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">dimensions</span><span class="o">.</span><span class="n">values</span><span class="p">():</span>
|
|
731 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="k">for</span> <span class="n">dimobj</span> <span class="ow">in</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">dimensions</span><span class="o">.</span><span class="n">values</span><span class="p">():</span>
|
722 | 732 |
<span class="o">...</span> <span class="nb">print</span><span class="p">(</span><span class="n">dimobj</span><span class="p">)</span>
|
723 | 733 |
<span class="o"><</span><span class="k">class</span> <span class="err">'</span><span class="nc">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Dimension</span><span class="s1">'> (unlimited): name = '</span><span class="n">level</span><span class="s1">', size = 0</span>
|
724 | 734 |
<span class="o"><</span><span class="k">class</span> <span class="err">'</span><span class="nc">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Dimension</span><span class="s1">'> (unlimited): name = '</span><span class="n">time</span><span class="s1">', size = 0</span>
|
|
763 | 773 |
method returns an instance of the <code><a href="#Variable">Variable</a></code> class whose methods can be
|
764 | 774 |
used later to access and set variable data and attributes.</p>
|
765 | 775 |
|
766 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">times</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"f8"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,))</span>
|
|
776 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">times</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"f8"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,))</span>
|
767 | 777 |
<span class="o">>>></span> <span class="n">levels</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"i4"</span><span class="p">,(</span><span class="s2">"level"</span><span class="p">,))</span>
|
768 | 778 |
<span class="o">>>></span> <span class="n">latitudes</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"lat"</span><span class="p">,))</span>
|
769 | 779 |
<span class="o">>>></span> <span class="n">longitudes</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"lon"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"lon"</span><span class="p">,))</span>
|
|
775 | 785 |
<p>To get summary info on a <code><a href="#Variable">Variable</a></code> instance in an interactive session,
|
776 | 786 |
just print it.</p>
|
777 | 787 |
|
778 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">temp</span><span class="p">)</span>
|
|
788 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">temp</span><span class="p">)</span>
|
779 | 789 |
<span class="o"><</span><span class="k">class</span> <span class="err">'</span><span class="nc">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Variable</span><span class="s1">'></span>
|
780 | 790 |
<span class="n">float32</span> <span class="n">temp</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">level</span><span class="p">,</span> <span class="n">lat</span><span class="p">,</span> <span class="n">lon</span><span class="p">)</span>
|
781 | 791 |
<span class="n">units</span><span class="p">:</span> <span class="n">K</span>
|
|
786 | 796 |
|
787 | 797 |
<p>You can use a path to create a Variable inside a hierarchy of groups.</p>
|
788 | 798 |
|
789 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">ftemp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"/forecasts/model1/temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,))</span>
|
|
799 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">ftemp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"/forecasts/model1/temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,))</span>
|
790 | 800 |
</code></pre></div>
|
791 | 801 |
|
792 | 802 |
<p>If the intermediate groups do not yet exist, they will be created.</p>
|
|
794 | 804 |
<p>You can also query a <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code> instance directly to obtain <code><a href="#Group">Group</a></code> or
|
795 | 805 |
<code><a href="#Variable">Variable</a></code> instances using paths.</p>
|
796 | 806 |
|
797 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="p">[</span><span class="s2">"/forecasts/model1"</span><span class="p">])</span> <span class="c1"># a Group instance</span>
|
|
807 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="p">[</span><span class="s2">"/forecasts/model1"</span><span class="p">])</span> <span class="c1"># a Group instance</span>
|
798 | 808 |
<span class="o"><</span><span class="k">class</span> <span class="err">'</span><span class="nc">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Group</span><span class="s1">'></span>
|
799 | 809 |
<span class="n">group</span> <span class="o">/</span><span class="n">forecasts</span><span class="o">/</span><span class="n">model1</span><span class="p">:</span>
|
800 | 810 |
<span class="n">dimensions</span><span class="p">(</span><span class="n">sizes</span><span class="p">):</span>
|
|
812 | 822 |
<p>All of the variables in the <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code> are stored in a
|
813 | 823 |
Python dictionary, in the same way as the dimensions:</p>
|
814 | 824 |
|
815 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="n">variables</span><span class="p">)</span>
|
|
825 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="n">variables</span><span class="p">)</span>
|
816 | 826 |
<span class="p">{</span><span class="s1">'time'</span><span class="p">:</span> <span class="o"><</span><span class="k">class</span> <span class="err">'</span><span class="nc">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Variable</span><span class="s1">'></span>
|
817 | 827 |
<span class="n">float64</span> <span class="n">time</span><span class="p">(</span><span class="n">time</span><span class="p">)</span>
|
818 | 828 |
<span class="n">unlimited</span> <span class="n">dimensions</span><span class="p">:</span> <span class="n">time</span>
|
|
855 | 865 |
variables. Attributes can be strings, numbers or sequences. Returning to
|
856 | 866 |
our example,</p>
|
857 | 867 |
|
858 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">time</span>
|
|
868 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">time</span>
|
859 | 869 |
<span class="o">>>></span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">description</span> <span class="o">=</span> <span class="s2">"bogus example script"</span>
|
860 | 870 |
<span class="o">>>></span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">history</span> <span class="o">=</span> <span class="s2">"Created "</span> <span class="o">+</span> <span class="n">time</span><span class="o">.</span><span class="n">ctime</span><span class="p">(</span><span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">())</span>
|
861 | 871 |
<span class="o">>>></span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">source</span> <span class="o">=</span> <span class="s2">"netCDF4 python module tutorial"</span>
|
|
873 | 883 |
built-in <code>dir</code> Python function will return a bunch of private methods
|
874 | 884 |
and attributes that cannot (or should not) be modified by the user.</p>
|
875 | 885 |
|
876 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">ncattrs</span><span class="p">():</span>
|
|
886 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">ncattrs</span><span class="p">():</span>
|
877 | 887 |
<span class="o">...</span> <span class="nb">print</span><span class="p">(</span><span class="s2">"Global attr </span><span class="si">{}</span><span class="s2"> = </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">rootgrp</span><span class="p">,</span> <span class="n">name</span><span class="p">)))</span>
|
878 | 888 |
<span class="n">Global</span> <span class="n">attr</span> <span class="n">description</span> <span class="o">=</span> <span class="n">bogus</span> <span class="n">example</span> <span class="n">script</span>
|
879 | 889 |
<span class="n">Global</span> <span class="n">attr</span> <span class="n">history</span> <span class="o">=</span> <span class="n">Created</span> <span class="n">Mon</span> <span class="n">Jul</span> <span class="mi">8</span> <span class="mi">14</span><span class="p">:</span><span class="mi">19</span><span class="p">:</span><span class="mi">41</span> <span class="mi">2019</span>
|
|
884 | 894 |
instance provides all the netCDF attribute name/value pairs in a python
|
885 | 895 |
dictionary:</p>
|
886 | 896 |
|
887 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">)</span>
|
|
897 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="vm">__dict__</span><span class="p">)</span>
|
888 | 898 |
<span class="p">{</span><span class="s1">'description'</span><span class="p">:</span> <span class="s1">'bogus example script'</span><span class="p">,</span> <span class="s1">'history'</span><span class="p">:</span> <span class="s1">'Created Mon Jul 8 14:19:41 2019'</span><span class="p">,</span> <span class="s1">'source'</span><span class="p">:</span> <span class="s1">'netCDF4 python module tutorial'</span><span class="p">}</span>
|
889 | 899 |
</code></pre></div>
|
890 | 900 |
|
|
897 | 907 |
<p>Now that you have a netCDF <code><a href="#Variable">Variable</a></code> instance, how do you put data
|
898 | 908 |
into it? You can just treat it like an array and assign data to a slice.</p>
|
899 | 909 |
|
900 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
|
910 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
901 | 911 |
<span class="o">>>></span> <span class="n">lats</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="o">-</span><span class="mi">90</span><span class="p">,</span><span class="mi">91</span><span class="p">,</span><span class="mf">2.5</span><span class="p">)</span>
|
902 | 912 |
<span class="o">>>></span> <span class="n">lons</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="o">-</span><span class="mi">180</span><span class="p">,</span><span class="mi">180</span><span class="p">,</span><span class="mf">2.5</span><span class="p">)</span>
|
903 | 913 |
<span class="o">>>></span> <span class="n">latitudes</span><span class="p">[:]</span> <span class="o">=</span> <span class="n">lats</span>
|
|
917 | 927 |
objects with unlimited dimensions will grow along those dimensions if you
|
918 | 928 |
assign data outside the currently defined range of indices.</p>
|
919 | 929 |
|
920 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># append along two unlimited dimensions by assigning to slice.</span>
|
|
930 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># append along two unlimited dimensions by assigning to slice.</span>
|
921 | 931 |
<span class="o">>>></span> <span class="n">nlats</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="n">dimensions</span><span class="p">[</span><span class="s2">"lat"</span><span class="p">])</span>
|
922 | 932 |
<span class="o">>>></span> <span class="n">nlons</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">rootgrp</span><span class="o">.</span><span class="n">dimensions</span><span class="p">[</span><span class="s2">"lon"</span><span class="p">])</span>
|
923 | 933 |
<span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="s2">"temp shape before adding data = </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">temp</span><span class="o">.</span><span class="n">shape</span><span class="p">))</span>
|
|
937 | 947 |
along the <code>level</code> dimension of the variable <code>temp</code>, even though no
|
938 | 948 |
data has yet been assigned to levels.</p>
|
939 | 949 |
|
940 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># now, assign data to levels dimension variable.</span>
|
|
950 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># now, assign data to levels dimension variable.</span>
|
941 | 951 |
<span class="o">>>></span> <span class="n">levels</span><span class="p">[:]</span> <span class="o">=</span> <span class="p">[</span><span class="mf">1000.</span><span class="p">,</span><span class="mf">850.</span><span class="p">,</span><span class="mf">700.</span><span class="p">,</span><span class="mf">500.</span><span class="p">,</span><span class="mf">300.</span><span class="p">,</span><span class="mf">250.</span><span class="p">,</span><span class="mf">200.</span><span class="p">,</span><span class="mf">150.</span><span class="p">,</span><span class="mf">100.</span><span class="p">,</span><span class="mf">50.</span><span class="p">]</span>
|
942 | 952 |
</code></pre></div>
|
943 | 953 |
|
|
950 | 960 |
allowed, and these indices work independently along each dimension (similar
|
951 | 961 |
to the way vector subscripts work in fortran). This means that</p>
|
952 | 962 |
|
953 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]]</span><span class="o">.</span><span class="n">shape</span>
|
|
963 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">],</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]]</span><span class="o">.</span><span class="n">shape</span>
|
954 | 964 |
<span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span>
|
955 | 965 |
</code></pre></div>
|
956 | 966 |
|
|
968 | 978 |
|
969 | 979 |
<p>For example,</p>
|
970 | 980 |
|
971 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">tempdat</span> <span class="o">=</span> <span class="n">temp</span><span class="p">[::</span><span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">6</span><span class="p">],</span> <span class="n">lats</span><span class="o">></span><span class="mi">0</span><span class="p">,</span> <span class="n">lons</span><span class="o">></span><span class="mi">0</span><span class="p">]</span>
|
|
981 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">tempdat</span> <span class="o">=</span> <span class="n">temp</span><span class="p">[::</span><span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">6</span><span class="p">],</span> <span class="n">lats</span><span class="o">></span><span class="mi">0</span><span class="p">,</span> <span class="n">lons</span><span class="o">></span><span class="mi">0</span><span class="p">]</span>
|
972 | 982 |
</code></pre></div>
|
973 | 983 |
|
974 | 984 |
<p>will extract time indices 0,2 and 4, pressure levels
|
975 | 985 |
850, 500 and 200 hPa, all Northern Hemisphere latitudes and Eastern
|
976 | 986 |
Hemisphere longitudes, resulting in a numpy array of shape (3, 3, 36, 71).</p>
|
977 | 987 |
|
978 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="s2">"shape of fancy temp slice = </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">tempdat</span><span class="o">.</span><span class="n">shape</span><span class="p">))</span>
|
|
988 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="s2">"shape of fancy temp slice = </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">tempdat</span><span class="o">.</span><span class="n">shape</span><span class="p">))</span>
|
979 | 989 |
<span class="n">shape</span> <span class="n">of</span> <span class="n">fancy</span> <span class="n">temp</span> <span class="nb">slice</span> <span class="o">=</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">36</span><span class="p">,</span> <span class="mi">71</span><span class="p">)</span>
|
980 | 990 |
</code></pre></div>
|
981 | 991 |
|
|
1008 | 1018 |
provided by <a href="https://unidata.github.io/cftime">cftime</a> to do just that.
|
1009 | 1019 |
Here's an example of how they can be used:</p>
|
1010 | 1020 |
|
1011 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># fill in times.</span>
|
|
1021 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># fill in times.</span>
|
1012 | 1022 |
<span class="o">>>></span> <span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
|
1013 | 1023 |
<span class="o">>>></span> <span class="kn">from</span> <span class="nn">cftime</span> <span class="kn">import</span> <span class="n">num2date</span><span class="p">,</span> <span class="n">date2num</span>
|
1014 | 1024 |
<span class="o">>>></span> <span class="n">dates</span> <span class="o">=</span> <span class="p">[</span><span class="n">datetime</span><span class="p">(</span><span class="mi">2001</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span><span class="n">n</span><span class="o">*</span><span class="n">timedelta</span><span class="p">(</span><span class="n">hours</span><span class="o">=</span><span class="mi">12</span><span class="p">)</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">temp</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])]</span>
|
|
1048 | 1058 |
<code>NETCDF4_CLASSIC</code> format (<code>NETCDF4</code> formatted multi-file
|
1049 | 1059 |
datasets are not supported).</p>
|
1050 | 1060 |
|
1051 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="k">for</span> <span class="n">nf</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">):</span>
|
|
1061 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="k">for</span> <span class="n">nf</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">):</span>
|
1052 | 1062 |
<span class="o">...</span> <span class="k">with</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"mftest</span><span class="si">%s</span><span class="s2">.nc"</span> <span class="o">%</span> <span class="n">nf</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">,</span> <span class="nb">format</span><span class="o">=</span><span class="s2">"NETCDF4_CLASSIC"</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
|
1053 | 1063 |
<span class="o">...</span> <span class="n">_</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"x"</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span>
|
1054 | 1064 |
<span class="o">...</span> <span class="n">x</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"x"</span><span class="p">,</span><span class="s2">"i"</span><span class="p">,(</span><span class="s2">"x"</span><span class="p">,))</span>
|
|
1057 | 1067 |
|
1058 | 1068 |
<p>Now read all the files back in at once with <code><a href="#MFDataset">MFDataset</a></code></p>
|
1059 | 1069 |
|
1060 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">from</span> <span class="nn">netCDF4</span> <span class="kn">import</span> <span class="n">MFDataset</span>
|
|
1070 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">from</span> <span class="nn">netCDF4</span> <span class="kn">import</span> <span class="n">MFDataset</span>
|
1061 | 1071 |
<span class="o">>>></span> <span class="n">f</span> <span class="o">=</span> <span class="n">MFDataset</span><span class="p">(</span><span class="s2">"mftest*nc"</span><span class="p">)</span>
|
1062 | 1072 |
<span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="o">.</span><span class="n">variables</span><span class="p">[</span><span class="s2">"x"</span><span class="p">][:])</span>
|
1063 | 1073 |
<span class="p">[</span> <span class="mi">0</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span> <span class="mi">5</span> <span class="mi">6</span> <span class="mi">7</span> <span class="mi">8</span> <span class="mi">9</span> <span class="mi">10</span> <span class="mi">11</span> <span class="mi">12</span> <span class="mi">13</span> <span class="mi">14</span> <span class="mi">15</span> <span class="mi">16</span> <span class="mi">17</span> <span class="mi">18</span> <span class="mi">19</span> <span class="mi">20</span> <span class="mi">21</span> <span class="mi">22</span> <span class="mi">23</span>
|
|
1072 | 1082 |
|
1073 | 1083 |
<h2 id="efficient-compression-of-netcdf-variables">Efficient compression of netCDF variables</h2>
|
1074 | 1084 |
|
1075 | |
<p>Data stored in netCDF 4 <code><a href="#Variable">Variable</a></code> objects can be compressed and
|
1076 | |
decompressed on the fly. The parameters for the compression are
|
1077 | |
determined by the <code>zlib</code>, <code>complevel</code> and <code>shuffle</code> keyword arguments
|
1078 | |
to the <code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> method. To turn on
|
1079 | |
compression, set <code>zlib=True</code>. The <code>complevel</code> keyword regulates the
|
1080 | |
speed and efficiency of the compression (1 being fastest, but lowest
|
|
1085 |
<p>Data stored in netCDF <code><a href="#Variable">Variable</a></code> objects can be compressed and
|
|
1086 |
decompressed on the fly. The compression algorithm used is determined
|
|
1087 |
by the <code>compression</code> keyword argument to the <code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> method.
|
|
1088 |
<code>zlib</code> compression is always available, <code>szip</code> is available if the linked HDF5
|
|
1089 |
library supports it, and <code>zstd</code>, <code>bzip2</code>, <code>blosc_lz</code>,<code>blosc_lz4</code>,<code>blosc_lz4hc</code>,
|
|
1090 |
<code>blosc_zlib</code> and <code>blosc_zstd</code> are available via optional external plugins.
|
|
1091 |
The <code>complevel</code> keyword regulates the
|
|
1092 |
speed and efficiency of the compression for <code>zlib</code>, <code>bzip</code> and <code>zstd</code> (1 being fastest, but lowest
|
1081 | 1093 |
compression ratio, 9 being slowest but best compression ratio). The
|
1082 | 1094 |
default value of <code>complevel</code> is 4. Setting <code>shuffle=False</code> will turn
|
1083 | 1095 |
off the HDF5 shuffle filter, which de-interlaces a block of data before
|
1084 | |
compression by reordering the bytes. The shuffle filter can
|
1085 | |
significantly improve compression ratios, and is on by default. Setting
|
|
1096 |
<code>zlib</code> compression by reordering the bytes. The shuffle filter can
|
|
1097 |
significantly improve compression ratios, and is on by default if <code>compression=zlib</code>. Setting
|
1086 | 1098 |
<code>fletcher32</code> keyword argument to
|
1087 | 1099 |
<code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> to <code>True</code> (it's <code>False</code> by
|
1088 | 1100 |
default) enables the Fletcher32 checksum algorithm for error detection.
|
|
1092 | 1104 |
<code><a href="#Dataset.createVariable">Dataset.createVariable</a></code>. These keyword arguments only
|
1093 | 1105 |
are relevant for <code>NETCDF4</code> and <code>NETCDF4_CLASSIC</code> files (where the
|
1094 | 1106 |
underlying file format is HDF5) and are silently ignored if the file
|
1095 | |
format is <code>NETCDF3_CLASSIC</code>, <code>NETCDF3_64BIT_OFFSET</code> or <code>NETCDF3_64BIT_DATA</code>.</p>
|
|
1107 |
format is <code>NETCDF3_CLASSIC</code>, <code>NETCDF3_64BIT_OFFSET</code> or <code>NETCDF3_64BIT_DATA</code>.
|
|
1108 |
If the HDF5 library is built with szip support, compression=<code>szip</code> can also
|
|
1109 |
be used (in conjunction with the <code>szip_coding</code> and <code>szip_pixels_per_block</code> keyword
|
|
1110 |
arguments). </p>
|
1096 | 1111 |
|
1097 | 1112 |
<p>If your data only has a certain number of digits of precision (say for
|
1098 | 1113 |
example, it is temperature data that was measured with a precision of
|
1099 | |
0.1 degrees), you can dramatically improve zlib compression by
|
1100 | |
quantizing (or truncating) the data using the <code>least_significant_digit</code>
|
1101 | |
keyword argument to <code><a href="#Dataset.createVariable">Dataset.createVariable</a></code>. The least
|
1102 | |
significant digit is the power of ten of the smallest decimal place in
|
|
1114 |
0.1 degrees), you can dramatically improve compression by
|
|
1115 |
quantizing (or truncating) the data. There are two methods supplied for
|
|
1116 |
doing this. You can use the <code>least_significant_digit</code>
|
|
1117 |
keyword argument to <code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> to specify
|
|
1118 |
the power of ten of the smallest decimal place in
|
1103 | 1119 |
the data that is a reliable value. For example if the data has a
|
1104 | 1120 |
precision of 0.1, then setting <code>least_significant_digit=1</code> will cause
|
1105 | 1121 |
data the data to be quantized using <code>numpy.around(scale*data)/scale</code>, where
|
1106 | 1122 |
scale = 2**bits, and bits is determined so that a precision of 0.1 is
|
1107 | |
retained (in this case bits=4). Effectively, this makes the compression
|
|
1123 |
retained (in this case bits=4). This is done at the python level and is
|
|
1124 |
not a part of the underlying C library. Starting with netcdf-c version 4.9.0,
|
|
1125 |
a quantization capability is provided in the library. This can be
|
|
1126 |
used via the <code>significant_digits</code> <code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> kwarg (new in
|
|
1127 |
version 1.6.0).
|
|
1128 |
The interpretation of <code>significant_digits</code> is different than <code>least_signficant_digit</code>
|
|
1129 |
in that it specifies the absolute number of significant digits independent
|
|
1130 |
of the magnitude of the variable (the floating point exponent).
|
|
1131 |
Either of these approaches makes the compression
|
1108 | 1132 |
'lossy' instead of 'lossless', that is some precision in the data is
|
1109 | 1133 |
sacrificed for the sake of disk space.</p>
|
1110 | 1134 |
|
1111 | 1135 |
<p>In our example, try replacing the line</p>
|
1112 | 1136 |
|
1113 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,))</span>
|
|
1137 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,))</span>
|
1114 | 1138 |
</code></pre></div>
|
1115 | 1139 |
|
1116 | 1140 |
<p>with</p>
|
1117 | 1141 |
|
1118 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,),</span><span class="n">zlib</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
1142 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,),</span><span class="n">compression</span><span class="o">=</span><span class="s1">'zlib'</span><span class="p">)</span>
|
1119 | 1143 |
</code></pre></div>
|
1120 | 1144 |
|
1121 | 1145 |
<p>and then</p>
|
1122 | 1146 |
|
1123 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,),</span><span class="n">zlib</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span><span class="n">least_significant_digit</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
|
|
1147 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,),</span><span class="n">compression</span><span class="o">=</span><span class="s1">'zlib'</span><span class="p">,</span><span class="n">least_significant_digit</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
|
|
1148 |
</code></pre></div>
|
|
1149 |
|
|
1150 |
<p>or with netcdf-c >= 4.9.0</p>
|
|
1151 |
|
|
1152 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">temp</span> <span class="o">=</span> <span class="n">rootgrp</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"temp"</span><span class="p">,</span><span class="s2">"f4"</span><span class="p">,(</span><span class="s2">"time"</span><span class="p">,</span><span class="s2">"level"</span><span class="p">,</span><span class="s2">"lat"</span><span class="p">,</span><span class="s2">"lon"</span><span class="p">,),</span><span class="n">compression</span><span class="o">=</span><span class="s1">'zlib'</span><span class="p">,</span><span class="n">significant_digits</span><span class="o">=</span><span class="mi">4</span><span class="p">)</span>
|
1124 | 1153 |
</code></pre></div>
|
1125 | 1154 |
|
1126 | 1155 |
<p>and see how much smaller the resulting files are.</p>
|
|
1141 | 1170 |
Since there is no native complex data type in netcdf, compound types are handy
|
1142 | 1171 |
for storing numpy complex arrays. Here's an example:</p>
|
1143 | 1172 |
|
1144 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">f</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"complex.nc"</span><span class="p">,</span><span class="s2">"w"</span><span class="p">)</span>
|
|
1173 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">f</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"complex.nc"</span><span class="p">,</span><span class="s2">"w"</span><span class="p">)</span>
|
1145 | 1174 |
<span class="o">>>></span> <span class="n">size</span> <span class="o">=</span> <span class="mi">3</span> <span class="c1"># length of 1-d complex array</span>
|
1146 | 1175 |
<span class="o">>>></span> <span class="c1"># create sample complex data.</span>
|
1147 | 1176 |
<span class="o">>>></span> <span class="n">datac</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="mi">1</span><span class="n">j</span><span class="o">*</span><span class="p">(</span><span class="mf">1.</span><span class="o">+</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="n">size</span><span class="p">)))</span>
|
|
1177 | 1206 |
in a Python dictionary, just like variables and dimensions. As always, printing
|
1178 | 1207 |
objects gives useful summary information in an interactive session:</p>
|
1179 | 1208 |
|
1180 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
|
|
1209 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="nb">print</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
|
1181 | 1210 |
<span class="o"><</span><span class="k">class</span> <span class="err">'</span><span class="nc">netCDF4</span><span class="o">.</span><span class="n">_netCDF4</span><span class="o">.</span><span class="n">Dataset</span><span class="s1">'></span>
|
1182 | 1211 |
<span class="n">root</span> <span class="n">group</span> <span class="p">(</span><span class="n">NETCDF4</span> <span class="n">data</span> <span class="n">model</span><span class="p">,</span> <span class="n">file</span> <span class="nb">format</span> <span class="n">HDF5</span><span class="p">):</span>
|
1183 | 1212 |
<span class="n">dimensions</span><span class="p">(</span><span class="n">sizes</span><span class="p">):</span> <span class="n">x_dim</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
|
|
1202 | 1231 |
data type, use the <code><a href="#Dataset.createVLType">Dataset.createVLType</a></code> method
|
1203 | 1232 |
method of a <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code> instance.</p>
|
1204 | 1233 |
|
1205 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">f</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"tst_vlen.nc"</span><span class="p">,</span><span class="s2">"w"</span><span class="p">)</span>
|
|
1234 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">f</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"tst_vlen.nc"</span><span class="p">,</span><span class="s2">"w"</span><span class="p">)</span>
|
1206 | 1235 |
<span class="o">>>></span> <span class="n">vlen_t</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createVLType</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">int32</span><span class="p">,</span> <span class="s2">"phony_vlen"</span><span class="p">)</span>
|
1207 | 1236 |
</code></pre></div>
|
1208 | 1237 |
|
|
1212 | 1241 |
but compound data types cannot.
|
1213 | 1242 |
A new variable can then be created using this datatype.</p>
|
1214 | 1243 |
|
1215 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">x</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"x"</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span>
|
|
1244 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">x</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"x"</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span>
|
1216 | 1245 |
<span class="o">>>></span> <span class="n">y</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"y"</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span>
|
1217 | 1246 |
<span class="o">>>></span> <span class="n">vlvar</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"phony_vlen_var"</span><span class="p">,</span> <span class="n">vlen_t</span><span class="p">,</span> <span class="p">(</span><span class="s2">"y"</span><span class="p">,</span><span class="s2">"x"</span><span class="p">))</span>
|
1218 | 1247 |
</code></pre></div>
|
|
1225 | 1254 |
In this case, they contain 1-D numpy <code>int32</code> arrays of random length between
|
1226 | 1255 |
1 and 10.</p>
|
1227 | 1256 |
|
1228 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">random</span>
|
|
1257 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">random</span>
|
1229 | 1258 |
<span class="o">>>></span> <span class="n">random</span><span class="o">.</span><span class="n">seed</span><span class="p">(</span><span class="mi">54321</span><span class="p">)</span>
|
1230 | 1259 |
<span class="o">>>></span> <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">y</span><span class="p">)</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="nb">object</span><span class="p">)</span>
|
1231 | 1260 |
<span class="o">>>></span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">y</span><span class="p">)</span><span class="o">*</span><span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">)):</span>
|
|
1265 | 1294 |
with fixed length greater than 1) when calling the
|
1266 | 1295 |
<code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> method.</p>
|
1267 | 1296 |
|
1268 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">z</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"z"</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
|
|
1297 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">z</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"z"</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
|
1269 | 1298 |
<span class="o">>>></span> <span class="n">strvar</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s2">"strvar"</span><span class="p">,</span> <span class="nb">str</span><span class="p">,</span> <span class="s2">"z"</span><span class="p">)</span>
|
1270 | 1299 |
</code></pre></div>
|
1271 | 1300 |
|
|
1273 | 1302 |
random lengths between 2 and 12 characters, and the data in the object
|
1274 | 1303 |
array is assigned to the vlen string variable.</p>
|
1275 | 1304 |
|
1276 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">chars</span> <span class="o">=</span> <span class="s2">"1234567890aabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"</span>
|
|
1305 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">chars</span> <span class="o">=</span> <span class="s2">"1234567890aabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"</span>
|
1277 | 1306 |
<span class="o">>>></span> <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="s2">"O"</span><span class="p">)</span>
|
1278 | 1307 |
<span class="o">>>></span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">):</span>
|
1279 | 1308 |
<span class="o">...</span> <span class="n">stringlen</span> <span class="o">=</span> <span class="n">random</span><span class="o">.</span><span class="n">randint</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">12</span><span class="p">)</span>
|
|
1312 | 1341 |
values and their names are used to define an Enum data type using
|
1313 | 1342 |
<code><a href="#Dataset.createEnumType">Dataset.createEnumType</a></code>.</p>
|
1314 | 1343 |
|
1315 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">nc</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s1">'clouds.nc'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">)</span>
|
|
1344 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">nc</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s1">'clouds.nc'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">)</span>
|
1316 | 1345 |
<span class="o">>>></span> <span class="c1"># python dict with allowed values and their names.</span>
|
1317 | 1346 |
<span class="o">>>></span> <span class="n">enum_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'Altocumulus'</span><span class="p">:</span> <span class="mi">7</span><span class="p">,</span> <span class="s1">'Missing'</span><span class="p">:</span> <span class="mi">255</span><span class="p">,</span>
|
1318 | 1347 |
<span class="o">...</span> <span class="s1">'Stratus'</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s1">'Clear'</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
|
1330 | 1359 |
is made to write an integer value not associated with one of the
|
1331 | 1360 |
specified names.</p>
|
1332 | 1361 |
|
1333 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">time</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s1">'time'</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span>
|
|
1362 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">time</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s1">'time'</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span>
|
1334 | 1363 |
<span class="o">>>></span> <span class="c1"># create a 1d variable of type 'cloud_type'.</span>
|
1335 | 1364 |
<span class="o">>>></span> <span class="c1"># The fill_value is set to the 'Missing' named value.</span>
|
1336 | 1365 |
<span class="o">>>></span> <span class="n">cloud_var</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s1">'primary_cloud'</span><span class="p">,</span><span class="n">cloud_type</span><span class="p">,</span><span class="s1">'time'</span><span class="p">,</span>
|
|
1367 | 1396 |
available. To use parallel IO, your program must be running in an MPI
|
1368 | 1397 |
environment using <a href="https://mpi4py.scipy.org">mpi4py</a>.</p>
|
1369 | 1398 |
|
1370 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">from</span> <span class="nn">mpi4py</span> <span class="kn">import</span> <span class="n">MPI</span>
|
|
1399 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">from</span> <span class="nn">mpi4py</span> <span class="kn">import</span> <span class="n">MPI</span>
|
1371 | 1400 |
<span class="o">>>></span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
1372 | 1401 |
<span class="o">>>></span> <span class="kn">from</span> <span class="nn">netCDF4</span> <span class="kn">import</span> <span class="n">Dataset</span>
|
1373 | 1402 |
<span class="o">>>></span> <span class="n">rank</span> <span class="o">=</span> <span class="n">MPI</span><span class="o">.</span><span class="n">COMM_WORLD</span><span class="o">.</span><span class="n">rank</span> <span class="c1"># The process ID (integer 0-3 for 4-process run)</span>
|
|
1379 | 1408 |
when a new dataset is created or an existing dataset is opened,
|
1380 | 1409 |
use the <code>parallel</code> keyword to enable parallel access.</p>
|
1381 | 1410 |
|
1382 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">nc</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s1">'parallel_test.nc'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">,</span><span class="n">parallel</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
|
1411 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">nc</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s1">'parallel_test.nc'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">,</span><span class="n">parallel</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1383 | 1412 |
</code></pre></div>
|
1384 | 1413 |
|
1385 | 1414 |
<p>The optional <code>comm</code> keyword may be used to specify a particular
|
|
1387 | 1416 |
can now write to the file indepedently. In this example the process rank is
|
1388 | 1417 |
written to a different variable index on each task</p>
|
1389 | 1418 |
|
1390 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">d</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s1">'dim'</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span>
|
|
1419 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">d</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s1">'dim'</span><span class="p">,</span><span class="mi">4</span><span class="p">)</span>
|
1391 | 1420 |
<span class="o">>>></span> <span class="n">v</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createVariable</span><span class="p">(</span><span class="s1">'var'</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">int64</span><span class="p">,</span> <span class="s1">'dim'</span><span class="p">)</span>
|
1392 | 1421 |
<span class="o">>>></span> <span class="n">v</span><span class="p">[</span><span class="n">rank</span><span class="p">]</span> <span class="o">=</span> <span class="n">rank</span>
|
1393 | 1422 |
<span class="o">>>></span> <span class="n">nc</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
|
1454 | 1483 |
<code><a href="#stringtochar">stringtochar</a></code> is used to convert the numpy string array to an array of
|
1455 | 1484 |
characters with one more dimension. For example,</p>
|
1456 | 1485 |
|
1457 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">from</span> <span class="nn">netCDF4</span> <span class="kn">import</span> <span class="n">stringtochar</span>
|
|
1486 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">from</span> <span class="nn">netCDF4</span> <span class="kn">import</span> <span class="n">stringtochar</span>
|
1458 | 1487 |
<span class="o">>>></span> <span class="n">nc</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s1">'stringtest.nc'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">,</span><span class="nb">format</span><span class="o">=</span><span class="s1">'NETCDF4_CLASSIC'</span><span class="p">)</span>
|
1459 | 1488 |
<span class="o">>>></span> <span class="n">_</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s1">'nchars'</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span>
|
1460 | 1489 |
<span class="o">>>></span> <span class="n">_</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s1">'nstrings'</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span>
|
|
1487 | 1516 |
character array dtype under the hood when creating the netcdf compound type.
|
1488 | 1517 |
Here's an example:</p>
|
1489 | 1518 |
|
1490 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">nc</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s1">'compoundstring_example.nc'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">)</span>
|
|
1519 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="n">nc</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s1">'compoundstring_example.nc'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">)</span>
|
1491 | 1520 |
<span class="o">>>></span> <span class="n">dtype</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">dtype</span><span class="p">([(</span><span class="s1">'observation'</span><span class="p">,</span> <span class="s1">'f4'</span><span class="p">),</span>
|
1492 | 1521 |
<span class="o">...</span> <span class="p">(</span><span class="s1">'station_name'</span><span class="p">,</span><span class="s1">'S10'</span><span class="p">)])</span>
|
1493 | 1522 |
<span class="o">>>></span> <span class="n">station_data_t</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createCompoundType</span><span class="p">(</span><span class="n">dtype</span><span class="p">,</span><span class="s1">'station_data'</span><span class="p">)</span>
|
|
1532 | 1561 |
object representing the Dataset. Below are examples illustrating both
|
1533 | 1562 |
approaches.</p>
|
1534 | 1563 |
|
1535 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># create a diskless (in-memory) Dataset,</span>
|
|
1564 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># create a diskless (in-memory) Dataset,</span>
|
1536 | 1565 |
<span class="o">>>></span> <span class="c1"># and persist the file to disk when it is closed.</span>
|
1537 | 1566 |
<span class="o">>>></span> <span class="n">nc</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s1">'diskless_example.nc'</span><span class="p">,</span><span class="s1">'w'</span><span class="p">,</span><span class="n">diskless</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span><span class="n">persist</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
|
1538 | 1567 |
<span class="o">>>></span> <span class="n">d</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s1">'x'</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span>
|
|
1594 | 1623 |
the parallel IO example, which is in <code>examples/mpi_example.py</code>.
|
1595 | 1624 |
Unit tests are in the <code>test</code> directory.</p>
|
1596 | 1625 |
|
1597 | |
<p><strong>contact</strong>: Jeffrey Whitaker <a href="mailto:jeffrey.s.whitaker@noaa.gov">jeffrey.s.whitaker@noaa.gov</a></p>
|
|
1626 |
<p><strong>contact</strong>: Jeffrey Whitaker <a href="mailto:jeffrey.s.whitaker@noaa.gov">jeffrey.s.whitaker@noaa.gov</a></p>
|
1598 | 1627 |
|
1599 | 1628 |
<p><strong>copyright</strong>: 2008 by Jeffrey Whitaker.</p>
|
1600 | 1629 |
|
|
1607 | 1636 |
|
1608 | 1637 |
<details>
|
1609 | 1638 |
<summary>View Source</summary>
|
1610 | |
<div class="codehilite"><pre><span></span><span class="c1"># init for netCDF4. package</span>
|
|
1639 |
<div class="pdoc-code codehilite"><pre><span></span><span class="c1"># init for netCDF4. package</span>
|
1611 | 1640 |
<span class="c1"># Docstring comes from extension module _netCDF4.</span>
|
1612 | 1641 |
<span class="kn">from</span> <span class="nn">._netCDF4</span> <span class="kn">import</span> <span class="o">*</span>
|
1613 | 1642 |
<span class="c1"># Need explicit imports for names beginning with underscores</span>
|
|
1616 | 1645 |
<span class="n">__has_rename_grp__</span><span class="p">,</span> <span class="n">__has_nc_inq_path__</span><span class="p">,</span>
|
1617 | 1646 |
<span class="n">__has_nc_inq_format_extended__</span><span class="p">,</span> <span class="n">__has_nc_open_mem__</span><span class="p">,</span>
|
1618 | 1647 |
<span class="n">__has_nc_create_mem__</span><span class="p">,</span> <span class="n">__has_cdf5_format__</span><span class="p">,</span>
|
1619 | |
<span class="n">__has_parallel4_support__</span><span class="p">,</span> <span class="n">__has_pnetcdf_support__</span><span class="p">)</span>
|
|
1648 |
<span class="n">__has_parallel4_support__</span><span class="p">,</span> <span class="n">__has_pnetcdf_support__</span><span class="p">,</span>
|
|
1649 |
<span class="n">__has_quantization_support__</span><span class="p">,</span> <span class="n">__has_zstandard_support__</span><span class="p">,</span>
|
|
1650 |
<span class="n">__has_bzip2_support__</span><span class="p">,</span> <span class="n">__has_blosc_support__</span><span class="p">,</span> <span class="n">__has_szip_support__</span><span class="p">)</span>
|
|
1651 |
<span class="kn">import</span> <span class="nn">os</span>
|
1620 | 1652 |
<span class="n">__all__</span> <span class="o">=</span>\
|
1621 | 1653 |
<span class="p">[</span><span class="s1">'Dataset'</span><span class="p">,</span><span class="s1">'Variable'</span><span class="p">,</span><span class="s1">'Dimension'</span><span class="p">,</span><span class="s1">'Group'</span><span class="p">,</span><span class="s1">'MFDataset'</span><span class="p">,</span><span class="s1">'MFTime'</span><span class="p">,</span><span class="s1">'CompoundType'</span><span class="p">,</span><span class="s1">'VLType'</span><span class="p">,</span><span class="s1">'date2num'</span><span class="p">,</span><span class="s1">'num2date'</span><span class="p">,</span><span class="s1">'date2index'</span><span class="p">,</span><span class="s1">'stringtochar'</span><span class="p">,</span><span class="s1">'chartostring'</span><span class="p">,</span><span class="s1">'stringtoarr'</span><span class="p">,</span><span class="s1">'getlibversion'</span><span class="p">,</span><span class="s1">'EnumType'</span><span class="p">,</span><span class="s1">'get_chunk_cache'</span><span class="p">,</span><span class="s1">'set_chunk_cache'</span><span class="p">]</span>
|
|
1654 |
<span class="c1"># if HDF5_PLUGIN_PATH not set, point to package path if libh5noop.so exists there</span>
|
|
1655 |
<span class="k">if</span> <span class="s1">'HDF5_PLUGIN_PATH'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">__path__</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="s1">'libh5noop.so'</span><span class="p">)):</span>
|
|
1656 |
<span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s1">'HDF5_PLUGIN_PATH'</span><span class="p">]</span><span class="o">=</span><span class="n">__path__</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
1622 | 1657 |
</pre></div>
|
1623 | 1658 |
|
1624 | 1659 |
</details>
|
|
1633 | 1668 |
<span class="name">Dataset</span>:
|
1634 | 1669 |
</div>
|
1635 | 1670 |
|
1636 | |
|
|
1671 |
|
1637 | 1672 |
<div class="docstring"><p>A netCDF <code><a href="#Dataset">Dataset</a></code> is a collection of dimensions, groups, variables and
|
1638 | 1673 |
attributes. Together they describe the meaning of data and relations among
|
1639 | 1674 |
data fields stored in a netCDF file. See <code><a href="#Dataset.__init__">Dataset.__init__</a></code> for more
|
|
1711 | 1746 |
<span class="name">Dataset</span><span class="signature">()</span>
|
1712 | 1747 |
</div>
|
1713 | 1748 |
|
1714 | |
|
|
1749 |
|
1715 | 1750 |
<div class="docstring"><p><strong><code>__init__(self, filename, mode="r", clobber=True, diskless=False,
|
1716 | 1751 |
persist=False, keepweakref=False, memory=None, encoding=None,
|
1717 | 1752 |
parallel=False, comm=None, info=None, format='NETCDF4')</code></strong></p>
|
|
1724 | 1759 |
|
1725 | 1760 |
<p><strong><code>mode</code></strong>: access mode. <code>r</code> means read-only; no data can be
|
1726 | 1761 |
modified. <code>w</code> means write; a new file is created, an existing file with
|
1727 | |
the same name is deleted. <code>a</code> and <code>r+</code> mean append (in analogy with
|
1728 | |
serial files); an existing file is opened for reading and writing.
|
|
1762 |
the same name is deleted. <code>x</code> means write, but fail if an existing
|
|
1763 |
file with the same name already exists. <code>a</code> and <code>r+</code> mean append;
|
|
1764 |
an existing file is opened for reading and writing, if
|
|
1765 |
file does not exist already, one is created.
|
1729 | 1766 |
Appending <code>s</code> to modes <code>r</code>, <code>w</code>, <code>r+</code> or <code>a</code> will enable unbuffered shared
|
1730 | 1767 |
access to <code>NETCDF3_CLASSIC</code>, <code>NETCDF3_64BIT_OFFSET</code> or
|
1731 | 1768 |
<code>NETCDF3_64BIT_DATA</code> formatted files.
|
|
1736 | 1773 |
|
1737 | 1774 |
<p><strong><code>clobber</code></strong>: if <code>True</code> (default), opening a file with <code>mode='w'</code>
|
1738 | 1775 |
will clobber an existing file with the same name. if <code>False</code>, an
|
1739 | |
exception will be raised if a file with the same name already exists.</p>
|
|
1776 |
exception will be raised if a file with the same name already exists.
|
|
1777 |
mode=<code>x</code> is identical to mode=<code>w</code> with clobber=False.</p>
|
1740 | 1778 |
|
1741 | 1779 |
<p><strong><code>format</code></strong>: underlying file format (one of <code>'NETCDF4',
|
1742 | 1780 |
'NETCDF4_CLASSIC', 'NETCDF3_CLASSIC'</code>, <code>'NETCDF3_64BIT_OFFSET'</code> or
|
|
1779 | 1817 |
rendered unusable when the parent Dataset instance is garbage collected.</p>
|
1780 | 1818 |
|
1781 | 1819 |
<p><strong><code>memory</code></strong>: if not <code>None</code>, create or open an in-memory Dataset.
|
1782 | |
If mode = 'r', the memory kwarg must contain a memory buffer object
|
|
1820 |
If mode = <code>r</code>, the memory kwarg must contain a memory buffer object
|
1783 | 1821 |
(an object that supports the python buffer interface).
|
1784 | 1822 |
The Dataset will then be created with contents taken from this block of memory.
|
1785 | |
If mode = 'w', the memory kwarg should contain the anticipated size
|
|
1823 |
If mode = <code>w</code>, the memory kwarg should contain the anticipated size
|
1786 | 1824 |
of the Dataset in bytes (used only for NETCDF3 files). A memory
|
1787 | 1825 |
buffer containing a copy of the Dataset is returned by the
|
1788 | |
<code><a href="#Dataset.close">Dataset.close</a></code> method. Requires netcdf-c version 4.4.1 for mode='r,
|
1789 | |
netcdf-c 4.6.2 for mode='w'. To persist the file to disk, the raw
|
|
1826 |
<code><a href="#Dataset.close">Dataset.close</a></code> method. Requires netcdf-c version 4.4.1 for mode=<code>r</code>
|
|
1827 |
netcdf-c 4.6.2 for mode=<code>w</code>. To persist the file to disk, the raw
|
1790 | 1828 |
bytes from the returned buffer can be written into a binary file.
|
1791 | 1829 |
The Dataset can also be re-opened using this memory buffer.</p>
|
1792 | 1830 |
|
|
1814 | 1852 |
<span class="name">filepath</span><span class="signature">(unknown)</span>:
|
1815 | 1853 |
</div>
|
1816 | 1854 |
|
1817 | |
|
|
1855 |
|
1818 | 1856 |
<div class="docstring"><p><strong><code>filepath(self,encoding=None)</code></strong></p>
|
1819 | 1857 |
|
1820 | 1858 |
<p>Get the file system path (or the opendap URL) which was used to
|
|
1833 | 1871 |
<span class="name">close</span><span class="signature">(unknown)</span>:
|
1834 | 1872 |
</div>
|
1835 | 1873 |
|
1836 | |
|
|
1874 |
|
1837 | 1875 |
<div class="docstring"><p><strong><code>close(self)</code></strong></p>
|
1838 | 1876 |
|
1839 | 1877 |
<p>Close the Dataset.</p>
|
|
1849 | 1887 |
<span class="name">isopen</span><span class="signature">(unknown)</span>:
|
1850 | 1888 |
</div>
|
1851 | 1889 |
|
1852 | |
|
1853 | |
<div class="docstring"><p><strong><code>close(self)</code></strong></p>
|
1854 | |
|
1855 | |
<p>is the Dataset open or closed?</p>
|
|
1890 |
|
|
1891 |
<div class="docstring"><p><strong><code>isopen(self)</code></strong></p>
|
|
1892 |
|
|
1893 |
<p>Is the Dataset open or closed?</p>
|
1856 | 1894 |
</div>
|
1857 | 1895 |
|
1858 | 1896 |
|
|
1865 | 1903 |
<span class="name">sync</span><span class="signature">(unknown)</span>:
|
1866 | 1904 |
</div>
|
1867 | 1905 |
|
1868 | |
|
|
1906 |
|
1869 | 1907 |
<div class="docstring"><p><strong><code>sync(self)</code></strong></p>
|
1870 | 1908 |
|
1871 | 1909 |
<p>Writes all buffered data in the <code><a href="#Dataset">Dataset</a></code> to the disk file.</p>
|
|
1881 | 1919 |
<span class="name">set_fill_on</span><span class="signature">(unknown)</span>:
|
1882 | 1920 |
</div>
|
1883 | 1921 |
|
1884 | |
|
|
1922 |
|
1885 | 1923 |
<div class="docstring"><p><strong><code>set_fill_on(self)</code></strong></p>
|
1886 | 1924 |
|
1887 | 1925 |
<p>Sets the fill mode for a <code><a href="#Dataset">Dataset</a></code> open for writing to <code>on</code>.</p>
|
|
1905 | 1943 |
<span class="name">set_fill_off</span><span class="signature">(unknown)</span>:
|
1906 | 1944 |
</div>
|
1907 | 1945 |
|
1908 | |
|
|
1946 |
|
1909 | 1947 |
<div class="docstring"><p><strong><code>set_fill_off(self)</code></strong></p>
|
1910 | 1948 |
|
1911 | 1949 |
<p>Sets the fill mode for a <code><a href="#Dataset">Dataset</a></code> open for writing to <code>off</code>.</p>
|
|
1925 | 1963 |
<span class="name">createDimension</span><span class="signature">(unknown)</span>:
|
1926 | 1964 |
</div>
|
1927 | 1965 |
|
1928 | |
|
|
1966 |
|
1929 | 1967 |
<div class="docstring"><p><strong><code>createDimension(self, dimname, size=None)</code></strong></p>
|
1930 | 1968 |
|
1931 | 1969 |
<p>Creates a new dimension with the given <code>dimname</code> and <code>size</code>.</p>
|
|
1949 | 1987 |
<span class="name">renameDimension</span><span class="signature">(unknown)</span>:
|
1950 | 1988 |
</div>
|
1951 | 1989 |
|
1952 | |
|
|
1990 |
|
1953 | 1991 |
<div class="docstring"><p><strong><code>renameDimension(self, oldname, newname)</code></strong></p>
|
1954 | 1992 |
|
1955 | 1993 |
<p>rename a <code><a href="#Dimension">Dimension</a></code> named <code>oldname</code> to <code>newname</code>.</p>
|
|
1965 | 2003 |
<span class="name">createCompoundType</span><span class="signature">(unknown)</span>:
|
1966 | 2004 |
</div>
|
1967 | 2005 |
|
1968 | |
|
|
2006 |
|
1969 | 2007 |
<div class="docstring"><p><strong><code>createCompoundType(self, datatype, datatype_name)</code></strong></p>
|
1970 | 2008 |
|
1971 | 2009 |
<p>Creates a new compound data type named <code>datatype_name</code> from the numpy
|
|
1990 | 2028 |
<span class="name">createVLType</span><span class="signature">(unknown)</span>:
|
1991 | 2029 |
</div>
|
1992 | 2030 |
|
1993 | |
|
|
2031 |
|
1994 | 2032 |
<div class="docstring"><p><strong><code>createVLType(self, datatype, datatype_name)</code></strong></p>
|
1995 | 2033 |
|
1996 | 2034 |
<p>Creates a new VLEN data type named <code>datatype_name</code> from a numpy
|
|
2010 | 2048 |
<span class="name">createEnumType</span><span class="signature">(unknown)</span>:
|
2011 | 2049 |
</div>
|
2012 | 2050 |
|
2013 | |
|
|
2051 |
|
2014 | 2052 |
<div class="docstring"><p><strong><code>createEnumType(self, datatype, datatype_name, enum_dict)</code></strong></p>
|
2015 | 2053 |
|
2016 | 2054 |
<p>Creates a new Enum data type named <code>datatype_name</code> from a numpy
|
|
2031 | 2069 |
<span class="name">createVariable</span><span class="signature">(unknown)</span>:
|
2032 | 2070 |
</div>
|
2033 | 2071 |
|
2034 | |
|
2035 | |
<div class="docstring"><p><strong><code>createVariable(self, varname, datatype, dimensions=(), zlib=False,
|
|
2072 |
|
|
2073 |
<div class="docstring"><p><strong><code>createVariable(self, varname, datatype, dimensions=(), compression=None, zlib=False,
|
2036 | 2074 |
complevel=4, shuffle=True, fletcher32=False, contiguous=False, chunksizes=None,
|
2037 | |
endian='native', least_significant_digit=None, fill_value=None, chunk_cache=None)</code></strong></p>
|
|
2075 |
szip_coding='nn', szip_pixels_per_block=8, blosc_shuffle=1,
|
|
2076 |
endian='native', least_significant_digit=None, significant_digits=None, quantize_mode='BitGroom',
|
|
2077 |
fill_value=None, chunk_cache=None)</code></strong></p>
|
2038 | 2078 |
|
2039 | 2079 |
<p>Creates a new variable with the given <code>varname</code>, <code>datatype</code>, and
|
2040 | 2080 |
<code><a href="#Dataset.dimensions">dimensions</a></code>. If dimensions are not given, the variable is assumed to be
|
|
2061 | 2101 |
<p>Data from netCDF variables is presented to python as numpy arrays with
|
2062 | 2102 |
the corresponding data type.</p>
|
2063 | 2103 |
|
2064 | |
<p><code><a href="#Dataset.dimensions">dimensions</a></code> must be a tuple containing dimension names (strings) that
|
2065 | |
have been defined previously using <code><a href="#Dataset.createDimension">Dataset.createDimension</a></code>. The default value
|
|
2104 |
<p><code><a href="#Dataset.dimensions">dimensions</a></code> must be a tuple containing <code><a href="#Dimension">Dimension</a></code> instances and/or
|
|
2105 |
dimension names (strings) that have been defined
|
|
2106 |
previously using <code><a href="#Dataset.createDimension">Dataset.createDimension</a></code>. The default value
|
2066 | 2107 |
is an empty tuple, which means the variable is a scalar.</p>
|
2067 | 2108 |
|
|
2109 |
<p>If the optional keyword argument <code>compression</code> is set, the data will be
|
|
2110 |
compressed in the netCDF file using the specified compression algorithm.
|
|
2111 |
Currently <code>zlib</code>,<code>szip</code>,<code>zstd</code>,<code>bzip2</code>,<code>blosc_lz</code>,<code>blosc_lz4</code>,<code>blosc_lz4hc</code>,
|
|
2112 |
<code>blosc_zlib</code> and <code>blosc_zstd</code> are supported.
|
|
2113 |
Default is <code>None</code> (no compression). All of the compressors except
|
|
2114 |
<code>zlib</code> and <code>szip</code> use the HDF5 plugin architecture.</p>
|
|
2115 |
|
2068 | 2116 |
<p>If the optional keyword <code>zlib</code> is <code>True</code>, the data will be compressed in
|
2069 | |
the netCDF file using gzip compression (default <code>False</code>).</p>
|
2070 | |
|
2071 | |
<p>The optional keyword <code>complevel</code> is an integer between 1 and 9 describing
|
2072 | |
the level of compression desired (default 4). Ignored if <code>zlib=False</code>.</p>
|
|
2117 |
the netCDF file using zlib compression (default <code>False</code>). The use of this option is
|
|
2118 |
deprecated in favor of <code>compression='zlib'</code>.</p>
|
|
2119 |
|
|
2120 |
<p>The optional keyword <code>complevel</code> is an integer between 0 and 9 describing
|
|
2121 |
the level of compression desired (default 4). Ignored if <code>compression=None</code>.
|
|
2122 |
A value of zero disables compression.</p>
|
2073 | 2123 |
|
2074 | 2124 |
<p>If the optional keyword <code>shuffle</code> is <code>True</code>, the HDF5 shuffle filter
|
2075 | |
will be applied before compressing the data (default <code>True</code>). This
|
|
2125 |
will be applied before compressing the data with zlib (default <code>True</code>). This
|
2076 | 2126 |
significantly improves compression. Default is <code>True</code>. Ignored if
|
2077 | 2127 |
<code>zlib=False</code>.</p>
|
2078 | 2128 |
|
|
2129 |
<p>The optional kwarg <code>blosc_shuffle</code>is ignored
|
|
2130 |
unless the blosc compressor is used. <code>blosc_shuffle</code> can be 0 (no shuffle),
|
|
2131 |
1 (byte-wise shuffle) or 2 (bit-wise shuffle). Default is 1.</p>
|
|
2132 |
|
|
2133 |
<p>The optional kwargs <code>szip_coding</code> and <code>szip_pixels_per_block</code> are ignored
|
|
2134 |
unless the szip compressor is used. <code>szip_coding</code> can be <code>ec</code> (entropy coding)
|
|
2135 |
or <code>nn</code> (nearest neighbor coding). Default is <code>nn</code>. <code>szip_pixels_per_block</code>
|
|
2136 |
can be 4, 8, 16 or 32 (default 8).</p>
|
|
2137 |
|
2079 | 2138 |
<p>If the optional keyword <code>fletcher32</code> is <code>True</code>, the Fletcher32 HDF5
|
2080 | 2139 |
checksum algorithm is activated to detect errors. Default <code>False</code>.</p>
|
2081 | 2140 |
|
2082 | 2141 |
<p>If the optional keyword <code>contiguous</code> is <code>True</code>, the variable data is
|
2083 | 2142 |
stored contiguously on disk. Default <code>False</code>. Setting to <code>True</code> for
|
2084 | |
a variable with an unlimited dimension will trigger an error.</p>
|
|
2143 |
a variable with an unlimited dimension will trigger an error.
|
|
2144 |
Fixed size variables (with no unlimited dimension) with no compression filters
|
|
2145 |
are contiguous by default.</p>
|
2085 | 2146 |
|
2086 | 2147 |
<p>The optional keyword <code>chunksizes</code> can be used to manually specify the
|
2087 | |
HDF5 chunksizes for each dimension of the variable. A detailed
|
2088 | |
discussion of HDF chunking and I/O performance is available
|
2089 | |
<a href="http://www.hdfgroup.org/HDF5/doc/H5.user/Chunking.html">here</a>.
|
|
2148 |
HDF5 chunksizes for each dimension of the variable.
|
|
2149 |
A detailed discussion of HDF chunking and I/O performance is available
|
|
2150 |
<a href="https://support.hdfgroup.org/HDF5/doc/Advanced/Chunking">here</a>.
|
|
2151 |
The default chunking scheme in the netcdf-c library is discussed
|
|
2152 |
<a href="https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/netcdf_perf_chunking.html">here</a>.
|
2090 | 2153 |
Basically, you want the chunk size for each dimension to match as
|
2091 | 2154 |
closely as possible the size of the data block that users will read
|
2092 | |
from the file. <code>chunksizes</code> cannot be set if <code>contiguous=True</code>.</p>
|
|
2155 |
from the file. <code>chunksizes</code> cannot be set if <code>contiguous=True</code>.</p>
|
2093 | 2156 |
|
2094 | 2157 |
<p>The optional keyword <code>endian</code> can be used to control whether the
|
2095 | 2158 |
data is stored in little or big endian format on disk. Possible
|
|
2099 | 2162 |
opposite format as the one used to create the file, there may be
|
2100 | 2163 |
some performance advantage to be gained by setting the endian-ness.</p>
|
2101 | 2164 |
|
2102 | |
<p>The <code>zlib, complevel, shuffle, fletcher32, contiguous, chunksizes</code> and <code>endian</code>
|
2103 | |
keywords are silently ignored for netCDF 3 files that do not use HDF5.</p>
|
2104 | |
|
2105 | 2165 |
<p>The optional keyword <code>fill_value</code> can be used to override the default
|
2106 | 2166 |
netCDF <code>_FillValue</code> (the value that the variable gets filled with before
|
2107 | |
any data is written to it, defaults given in the dict <code><a href="#default_fillvals">netCDF4.default_fillvals</a></code>).
|
|
2167 |
any data is written to it, defaults given in the dict <code>netCDF4.default_fillvals</code>).
|
2108 | 2168 |
If fill_value is set to <code>False</code>, then the variable is not pre-filled.</p>
|
2109 | 2169 |
|
2110 | |
<p>If the optional keyword parameter <code>least_significant_digit</code> is
|
|
2170 |
<p>If the optional keyword parameters <code>least_significant_digit</code> or <code>significant_digits</code> are
|
2111 | 2171 |
specified, variable data will be truncated (quantized). In conjunction
|
2112 | |
with <code>zlib=True</code> this produces 'lossy', but significantly more
|
|
2172 |
with <code>compression='zlib'</code> this produces 'lossy', but significantly more
|
2113 | 2173 |
efficient compression. For example, if <code>least_significant_digit=1</code>,
|
2114 | 2174 |
data will be quantized using <code>numpy.around(scale*data)/scale</code>, where
|
2115 | 2175 |
scale = 2**bits, and bits is determined so that a precision of 0.1 is
|
|
2117 | 2177 |
<a href="http://www.esrl.noaa.gov/psl/data/gridded/conventions/cdc_netcdf_standard.shtml">PSL metadata conventions</a>:
|
2118 | 2178 |
"least_significant_digit -- power of ten of the smallest decimal place
|
2119 | 2179 |
in unpacked data that is a reliable value." Default is <code>None</code>, or no
|
2120 | |
quantization, or 'lossless' compression.</p>
|
|
2180 |
quantization, or 'lossless' compression. If <code>significant_digits=3</code>
|
|
2181 |
then the data will be quantized so that three significant digits are retained, independent
|
|
2182 |
of the floating point exponent. The keyword argument <code>quantize_mode</code> controls
|
|
2183 |
the quantization algorithm (default 'BitGroom', 'BitRound' and
|
|
2184 |
'GranularBitRound' also available). The 'GranularBitRound'
|
|
2185 |
algorithm may result in better compression for typical geophysical datasets.
|
|
2186 |
This <code>significant_digits</code> kwarg is only available with netcdf-c >= 4.9.0, and
|
|
2187 |
only works with <code>NETCDF4</code> or <code>NETCDF4_CLASSIC</code> formatted files.</p>
|
2121 | 2188 |
|
2122 | 2189 |
<p>When creating variables in a <code>NETCDF4</code> or <code>NETCDF4_CLASSIC</code> formatted file,
|
2123 | 2190 |
HDF5 creates something called a 'chunk cache' for each variable. The
|
|
2151 | 2218 |
The <code>least_significant_digit</code>
|
2152 | 2219 |
attributes describes the power of ten of the smallest decimal place in
|
2153 | 2220 |
the data the contains a reliable value. assigned to the <code><a href="#Variable">Variable</a></code>
|
2154 | |
instance. If <code>None</code>, the data is not truncated. The <code>ndim</code> attribute
|
|
2221 |
instance. The <code>ndim</code> attribute
|
2155 | 2222 |
is the number of variable dimensions.</p>
|
2156 | 2223 |
</div>
|
2157 | 2224 |
|
|
2165 | 2232 |
<span class="name">renameVariable</span><span class="signature">(unknown)</span>:
|
2166 | 2233 |
</div>
|
2167 | 2234 |
|
2168 | |
|
|
2235 |
|
2169 | 2236 |
<div class="docstring"><p><strong><code>renameVariable(self, oldname, newname)</code></strong></p>
|
2170 | 2237 |
|
2171 | 2238 |
<p>rename a <code><a href="#Variable">Variable</a></code> named <code>oldname</code> to <code>newname</code></p>
|
|
2181 | 2248 |
<span class="name">createGroup</span><span class="signature">(unknown)</span>:
|
2182 | 2249 |
</div>
|
2183 | 2250 |
|
2184 | |
|
|
2251 |
|
2185 | 2252 |
<div class="docstring"><p><strong><code>createGroup(self, groupname)</code></strong></p>
|
2186 | 2253 |
|
2187 | 2254 |
<p>Creates a new <code><a href="#Group">Group</a></code> with the given <code>groupname</code>.</p>
|
|
2207 | 2274 |
<span class="name">ncattrs</span><span class="signature">(unknown)</span>:
|
2208 | 2275 |
</div>
|
2209 | 2276 |
|
2210 | |
|
|
2277 |
|
2211 | 2278 |
<div class="docstring"><p><strong><code>ncattrs(self)</code></strong></p>
|
2212 | 2279 |
|
2213 | 2280 |
<p>return netCDF global attribute names for this <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code> in a list.</p>
|
|
2223 | 2290 |
<span class="name">setncattr</span><span class="signature">(unknown)</span>:
|
2224 | 2291 |
</div>
|
2225 | 2292 |
|
2226 | |
|
|
2293 |
|
2227 | 2294 |
<div class="docstring"><p><strong><code>setncattr(self,name,value)</code></strong></p>
|
2228 | 2295 |
|
2229 | 2296 |
<p>set a netCDF dataset or group attribute using name,value pair.
|
|
2241 | 2308 |
<span class="name">setncattr_string</span><span class="signature">(unknown)</span>:
|
2242 | 2309 |
</div>
|
2243 | 2310 |
|
2244 | |
|
|
2311 |
|
2245 | 2312 |
<div class="docstring"><p><strong><code>setncattr_string(self,name,value)</code></strong></p>
|
2246 | 2313 |
|
2247 | 2314 |
<p>set a netCDF dataset or group string attribute using name,value pair.
|
|
2259 | 2326 |
<span class="name">setncatts</span><span class="signature">(unknown)</span>:
|
2260 | 2327 |
</div>
|
2261 | 2328 |
|
2262 | |
|
|
2329 |
|
2263 | 2330 |
<div class="docstring"><p><strong><code>setncatts(self,attdict)</code></strong></p>
|
2264 | 2331 |
|
2265 | 2332 |
<p>set a bunch of netCDF dataset or group attributes at once using a python dictionary.
|
|
2278 | 2345 |
<span class="name">getncattr</span><span class="signature">(unknown)</span>:
|
2279 | 2346 |
</div>
|
2280 | 2347 |
|
2281 | |
|
|
2348 |
|
2282 | 2349 |
<div class="docstring"><p><strong><code>getncattr(self,name)</code></strong></p>
|
2283 | 2350 |
|
2284 | 2351 |
<p>retrieve a netCDF dataset or group attribute.
|
|
2299 | 2366 |
<span class="name">delncattr</span><span class="signature">(unknown)</span>:
|
2300 | 2367 |
</div>
|
2301 | 2368 |
|
2302 | |
|
|
2369 |
|
2303 | 2370 |
<div class="docstring"><p><strong><code>delncattr(self,name,value)</code></strong></p>
|
2304 | 2371 |
|
2305 | 2372 |
<p>delete a netCDF dataset or group attribute. Use if you need to delete a
|
|
2317 | 2384 |
<span class="name">renameAttribute</span><span class="signature">(unknown)</span>:
|
2318 | 2385 |
</div>
|
2319 | 2386 |
|
2320 | |
|
|
2387 |
|
2321 | 2388 |
<div class="docstring"><p><strong><code>renameAttribute(self, oldname, newname)</code></strong></p>
|
2322 | 2389 |
|
2323 | 2390 |
<p>rename a <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code> attribute named <code>oldname</code> to <code>newname</code>.</p>
|
|
2333 | 2400 |
<span class="name">renameGroup</span><span class="signature">(unknown)</span>:
|
2334 | 2401 |
</div>
|
2335 | 2402 |
|
2336 | |
|
|
2403 |
|
2337 | 2404 |
<div class="docstring"><p><strong><code>renameGroup(self, oldname, newname)</code></strong></p>
|
2338 | 2405 |
|
2339 | 2406 |
<p>rename a <code><a href="#Group">Group</a></code> named <code>oldname</code> to <code>newname</code> (requires netcdf >= 4.3.1).</p>
|
|
2349 | 2416 |
<span class="name">set_auto_chartostring</span><span class="signature">(unknown)</span>:
|
2350 | 2417 |
</div>
|
2351 | 2418 |
|
2352 | |
|
|
2419 |
|
2353 | 2420 |
<div class="docstring"><p><strong><code>set_auto_chartostring(self, True_or_False)</code></strong></p>
|
2354 | 2421 |
|
2355 | 2422 |
<p>Call <code><a href="#Variable.set_auto_chartostring">Variable.set_auto_chartostring</a></code> for all variables contained in this <code><a href="#Dataset">Dataset</a></code> or
|
|
2374 | 2441 |
<span class="name">set_auto_maskandscale</span><span class="signature">(unknown)</span>:
|
2375 | 2442 |
</div>
|
2376 | 2443 |
|
2377 | |
|
|
2444 |
|
2378 | 2445 |
<div class="docstring"><p><strong><code>set_auto_maskandscale(self, True_or_False)</code></strong></p>
|
2379 | 2446 |
|
2380 | 2447 |
<p>Call <code><a href="#Variable.set_auto_maskandscale">Variable.set_auto_maskandscale</a></code> for all variables contained in this <code><a href="#Dataset">Dataset</a></code> or
|
|
2397 | 2464 |
<span class="name">set_auto_mask</span><span class="signature">(unknown)</span>:
|
2398 | 2465 |
</div>
|
2399 | 2466 |
|
2400 | |
|
|
2467 |
|
2401 | 2468 |
<div class="docstring"><p><strong><code>set_auto_mask(self, True_or_False)</code></strong></p>
|
2402 | 2469 |
|
2403 | 2470 |
<p>Call <code><a href="#Variable.set_auto_mask">Variable.set_auto_mask</a></code> for all variables contained in this <code><a href="#Dataset">Dataset</a></code> or
|
|
2421 | 2488 |
<span class="name">set_auto_scale</span><span class="signature">(unknown)</span>:
|
2422 | 2489 |
</div>
|
2423 | 2490 |
|
2424 | |
|
|
2491 |
|
2425 | 2492 |
<div class="docstring"><p><strong><code>set_auto_scale(self, True_or_False)</code></strong></p>
|
2426 | 2493 |
|
2427 | 2494 |
<p>Call <code><a href="#Variable.set_auto_scale">Variable.set_auto_scale</a></code> for all variables contained in this <code><a href="#Dataset">Dataset</a></code> or
|
|
2444 | 2511 |
<span class="name">set_always_mask</span><span class="signature">(unknown)</span>:
|
2445 | 2512 |
</div>
|
2446 | 2513 |
|
2447 | |
|
|
2514 |
|
2448 | 2515 |
<div class="docstring"><p><strong><code>set_always_mask(self, True_or_False)</code></strong></p>
|
2449 | 2516 |
|
2450 | 2517 |
<p>Call <code><a href="#Variable.set_always_mask">Variable.set_always_mask</a></code> for all variables contained in
|
|
2472 | 2539 |
<span class="name">set_ncstring_attrs</span><span class="signature">(unknown)</span>:
|
2473 | 2540 |
</div>
|
2474 | 2541 |
|
2475 | |
|
|
2542 |
|
2476 | 2543 |
<div class="docstring"><p><strong><code>set_ncstring_attrs(self, True_or_False)</code></strong></p>
|
2477 | 2544 |
|
2478 | 2545 |
<p>Call <code><a href="#Variable.set_ncstring_attrs">Variable.set_ncstring_attrs</a></code> for all variables contained in
|
|
2497 | 2564 |
<span class="name">get_variables_by_attributes</span><span class="signature">(unknown)</span>:
|
2498 | 2565 |
</div>
|
2499 | 2566 |
|
2500 | |
|
|
2567 |
|
2501 | 2568 |
<div class="docstring"><p><strong><code>get_variables_by_attribute(self, **kwargs)</code></strong></p>
|
2502 | 2569 |
|
2503 | 2570 |
<p>Returns a list of variables that match specific conditions.</p>
|
|
2505 | 2572 |
<p>Can pass in key=value parameters and variables are returned that
|
2506 | 2573 |
contain all of the matches. For example,</p>
|
2507 | 2574 |
|
2508 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># Get variables with x-axis attribute.</span>
|
|
2575 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># Get variables with x-axis attribute.</span>
|
2509 | 2576 |
<span class="o">>>></span> <span class="n">vs</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">get_variables_by_attributes</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s1">'X'</span><span class="p">)</span>
|
2510 | 2577 |
<span class="o">>>></span> <span class="c1"># Get variables with matching "standard_name" attribute</span>
|
2511 | 2578 |
<span class="o">>>></span> <span class="n">vs</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">get_variables_by_attributes</span><span class="p">(</span><span class="n">standard_name</span><span class="o">=</span><span class="s1">'northward_sea_water_velocity'</span><span class="p">)</span>
|
|
2516 | 2583 |
the attribute value. None is given as the attribute value when the
|
2517 | 2584 |
attribute does not exist on the variable. For example,</p>
|
2518 | 2585 |
|
2519 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># Get Axis variables</span>
|
|
2586 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="c1"># Get Axis variables</span>
|
2520 | 2587 |
<span class="o">>>></span> <span class="n">vs</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">get_variables_by_attributes</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="k">lambda</span> <span class="n">v</span><span class="p">:</span> <span class="n">v</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'X'</span><span class="p">,</span> <span class="s1">'Y'</span><span class="p">,</span> <span class="s1">'Z'</span><span class="p">,</span> <span class="s1">'T'</span><span class="p">])</span>
|
2521 | 2588 |
<span class="o">>>></span> <span class="c1"># Get variables that don't have an "axis" attribute</span>
|
2522 | 2589 |
<span class="o">>>></span> <span class="n">vs</span> <span class="o">=</span> <span class="n">nc</span><span class="o">.</span><span class="n">get_variables_by_attributes</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="k">lambda</span> <span class="n">v</span><span class="p">:</span> <span class="n">v</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">)</span>
|
|
2535 | 2602 |
<span class="name">fromcdl</span><span class="signature">(unknown)</span>:
|
2536 | 2603 |
</div>
|
2537 | 2604 |
|
2538 | |
|
|
2605 |
|
2539 | 2606 |
<div class="docstring"><p><strong><code>fromcdl(cdlfilename, ncfilename=None, mode='a',format='NETCDF4')</code></strong></p>
|
2540 | 2607 |
|
2541 | 2608 |
<p>call <a href="https://www.unidata.ucar.edu/software/netcdf/docs/netcdf_utilities_guide.html#ncgen_guide">ncgen</a> via subprocess to create Dataset from <a href="https://www.unidata.ucar.edu/software/netcdf/docs/netcdf_utilities_guide.html#cdl_guide">CDL</a>
|
|
2565 | 2632 |
<span class="name">tocdl</span><span class="signature">(unknown)</span>:
|
2566 | 2633 |
</div>
|
2567 | 2634 |
|
2568 | |
|
|
2635 |
|
2569 | 2636 |
<div class="docstring"><p><strong><code>tocdl(self, coordvars=False, data=False, outfile=None)</code></strong></p>
|
2570 | 2637 |
|
2571 | 2638 |
<p>call <a href="https://www.unidata.ucar.edu/software/netcdf/docs/netcdf_utilities_guide.html#ncdump_guide">ncdump</a> via subprocess to create <a href="https://www.unidata.ucar.edu/software/netcdf/docs/netcdf_utilities_guide.html#cdl_guide">CDL</a>
|
|
2584 | 2651 |
<div id="Dataset.name" class="classattr">
|
2585 | 2652 |
<div class="attr variable"><a class="headerlink" href="#Dataset.name">#  </a>
|
2586 | 2653 |
|
2587 | |
<span class="name">name</span><span class="default_value"> = <attribute 'name' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2588 | |
</div>
|
2589 | |
|
|
2654 |
<span class="name">name</span>
|
|
2655 |
</div>
|
|
2656 |
|
|
2657 |
|
2590 | 2658 |
<div class="docstring"><p>string name of Group instance</p>
|
2591 | 2659 |
</div>
|
2592 | 2660 |
|
|
2595 | 2663 |
<div id="Dataset.groups" class="classattr">
|
2596 | 2664 |
<div class="attr variable"><a class="headerlink" href="#Dataset.groups">#  </a>
|
2597 | 2665 |
|
2598 | |
<span class="name">groups</span><span class="default_value"> = <attribute 'groups' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2599 | |
</div>
|
2600 | |
|
|
2666 |
<span class="name">groups</span>
|
|
2667 |
</div>
|
|
2668 |
|
|
2669 |
|
2601 | 2670 |
|
2602 | 2671 |
|
2603 | 2672 |
</div>
|
2604 | 2673 |
<div id="Dataset.dimensions" class="classattr">
|
2605 | 2674 |
<div class="attr variable"><a class="headerlink" href="#Dataset.dimensions">#  </a>
|
2606 | 2675 |
|
2607 | |
<span class="name">dimensions</span><span class="default_value"> = <attribute 'dimensions' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2608 | |
</div>
|
2609 | |
|
|
2676 |
<span class="name">dimensions</span>
|
|
2677 |
</div>
|
|
2678 |
|
|
2679 |
|
2610 | 2680 |
|
2611 | 2681 |
|
2612 | 2682 |
</div>
|
2613 | 2683 |
<div id="Dataset.variables" class="classattr">
|
2614 | 2684 |
<div class="attr variable"><a class="headerlink" href="#Dataset.variables">#  </a>
|
2615 | 2685 |
|
2616 | |
<span class="name">variables</span><span class="default_value"> = <attribute 'variables' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2617 | |
</div>
|
2618 | |
|
|
2686 |
<span class="name">variables</span>
|
|
2687 |
</div>
|
|
2688 |
|
|
2689 |
|
2619 | 2690 |
|
2620 | 2691 |
|
2621 | 2692 |
</div>
|
2622 | 2693 |
<div id="Dataset.disk_format" class="classattr">
|
2623 | 2694 |
<div class="attr variable"><a class="headerlink" href="#Dataset.disk_format">#  </a>
|
2624 | 2695 |
|
2625 | |
<span class="name">disk_format</span><span class="default_value"> = <attribute 'disk_format' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2626 | |
</div>
|
2627 | |
|
|
2696 |
<span class="name">disk_format</span>
|
|
2697 |
</div>
|
|
2698 |
|
|
2699 |
|
2628 | 2700 |
|
2629 | 2701 |
|
2630 | 2702 |
</div>
|
2631 | 2703 |
<div id="Dataset.path" class="classattr">
|
2632 | 2704 |
<div class="attr variable"><a class="headerlink" href="#Dataset.path">#  </a>
|
2633 | 2705 |
|
2634 | |
<span class="name">path</span><span class="default_value"> = <attribute 'path' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2635 | |
</div>
|
2636 | |
|
|
2706 |
<span class="name">path</span>
|
|
2707 |
</div>
|
|
2708 |
|
|
2709 |
|
2637 | 2710 |
|
2638 | 2711 |
|
2639 | 2712 |
</div>
|
2640 | 2713 |
<div id="Dataset.parent" class="classattr">
|
2641 | 2714 |
<div class="attr variable"><a class="headerlink" href="#Dataset.parent">#  </a>
|
2642 | 2715 |
|
2643 | |
<span class="name">parent</span><span class="default_value"> = <attribute 'parent' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2644 | |
</div>
|
2645 | |
|
|
2716 |
<span class="name">parent</span>
|
|
2717 |
</div>
|
|
2718 |
|
|
2719 |
|
2646 | 2720 |
|
2647 | 2721 |
|
2648 | 2722 |
</div>
|
2649 | 2723 |
<div id="Dataset.file_format" class="classattr">
|
2650 | 2724 |
<div class="attr variable"><a class="headerlink" href="#Dataset.file_format">#  </a>
|
2651 | 2725 |
|
2652 | |
<span class="name">file_format</span><span class="default_value"> = <attribute 'file_format' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2653 | |
</div>
|
2654 | |
|
|
2726 |
<span class="name">file_format</span>
|
|
2727 |
</div>
|
|
2728 |
|
|
2729 |
|
2655 | 2730 |
|
2656 | 2731 |
|
2657 | 2732 |
</div>
|
2658 | 2733 |
<div id="Dataset.data_model" class="classattr">
|
2659 | 2734 |
<div class="attr variable"><a class="headerlink" href="#Dataset.data_model">#  </a>
|
2660 | 2735 |
|
2661 | |
<span class="name">data_model</span><span class="default_value"> = <attribute 'data_model' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2662 | |
</div>
|
2663 | |
|
|
2736 |
<span class="name">data_model</span>
|
|
2737 |
</div>
|
|
2738 |
|
|
2739 |
|
2664 | 2740 |
|
2665 | 2741 |
|
2666 | 2742 |
</div>
|
2667 | 2743 |
<div id="Dataset.cmptypes" class="classattr">
|
2668 | 2744 |
<div class="attr variable"><a class="headerlink" href="#Dataset.cmptypes">#  </a>
|
2669 | 2745 |
|
2670 | |
<span class="name">cmptypes</span><span class="default_value"> = <attribute 'cmptypes' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2671 | |
</div>
|
2672 | |
|
|
2746 |
<span class="name">cmptypes</span>
|
|
2747 |
</div>
|
|
2748 |
|
|
2749 |
|
2673 | 2750 |
|
2674 | 2751 |
|
2675 | 2752 |
</div>
|
2676 | 2753 |
<div id="Dataset.vltypes" class="classattr">
|
2677 | 2754 |
<div class="attr variable"><a class="headerlink" href="#Dataset.vltypes">#  </a>
|
2678 | 2755 |
|
2679 | |
<span class="name">vltypes</span><span class="default_value"> = <attribute 'vltypes' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2680 | |
</div>
|
2681 | |
|
|
2756 |
<span class="name">vltypes</span>
|
|
2757 |
</div>
|
|
2758 |
|
|
2759 |
|
2682 | 2760 |
|
2683 | 2761 |
|
2684 | 2762 |
</div>
|
2685 | 2763 |
<div id="Dataset.enumtypes" class="classattr">
|
2686 | 2764 |
<div class="attr variable"><a class="headerlink" href="#Dataset.enumtypes">#  </a>
|
2687 | 2765 |
|
2688 | |
<span class="name">enumtypes</span><span class="default_value"> = <attribute 'enumtypes' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2689 | |
</div>
|
2690 | |
|
|
2766 |
<span class="name">enumtypes</span>
|
|
2767 |
</div>
|
|
2768 |
|
|
2769 |
|
2691 | 2770 |
|
2692 | 2771 |
|
2693 | 2772 |
</div>
|
2694 | 2773 |
<div id="Dataset.keepweakref" class="classattr">
|
2695 | 2774 |
<div class="attr variable"><a class="headerlink" href="#Dataset.keepweakref">#  </a>
|
2696 | 2775 |
|
2697 | |
<span class="name">keepweakref</span><span class="default_value"> = <attribute 'keepweakref' of '<a href="#_netCDF4.Dataset">netCDF4._netCDF4.Dataset</a>' objects></span>
|
2698 | |
</div>
|
2699 | |
|
|
2776 |
<span class="name">keepweakref</span>
|
|
2777 |
</div>
|
|
2778 |
|
|
2779 |
|
2700 | 2780 |
|
2701 | 2781 |
|
2702 | 2782 |
</div>
|
|
2710 | 2790 |
<span class="name">Variable</span>:
|
2711 | 2791 |
</div>
|
2712 | 2792 |
|
2713 | |
|
|
2793 |
|
2714 | 2794 |
<div class="docstring"><p>A netCDF <code><a href="#Variable">Variable</a></code> is used to read and write netCDF data. They are
|
2715 | 2795 |
analogous to numpy array objects. See <code><a href="#Variable.__init__">Variable.__init__</a></code> for more
|
2716 | 2796 |
details.</p>
|
|
2756 | 2836 |
truncated to this decimal place when it is assigned to the <code><a href="#Variable">Variable</a></code>
|
2757 | 2837 |
instance. If <code>None</code>, the data is not truncated.</p>
|
2758 | 2838 |
|
|
2839 |
<p><strong><code>significant_digits</code></strong>: New in version 1.6.0. Describes the number of significant
|
|
2840 |
digits in the data the contains a reliable value. Data is
|
|
2841 |
truncated to retain this number of significant digits when it is assigned to the
|
|
2842 |
<code><a href="#Variable">Variable</a></code> instance. If <code>None</code>, the data is not truncated.
|
|
2843 |
Only available with netcdf-c >= 4.9.0,
|
|
2844 |
and only works with <code>NETCDF4</code> or <code>NETCDF4_CLASSIC</code> formatted files.
|
|
2845 |
The number of significant digits used in the quantization of variable data can be
|
|
2846 |
obtained using the <code>Variable.significant_digits</code> method. Default <code>None</code> -
|
|
2847 |
no quantization done.</p>
|
|
2848 |
|
|
2849 |
<p><strong><code>quantize_mode</code></strong>: New in version 1.6.0. Controls
|
|
2850 |
the quantization algorithm (default 'BitGroom', 'BitRound' and
|
|
2851 |
'GranularBitRound' also available). The 'GranularBitRound'
|
|
2852 |
algorithm may result in better compression for typical geophysical datasets.
|
|
2853 |
Ignored if <code>significant_digits</code> not specified. If 'BitRound' is used, then
|
|
2854 |
<code>significant_digits</code> is interpreted as binary (not decimal) digits.</p>
|
|
2855 |
|
2759 | 2856 |
<p><strong><code>__orthogonal_indexing__</code></strong>: Always <code>True</code>. Indicates to client code
|
2760 | 2857 |
that the object supports 'orthogonal indexing', which means that slices
|
2761 | 2858 |
that are 1d arrays or lists slice along each dimension independently. This
|
|
2777 | 2874 |
<span class="name">Variable</span><span class="signature">()</span>
|
2778 | 2875 |
</div>
|
2779 | 2876 |
|
2780 | |
|
2781 | |
<div class="docstring"><p><strong><code>__init__(self, group, name, datatype, dimensions=(), zlib=False,
|
2782 | |
complevel=4, shuffle=True, fletcher32=False, contiguous=False,
|
|
2877 |
|
|
2878 |
<div class="docstring"><p><strong><code>__init__(self, group, name, datatype, dimensions=(), compression=None, zlib=False,
|
|
2879 |
complevel=4, shuffle=True, szip_coding='nn', szip_pixels_per_block=8,
|
|
2880 |
blosc_shuffle=1, fletcher32=False, contiguous=False,
|
2783 | 2881 |
chunksizes=None, endian='native',
|
2784 | 2882 |
least_significant_digit=None,fill_value=None,chunk_cache=None)</code></strong></p>
|
2785 | 2883 |
|
|
2808 | 2906 |
(for a variable-length string array). Numpy string and unicode datatypes with
|
2809 | 2907 |
length greater than one are aliases for <code>str</code>.</p>
|
2810 | 2908 |
|
2811 | |
<p><strong><code><a href="#Variable.dimensions">dimensions</a></code></strong>: a tuple containing the variable's dimension names
|
|
2909 |
<p><strong><code><a href="#Variable.dimensions">dimensions</a></code></strong>: a tuple containing the variable's Dimension instances
|
2812 | 2910 |
(defined previously with <code>createDimension</code>). Default is an empty tuple
|
2813 | 2911 |
which means the variable is a scalar (and therefore has no dimensions).</p>
|
2814 | 2912 |
|
|
2913 |
<p><strong><code>compression</code></strong>: compression algorithm to use.
|
|
2914 |
Currently <code>zlib</code>,<code>szip</code>,<code>zstd</code>,<code>bzip2</code>,<code>blosc_lz</code>,<code>blosc_lz4</code>,<code>blosc_lz4hc</code>,
|
|
2915 |
<code>blosc_zlib</code> and <code>blosc_zstd</code> are supported.
|
|
2916 |
Default is <code>None</code> (no compression). All of the compressors except
|
|
2917 |
<code>zlib</code> and <code>szip</code> use the HDF5 plugin architecture.</p>
|
|
2918 |
|
2815 | 2919 |
<p><strong><code>zlib</code></strong>: if <code>True</code>, data assigned to the <code><a href="#Variable">Variable</a></code>
|
2816 | |
instance is compressed on disk. Default <code>False</code>.</p>
|
2817 | |
|
2818 | |
<p><strong><code>complevel</code></strong>: the level of zlib compression to use (1 is the fastest,
|
|
2920 |
instance is compressed on disk. Default <code>False</code>. Deprecated - use
|
|
2921 |
<code>compression='zlib'</code> instead.</p>
|
|
2922 |
|
|
2923 |
<p><strong><code>complevel</code></strong>: the level of compression to use (1 is the fastest,
|
2819 | 2924 |
but poorest compression, 9 is the slowest but best compression). Default 4.
|
2820 | |
Ignored if <code>zlib=False</code>.</p>
|
|
2925 |
Ignored if <code>compression=None</code> or <code>szip</code>. A value of 0 disables compression.</p>
|
2821 | 2926 |
|
2822 | 2927 |
<p><strong><code>shuffle</code></strong>: if <code>True</code>, the HDF5 shuffle filter is applied
|
2823 | |
to improve compression. Default <code>True</code>. Ignored if <code>zlib=False</code>.</p>
|
|
2928 |
to improve zlib compression. Default <code>True</code>. Ignored unless <code>compression = 'zlib'</code>.</p>
|
|
2929 |
|
|
2930 |
<p><strong><code>blosc_shuffle</code></strong>: shuffle filter inside blosc compressor (only
|
|
2931 |
relevant if compression kwarg set to one of the blosc compressors).
|
|
2932 |
Can be 0 (no blosc shuffle), 1 (bytewise shuffle) or 2 (bitwise
|
|
2933 |
shuffle)). Default is 1. Ignored if blosc compressor not used.</p>
|
|
2934 |
|
|
2935 |
<p><strong><code>szip_coding</code></strong>: szip coding method. Can be <code>ec</code> (entropy coding)
|
|
2936 |
or <code>nn</code> (nearest neighbor coding). Default is <code>nn</code>.
|
|
2937 |
Ignored if szip compressor not used.</p>
|
|
2938 |
|
|
2939 |
<p><strong><code>szip_pixels_per_block</code></strong>: Can be 4,8,16 or 32 (Default 8).
|
|
2940 |
Ignored if szip compressor not used.</p>
|
2824 | 2941 |
|
2825 | 2942 |
<p><strong><code>fletcher32</code></strong>: if <code>True</code> (default <code>False</code>), the Fletcher32 checksum
|
2826 | 2943 |
algorithm is used for error detection.</p>
|
2827 | 2944 |
|
2828 | 2945 |
<p><strong><code>contiguous</code></strong>: if <code>True</code> (default <code>False</code>), the variable data is
|
2829 | 2946 |
stored contiguously on disk. Default <code>False</code>. Setting to <code>True</code> for
|
2830 | |
a variable with an unlimited dimension will trigger an error.</p>
|
|
2947 |
a variable with an unlimited dimension will trigger an error. Fixed
|
|
2948 |
size variables (with no unlimited dimension) with no compression
|
|
2949 |
filters are contiguous by default.</p>
|
2831 | 2950 |
|
2832 | 2951 |
<p><strong><code>chunksizes</code></strong>: Can be used to specify the HDF5 chunksizes for each
|
2833 | 2952 |
dimension of the variable. A detailed discussion of HDF chunking and I/O
|
2834 | 2953 |
performance is available
|
2835 | |
<a href="http://www.hdfgroup.org/HDF5/doc/H5.user/Chunking.html">here</a>.
|
|
2954 |
<a href="https://support.hdfgroup.org/HDF5/doc/Advanced/Chunking">here</a>.
|
|
2955 |
The default chunking scheme in the netcdf-c library is discussed
|
|
2956 |
<a href="https://www.unidata.ucar.edu/software/netcdf/documentation/NUG/netcdf_perf_chunking.html">here</a>.
|
2836 | 2957 |
Basically, you want the chunk size for each dimension to match as
|
2837 | 2958 |
closely as possible the size of the data block that users will read
|
2838 | 2959 |
from the file. <code>chunksizes</code> cannot be set if <code>contiguous=True</code>.</p>
|
|
2846 | 2967 |
some performance advantage to be gained by setting the endian-ness.
|
2847 | 2968 |
For netCDF 3 files (that don't use HDF5), only <code>endian='native'</code> is allowed.</p>
|
2848 | 2969 |
|
2849 | |
<p>The <code>zlib, complevel, shuffle, fletcher32, contiguous</code> and <code>chunksizes</code>
|
|
2970 |
<p>The <code>compression, zlib, complevel, shuffle, fletcher32, contiguous</code> and <code>chunksizes</code>
|
2850 | 2971 |
keywords are silently ignored for netCDF 3 files that do not use HDF5.</p>
|
2851 | 2972 |
|
2852 | |
<p><strong><code>least_significant_digit</code></strong>: If specified, variable data will be
|
2853 | |
truncated (quantized). In conjunction with <code>zlib=True</code> this produces
|
|
2973 |
<p><strong><code>least_significant_digit</code></strong>: If this or <code>significant_digits</code> are specified,
|
|
2974 |
variable data will be truncated (quantized).
|
|
2975 |
In conjunction with <code>compression='zlib'</code> this produces
|
2854 | 2976 |
'lossy', but significantly more efficient compression. For example, if
|
2855 | 2977 |
<code>least_significant_digit=1</code>, data will be quantized using
|
2856 | 2978 |
around(scale<em>data)/scale, where scale = 2</em>*bits, and bits is determined
|
2857 | 2979 |
so that a precision of 0.1 is retained (in this case bits=4). Default is
|
2858 | 2980 |
<code>None</code>, or no quantization.</p>
|
2859 | 2981 |
|
|
2982 |
<p><strong><code>significant_digits</code></strong>: New in version 1.6.0.
|
|
2983 |
As described for <code>least_significant_digit</code>
|
|
2984 |
except the number of significant digits retained is prescribed independent
|
|
2985 |
of the floating point exponent. Default <code>None</code> - no quantization done.</p>
|
|
2986 |
|
|
2987 |
<p><strong><code>quantize_mode</code></strong>: New in version 1.6.0. Controls
|
|
2988 |
the quantization algorithm (default 'BitGroom', 'BitRound' and
|
|
2989 |
'GranularBitRound' also available). The 'GranularBitRound'
|
|
2990 |
algorithm may result in better compression for typical geophysical datasets.
|
|
2991 |
Ignored if <code>significant_digts</code> not specified. If 'BitRound' is used, then
|
|
2992 |
<code>significant_digits</code> is interpreted as binary (not decimal) digits.</p>
|
|
2993 |
|
2860 | 2994 |
<p><strong><code>fill_value</code></strong>: If specified, the default netCDF <code>_FillValue</code> (the
|
2861 | 2995 |
value that the variable gets filled with before any data is written to it)
|
2862 | 2996 |
is replaced with this value. If fill_value is set to <code>False</code>, then
|
2863 | 2997 |
the variable is not pre-filled. The default netCDF fill values can be found
|
2864 | |
in the dictionary <code><a href="#default_fillvals">netCDF4.default_fillvals</a></code>.</p>
|
|
2998 |
in the dictionary <code>netCDF4.default_fillvals</code>.</p>
|
2865 | 2999 |
|
2866 | 3000 |
<p><strong><code>chunk_cache</code></strong>: If specified, sets the chunk cache size for this variable.
|
2867 | |
Persists as long as Dataset is open. Use <code><a href="#Variable.set_var_chunk_cache">set_var_chunk_cache</a></code> to
|
2868 | |
change it when Dataset is re-opened. </p>
|
|
3001 |
Persists as long as Dataset is open. Use <code><a href="#Variable.set_var_chunk_cache">set_var_chunk_cache</a></code> to
|
|
3002 |
change it when Dataset is re-opened.</p>
|
2869 | 3003 |
|
2870 | 3004 |
<p><strong><em>Note</em></strong>: <code><a href="#Variable">Variable</a></code> instances should be created using the
|
2871 | 3005 |
<code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> method of a <code><a href="#Dataset">Dataset</a></code> or
|
|
2882 | 3016 |
<span class="name">group</span><span class="signature">(unknown)</span>:
|
2883 | 3017 |
</div>
|
2884 | 3018 |
|
2885 | |
|
|
3019 |
|
2886 | 3020 |
<div class="docstring"><p><strong><code>group(self)</code></strong></p>
|
2887 | 3021 |
|
2888 | 3022 |
<p>return the group that this <code><a href="#Variable">Variable</a></code> is a member of.</p>
|
|
2898 | 3032 |
<span class="name">ncattrs</span><span class="signature">(unknown)</span>:
|
2899 | 3033 |
</div>
|
2900 | 3034 |
|
2901 | |
|
|
3035 |
|
2902 | 3036 |
<div class="docstring"><p><strong><code>ncattrs(self)</code></strong></p>
|
2903 | 3037 |
|
2904 | 3038 |
<p>return netCDF attribute names for this <code><a href="#Variable">Variable</a></code> in a list.</p>
|
|
2914 | 3048 |
<span class="name">setncattr</span><span class="signature">(unknown)</span>:
|
2915 | 3049 |
</div>
|
2916 | 3050 |
|
2917 | |
|
|
3051 |
|
2918 | 3052 |
<div class="docstring"><p><strong><code>setncattr(self,name,value)</code></strong></p>
|
2919 | 3053 |
|
2920 | 3054 |
<p>set a netCDF variable attribute using name,value pair. Use if you need to set a
|
|
2932 | 3066 |
<span class="name">setncattr_string</span><span class="signature">(unknown)</span>:
|
2933 | 3067 |
</div>
|
2934 | 3068 |
|
2935 | |
|
|
3069 |
|
2936 | 3070 |
<div class="docstring"><p><strong><code>setncattr_string(self,name,value)</code></strong></p>
|
2937 | 3071 |
|
2938 | 3072 |
<p>set a netCDF variable string attribute using name,value pair.
|
|
2951 | 3085 |
<span class="name">setncatts</span><span class="signature">(unknown)</span>:
|
2952 | 3086 |
</div>
|
2953 | 3087 |
|
2954 | |
|
|
3088 |
|
2955 | 3089 |
<div class="docstring"><p><strong><code>setncatts(self,attdict)</code></strong></p>
|
2956 | 3090 |
|
2957 | 3091 |
<p>set a bunch of netCDF variable attributes at once using a python dictionary.
|
|
2970 | 3104 |
<span class="name">getncattr</span><span class="signature">(unknown)</span>:
|
2971 | 3105 |
</div>
|
2972 | 3106 |
|
2973 | |
|
|
3107 |
|
2974 | 3108 |
<div class="docstring"><p><strong><code>getncattr(self,name)</code></strong></p>
|
2975 | 3109 |
|
2976 | 3110 |
<p>retrieve a netCDF variable attribute. Use if you need to set a
|
|
2991 | 3125 |
<span class="name">delncattr</span><span class="signature">(unknown)</span>:
|
2992 | 3126 |
</div>
|
2993 | 3127 |
|
2994 | |
|
|
3128 |
|
2995 | 3129 |
<div class="docstring"><p><strong><code>delncattr(self,name,value)</code></strong></p>
|
2996 | 3130 |
|
2997 | 3131 |
<p>delete a netCDF variable attribute. Use if you need to delete a
|
|
3009 | 3143 |
<span class="name">filters</span><span class="signature">(unknown)</span>:
|
3010 | 3144 |
</div>
|
3011 | 3145 |
|
3012 | |
|
|
3146 |
|
3013 | 3147 |
<div class="docstring"><p><strong><code>filters(self)</code></strong></p>
|
3014 | 3148 |
|
3015 | 3149 |
<p>return dictionary containing HDF5 filter parameters.</p>
|
|
3150 |
</div>
|
|
3151 |
|
|
3152 |
|
|
3153 |
</div>
|
|
3154 |
<div id="Variable.quantization" class="classattr">
|
|
3155 |
<div class="attr function"><a class="headerlink" href="#Variable.quantization">#  </a>
|
|
3156 |
|
|
3157 |
|
|
3158 |
<span class="def">def</span>
|
|
3159 |
<span class="name">quantization</span><span class="signature">(unknown)</span>:
|
|
3160 |
</div>
|
|
3161 |
|
|
3162 |
|
|
3163 |
<div class="docstring"><p><strong><code>quantization(self)</code></strong></p>
|
|
3164 |
|
|
3165 |
<p>return number of significant digits and the algorithm used in quantization.
|
|
3166 |
Returns None if quantization not active.</p>
|
3016 | 3167 |
</div>
|
3017 | 3168 |
|
3018 | 3169 |
|
|
3025 | 3176 |
<span class="name">endian</span><span class="signature">(unknown)</span>:
|
3026 | 3177 |
</div>
|
3027 | 3178 |
|
3028 | |
|
|
3179 |
|
3029 | 3180 |
<div class="docstring"><p><strong><code>endian(self)</code></strong></p>
|
3030 | 3181 |
|
3031 | 3182 |
<p>return endian-ness (<code>little,big,native</code>) of variable (as stored in HDF5 file).</p>
|
|
3041 | 3192 |
<span class="name">chunking</span><span class="signature">(unknown)</span>:
|
3042 | 3193 |
</div>
|
3043 | 3194 |
|
3044 | |
|
|
3195 |
|
3045 | 3196 |
<div class="docstring"><p><strong><code>chunking(self)</code></strong></p>
|
3046 | 3197 |
|
3047 | 3198 |
<p>return variable chunking information. If the dataset is
|
|
3060 | 3211 |
<span class="name">get_var_chunk_cache</span><span class="signature">(unknown)</span>:
|
3061 | 3212 |
</div>
|
3062 | 3213 |
|
3063 | |
|
|
3214 |
|
3064 | 3215 |
<div class="docstring"><p><strong><code>get_var_chunk_cache(self)</code></strong></p>
|
3065 | 3216 |
|
3066 | 3217 |
<p>return variable chunk cache information in a tuple (size,nelems,preemption).
|
|
3078 | 3229 |
<span class="name">set_var_chunk_cache</span><span class="signature">(unknown)</span>:
|
3079 | 3230 |
</div>
|
3080 | 3231 |
|
3081 | |
|
|
3232 |
|
3082 | 3233 |
<div class="docstring"><p><strong><code>set_var_chunk_cache(self,size=None,nelems=None,preemption=None)</code></strong></p>
|
3083 | 3234 |
|
3084 | 3235 |
<p>change variable chunk cache settings.
|
|
3096 | 3247 |
<span class="name">renameAttribute</span><span class="signature">(unknown)</span>:
|
3097 | 3248 |
</div>
|
3098 | 3249 |
|
3099 | |
|
|
3250 |
|
3100 | 3251 |
<div class="docstring"><p><strong><code>renameAttribute(self, oldname, newname)</code></strong></p>
|
3101 | 3252 |
|
3102 | 3253 |
<p>rename a <code><a href="#Variable">Variable</a></code> attribute named <code>oldname</code> to <code>newname</code>.</p>
|
|
3112 | 3263 |
<span class="name">assignValue</span><span class="signature">(unknown)</span>:
|
3113 | 3264 |
</div>
|
3114 | 3265 |
|
3115 | |
|
|
3266 |
|
3116 | 3267 |
<div class="docstring"><p><strong><code>assignValue(self, val)</code></strong></p>
|
3117 | 3268 |
|
3118 | 3269 |
<p>assign a value to a scalar variable. Provided for compatibility with
|
|
3129 | 3280 |
<span class="name">getValue</span><span class="signature">(unknown)</span>:
|
3130 | 3281 |
</div>
|
3131 | 3282 |
|
3132 | |
|
|
3283 |
|
3133 | 3284 |
<div class="docstring"><p><strong><code>getValue(self)</code></strong></p>
|
3134 | 3285 |
|
3135 | 3286 |
<p>get the value of a scalar variable. Provided for compatibility with
|
|
3146 | 3297 |
<span class="name">set_auto_chartostring</span><span class="signature">(unknown)</span>:
|
3147 | 3298 |
</div>
|
3148 | 3299 |
|
3149 | |
|
|
3300 |
|
3150 | 3301 |
<div class="docstring"><p><strong><code>set_auto_chartostring(self,chartostring)</code></strong></p>
|
3151 | 3302 |
|
3152 | 3303 |
<p>turn on or off automatic conversion of character variable data to and
|
|
3177 | 3328 |
<span class="name">use_nc_get_vars</span><span class="signature">(unknown)</span>:
|
3178 | 3329 |
</div>
|
3179 | 3330 |
|
3180 | |
|
|
3331 |
|
3181 | 3332 |
<div class="docstring"><p><strong><code>use_nc_get_vars(self,_use_get_vars)</code></strong></p>
|
3182 | 3333 |
|
3183 | 3334 |
<p>enable the use of netcdf library routine <code>nc_get_vars</code>
|
|
3197 | 3348 |
<span class="name">set_auto_maskandscale</span><span class="signature">(unknown)</span>:
|
3198 | 3349 |
</div>
|
3199 | 3350 |
|
3200 | |
|
|
3351 |
|
3201 | 3352 |
<div class="docstring"><p><strong><code>set_auto_maskandscale(self,maskandscale)</code></strong></p>
|
3202 | 3353 |
|
3203 | 3354 |
<p>turn on or off automatic conversion of variable data to and
|
|
3261 | 3412 |
<span class="name">set_auto_scale</span><span class="signature">(unknown)</span>:
|
3262 | 3413 |
</div>
|
3263 | 3414 |
|
3264 | |
|
|
3415 |
|
3265 | 3416 |
<div class="docstring"><p><strong><code>set_auto_scale(self,scale)</code></strong></p>
|
3266 | 3417 |
|
3267 | 3418 |
<p>turn on or off automatic packing/unpacking of variable
|
|
3310 | 3461 |
<span class="name">set_auto_mask</span><span class="signature">(unknown)</span>:
|
3311 | 3462 |
</div>
|
3312 | 3463 |
|
3313 | |
|
|
3464 |
|
3314 | 3465 |
<div class="docstring"><p><strong><code>set_auto_mask(self,mask)</code></strong></p>
|
3315 | 3466 |
|
3316 | 3467 |
<p>turn on or off automatic conversion of variable data to and
|
|
3345 | 3496 |
<span class="name">set_always_mask</span><span class="signature">(unknown)</span>:
|
3346 | 3497 |
</div>
|
3347 | 3498 |
|
3348 | |
|
|
3499 |
|
3349 | 3500 |
<div class="docstring"><p><strong><code>set_always_mask(self,always_mask)</code></strong></p>
|
3350 | 3501 |
|
3351 | 3502 |
<p>turn on or off conversion of data without missing values to regular
|
|
3368 | 3519 |
<span class="name">set_ncstring_attrs</span><span class="signature">(unknown)</span>:
|
3369 | 3520 |
</div>
|
3370 | 3521 |
|
3371 | |
|
|
3522 |
|
3372 | 3523 |
<div class="docstring"><p><strong><code>set_always_mask(self,ncstring_attrs)</code></strong></p>
|
3373 | 3524 |
|
3374 | 3525 |
<p>turn on or off creating NC_STRING string attributes.</p>
|
|
3390 | 3541 |
<span class="name">set_collective</span><span class="signature">(unknown)</span>:
|
3391 | 3542 |
</div>
|
3392 | 3543 |
|
3393 | |
|
|
3544 |
|
3394 | 3545 |
<div class="docstring"><p><strong><code>set_collective(self,True_or_False)</code></strong></p>
|
3395 | 3546 |
|
3396 | 3547 |
<p>turn on or off collective parallel IO access. Ignored if file is not
|
|
3407 | 3558 |
<span class="name">get_dims</span><span class="signature">(unknown)</span>:
|
3408 | 3559 |
</div>
|
3409 | 3560 |
|
3410 | |
|
|
3561 |
|
3411 | 3562 |
<div class="docstring"><p><strong><code>get_dims(self)</code></strong></p>
|
3412 | 3563 |
|
3413 | 3564 |
<p>return a tuple of <code><a href="#Dimension">Dimension</a></code> instances associated with this
|
|
3419 | 3570 |
<div id="Variable.name" class="classattr">
|
3420 | 3571 |
<div class="attr variable"><a class="headerlink" href="#Variable.name">#  </a>
|
3421 | 3572 |
|
3422 | |
<span class="name">name</span><span class="default_value"> = <attribute 'name' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3423 | |
</div>
|
3424 | |
|
|
3573 |
<span class="name">name</span>
|
|
3574 |
</div>
|
|
3575 |
|
|
3576 |
|
3425 | 3577 |
<div class="docstring"><p>string name of Variable instance</p>
|
3426 | 3578 |
</div>
|
3427 | 3579 |
|
|
3430 | 3582 |
<div id="Variable.datatype" class="classattr">
|
3431 | 3583 |
<div class="attr variable"><a class="headerlink" href="#Variable.datatype">#  </a>
|
3432 | 3584 |
|
3433 | |
<span class="name">datatype</span><span class="default_value"> = <attribute 'datatype' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3434 | |
</div>
|
3435 | |
|
|
3585 |
<span class="name">datatype</span>
|
|
3586 |
</div>
|
|
3587 |
|
|
3588 |
|
3436 | 3589 |
<div class="docstring"><p>numpy data type (for primitive data types) or
|
3437 | 3590 |
VLType/CompoundType/EnumType instance
|
3438 | 3591 |
(for compound, vlen or enum data types)</p>
|
|
3443 | 3596 |
<div id="Variable.shape" class="classattr">
|
3444 | 3597 |
<div class="attr variable"><a class="headerlink" href="#Variable.shape">#  </a>
|
3445 | 3598 |
|
3446 | |
<span class="name">shape</span><span class="default_value"> = <attribute 'shape' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3447 | |
</div>
|
3448 | |
|
|
3599 |
<span class="name">shape</span>
|
|
3600 |
</div>
|
|
3601 |
|
|
3602 |
|
3449 | 3603 |
<div class="docstring"><p>find current sizes of all variable dimensions</p>
|
3450 | 3604 |
</div>
|
3451 | 3605 |
|
|
3454 | 3608 |
<div id="Variable.size" class="classattr">
|
3455 | 3609 |
<div class="attr variable"><a class="headerlink" href="#Variable.size">#  </a>
|
3456 | 3610 |
|
3457 | |
<span class="name">size</span><span class="default_value"> = <attribute 'size' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3458 | |
</div>
|
3459 | |
|
|
3611 |
<span class="name">size</span>
|
|
3612 |
</div>
|
|
3613 |
|
|
3614 |
|
3460 | 3615 |
<div class="docstring"><p>Return the number of stored elements.</p>
|
3461 | 3616 |
</div>
|
3462 | 3617 |
|
|
3465 | 3620 |
<div id="Variable.dimensions" class="classattr">
|
3466 | 3621 |
<div class="attr variable"><a class="headerlink" href="#Variable.dimensions">#  </a>
|
3467 | 3622 |
|
3468 | |
<span class="name">dimensions</span><span class="default_value"> = <attribute 'dimensions' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3469 | |
</div>
|
3470 | |
|
|
3623 |
<span class="name">dimensions</span>
|
|
3624 |
</div>
|
|
3625 |
|
|
3626 |
|
3471 | 3627 |
<div class="docstring"><p>get variables's dimension names</p>
|
3472 | 3628 |
</div>
|
3473 | 3629 |
|
|
3476 | 3632 |
<div id="Variable.ndim" class="classattr">
|
3477 | 3633 |
<div class="attr variable"><a class="headerlink" href="#Variable.ndim">#  </a>
|
3478 | 3634 |
|
3479 | |
<span class="name">ndim</span><span class="default_value"> = <attribute 'ndim' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3480 | |
</div>
|
3481 | |
|
|
3635 |
<span class="name">ndim</span>
|
|
3636 |
</div>
|
|
3637 |
|
|
3638 |
|
3482 | 3639 |
|
3483 | 3640 |
|
3484 | 3641 |
</div>
|
3485 | 3642 |
<div id="Variable.dtype" class="classattr">
|
3486 | 3643 |
<div class="attr variable"><a class="headerlink" href="#Variable.dtype">#  </a>
|
3487 | 3644 |
|
3488 | |
<span class="name">dtype</span><span class="default_value"> = <attribute 'dtype' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3489 | |
</div>
|
3490 | |
|
|
3645 |
<span class="name">dtype</span>
|
|
3646 |
</div>
|
|
3647 |
|
|
3648 |
|
3491 | 3649 |
|
3492 | 3650 |
|
3493 | 3651 |
</div>
|
3494 | 3652 |
<div id="Variable.mask" class="classattr">
|
3495 | 3653 |
<div class="attr variable"><a class="headerlink" href="#Variable.mask">#  </a>
|
3496 | 3654 |
|
3497 | |
<span class="name">mask</span><span class="default_value"> = <attribute 'mask' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3498 | |
</div>
|
3499 | |
|
|
3655 |
<span class="name">mask</span>
|
|
3656 |
</div>
|
|
3657 |
|
|
3658 |
|
3500 | 3659 |
|
3501 | 3660 |
|
3502 | 3661 |
</div>
|
3503 | 3662 |
<div id="Variable.scale" class="classattr">
|
3504 | 3663 |
<div class="attr variable"><a class="headerlink" href="#Variable.scale">#  </a>
|
3505 | 3664 |
|
3506 | |
<span class="name">scale</span><span class="default_value"> = <attribute 'scale' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3507 | |
</div>
|
3508 | |
|
|
3665 |
<span class="name">scale</span>
|
|
3666 |
</div>
|
|
3667 |
|
|
3668 |
|
3509 | 3669 |
|
3510 | 3670 |
|
3511 | 3671 |
</div>
|
3512 | 3672 |
<div id="Variable.always_mask" class="classattr">
|
3513 | 3673 |
<div class="attr variable"><a class="headerlink" href="#Variable.always_mask">#  </a>
|
3514 | 3674 |
|
3515 | |
<span class="name">always_mask</span><span class="default_value"> = <attribute 'always_mask' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3516 | |
</div>
|
3517 | |
|
|
3675 |
<span class="name">always_mask</span>
|
|
3676 |
</div>
|
|
3677 |
|
|
3678 |
|
3518 | 3679 |
|
3519 | 3680 |
|
3520 | 3681 |
</div>
|
3521 | 3682 |
<div id="Variable.chartostring" class="classattr">
|
3522 | 3683 |
<div class="attr variable"><a class="headerlink" href="#Variable.chartostring">#  </a>
|
3523 | 3684 |
|
3524 | |
<span class="name">chartostring</span><span class="default_value"> = <attribute 'chartostring' of '<a href="#_netCDF4.Variable">netCDF4._netCDF4.Variable</a>' objects></span>
|
3525 | |
</div>
|
3526 | |
|
|
3685 |
<span class="name">chartostring</span>
|
|
3686 |
</div>
|
|
3687 |
|
|
3688 |
|
3527 | 3689 |
|
3528 | 3690 |
|
3529 | 3691 |
</div>
|
|
3537 | 3699 |
<span class="name">Dimension</span>:
|
3538 | 3700 |
</div>
|
3539 | 3701 |
|
3540 | |
|
|
3702 |
|
3541 | 3703 |
<div class="docstring"><p>A netCDF <code><a href="#Dimension">Dimension</a></code> is used to describe the coordinates of a <code><a href="#Variable">Variable</a></code>.
|
3542 | 3704 |
See <code><a href="#Dimension.__init__">Dimension.__init__</a></code> for more details.</p>
|
3543 | 3705 |
|
|
3563 | 3725 |
<span class="name">Dimension</span><span class="signature">()</span>
|
3564 | 3726 |
</div>
|
3565 | 3727 |
|
3566 | |
|
|
3728 |
|
3567 | 3729 |
<div class="docstring"><p><strong><code>__init__(self, group, name, size=None)</code></strong></p>
|
3568 | 3730 |
|
3569 | 3731 |
<p><code><a href="#Dimension">Dimension</a></code> constructor.</p>
|
|
3589 | 3751 |
<span class="name">group</span><span class="signature">(unknown)</span>:
|
3590 | 3752 |
</div>
|
3591 | 3753 |
|
3592 | |
|
|
3754 |
|
3593 | 3755 |
<div class="docstring"><p><strong><code>group(self)</code></strong></p>
|
3594 | 3756 |
|
3595 | 3757 |
<p>return the group that this <code><a href="#Dimension">Dimension</a></code> is a member of.</p>
|
|
3605 | 3767 |
<span class="name">isunlimited</span><span class="signature">(unknown)</span>:
|
3606 | 3768 |
</div>
|
3607 | 3769 |
|
3608 | |
|
|
3770 |
|
3609 | 3771 |
<div class="docstring"><p><strong><code>isunlimited(self)</code></strong></p>
|
3610 | 3772 |
|
3611 | 3773 |
<p>returns <code>True</code> if the <code><a href="#Dimension">Dimension</a></code> instance is unlimited, <code>False</code> otherwise.</p>
|
|
3616 | 3778 |
<div id="Dimension.name" class="classattr">
|
3617 | 3779 |
<div class="attr variable"><a class="headerlink" href="#Dimension.name">#  </a>
|
3618 | 3780 |
|
3619 | |
<span class="name">name</span><span class="default_value"> = <attribute 'name' of '<a href="#_netCDF4.Dimension">netCDF4._netCDF4.Dimension</a>' objects></span>
|
3620 | |
</div>
|
3621 | |
|
|
3781 |
<span class="name">name</span>
|
|
3782 |
</div>
|
|
3783 |
|
|
3784 |
|
3622 | 3785 |
<div class="docstring"><p>string name of Dimension instance</p>
|
3623 | 3786 |
</div>
|
3624 | 3787 |
|
|
3627 | 3790 |
<div id="Dimension.size" class="classattr">
|
3628 | 3791 |
<div class="attr variable"><a class="headerlink" href="#Dimension.size">#  </a>
|
3629 | 3792 |
|
3630 | |
<span class="name">size</span><span class="default_value"> = <attribute 'size' of '<a href="#_netCDF4.Dimension">netCDF4._netCDF4.Dimension</a>' objects></span>
|
3631 | |
</div>
|
3632 | |
|
|
3793 |
<span class="name">size</span>
|
|
3794 |
</div>
|
|
3795 |
|
|
3796 |
|
3633 | 3797 |
<div class="docstring"><p>current size of Dimension (calls <code>len</code> on Dimension instance)</p>
|
3634 | 3798 |
</div>
|
3635 | 3799 |
|
|
3645 | 3809 |
<span class="name">Group</span><wbr>(<span class="base"><a href="#Dataset">netCDF4.Dataset</a></span>):
|
3646 | 3810 |
</div>
|
3647 | 3811 |
|
3648 | |
|
|
3812 |
|
3649 | 3813 |
<div class="docstring"><p>Groups define a hierarchical namespace within a netCDF file. They are
|
3650 | 3814 |
analogous to directories in a unix filesystem. Each <code><a href="#Group">Group</a></code> behaves like
|
3651 | 3815 |
a <code><a href="#Dataset">Dataset</a></code> within a Dataset, and can contain it's own variables,
|
|
3669 | 3833 |
<span class="name">Group</span><span class="signature">()</span>
|
3670 | 3834 |
</div>
|
3671 | 3835 |
|
3672 | |
|
|
3836 |
|
3673 | 3837 |
<div class="docstring"><p><strong><code>__init__(self, parent, name)</code></strong>
|
3674 | 3838 |
<code><a href="#Group">Group</a></code> constructor.</p>
|
3675 | 3839 |
|
|
3693 | 3857 |
<span class="name">close</span><span class="signature">(unknown)</span>:
|
3694 | 3858 |
</div>
|
3695 | 3859 |
|
3696 | |
|
|
3860 |
|
3697 | 3861 |
<div class="docstring"><p><strong><code>close(self)</code></strong></p>
|
3698 | 3862 |
|
3699 | 3863 |
<p>overrides <code><a href="#Dataset">Dataset</a></code> close method which does not apply to <code><a href="#Group">Group</a></code>
|
|
3763 | 3927 |
<span class="name">MFDataset</span><wbr>(<span class="base"><a href="#Dataset">netCDF4.Dataset</a></span>):
|
3764 | 3928 |
</div>
|
3765 | 3929 |
|
3766 | |
|
|
3930 |
|
3767 | 3931 |
<div class="docstring"><p>Class for reading multi-file netCDF Datasets, making variables
|
3768 | 3932 |
spanning multiple files appear as if they were in one file.
|
3769 | 3933 |
Datasets must be in <code>NETCDF4_CLASSIC, NETCDF3_CLASSIC, NETCDF3_64BIT_OFFSET
|
|
3773 | 3937 |
|
3774 | 3938 |
<p>Example usage (See <code><a href="#MFDataset.__init__">MFDataset.__init__</a></code> for more details):</p>
|
3775 | 3939 |
|
3776 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
|
3940 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
3777 | 3941 |
<span class="o">>>></span> <span class="c1"># create a series of netCDF files with a variable sharing</span>
|
3778 | 3942 |
<span class="o">>>></span> <span class="c1"># the same unlimited dimension.</span>
|
3779 | 3943 |
<span class="o">>>></span> <span class="k">for</span> <span class="n">nf</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">):</span>
|
|
3800 | 3964 |
<span class="name">MFDataset</span><span class="signature">(files, check=False, aggdim=None, exclude=[], master_file=None)</span>
|
3801 | 3965 |
</div>
|
3802 | 3966 |
|
3803 | |
|
|
3967 |
|
3804 | 3968 |
<div class="docstring"><p><strong><code>__init__(self, files, check=False, aggdim=None, exclude=[],
|
3805 | 3969 |
master_file=None)</code></strong></p>
|
3806 | 3970 |
|
|
3845 | 4009 |
<span class="name">ncattrs</span><span class="signature">(self)</span>:
|
3846 | 4010 |
</div>
|
3847 | 4011 |
|
3848 | |
|
|
4012 |
|
3849 | 4013 |
<div class="docstring"><p><strong><code>ncattrs(self)</code></strong></p>
|
3850 | 4014 |
|
3851 | 4015 |
<p>return the netcdf attribute names from the master file.</p>
|
|
3861 | 4025 |
<span class="name">close</span><span class="signature">(self)</span>:
|
3862 | 4026 |
</div>
|
3863 | 4027 |
|
3864 | |
|
|
4028 |
|
3865 | 4029 |
<div class="docstring"><p><strong><code>close(self)</code></strong></p>
|
3866 | 4030 |
|
3867 | 4031 |
<p>close all the open files.</p>
|
|
3929 | 4093 |
<span class="name">MFTime</span><wbr>(<span class="base">netCDF4._netCDF4._Variable</span>):
|
3930 | 4094 |
</div>
|
3931 | 4095 |
|
3932 | |
|
|
4096 |
|
3933 | 4097 |
<div class="docstring"><p>Class providing an interface to a MFDataset time Variable by imposing a unique common
|
3934 | 4098 |
time unit and/or calendar to all files.</p>
|
3935 | 4099 |
|
3936 | 4100 |
<p>Example usage (See <code><a href="#MFTime.__init__">MFTime.__init__</a></code> for more details):</p>
|
3937 | 4101 |
|
3938 | |
<div class="codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
|
4102 |
<div class="pdoc-code codehilite"><pre><span></span><code><span class="o">>>></span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
3939 | 4103 |
<span class="o">>>></span> <span class="n">f1</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"mftest_1.nc"</span><span class="p">,</span><span class="s2">"w"</span><span class="p">,</span> <span class="nb">format</span><span class="o">=</span><span class="s2">"NETCDF4_CLASSIC"</span><span class="p">)</span>
|
3940 | 4104 |
<span class="o">>>></span> <span class="n">f2</span> <span class="o">=</span> <span class="n">Dataset</span><span class="p">(</span><span class="s2">"mftest_2.nc"</span><span class="p">,</span><span class="s2">"w"</span><span class="p">,</span> <span class="nb">format</span><span class="o">=</span><span class="s2">"NETCDF4_CLASSIC"</span><span class="p">)</span>
|
3941 | 4105 |
<span class="o">>>></span> <span class="n">f1</span><span class="o">.</span><span class="n">createDimension</span><span class="p">(</span><span class="s2">"time"</span><span class="p">,</span><span class="kc">None</span><span class="p">)</span>
|
|
3971 | 4135 |
<span class="name">MFTime</span><span class="signature">(time, units=None, calendar=None)</span>
|
3972 | 4136 |
</div>
|
3973 | 4137 |
|
3974 | |
|
|
4138 |
|
3975 | 4139 |
<div class="docstring"><p><strong><code>__init__(self, time, units=None, calendar=None)</code></strong></p>
|
3976 | 4140 |
|
3977 | 4141 |
<p>Create a time Variable with units consistent across a multifile
|
|
4015 | 4179 |
<span class="name">CompoundType</span>:
|
4016 | 4180 |
</div>
|
4017 | 4181 |
|
4018 | |
|
|
4182 |
|
4019 | 4183 |
<div class="docstring"><p>A <code><a href="#CompoundType">CompoundType</a></code> instance is used to describe a compound data
|
4020 | 4184 |
type, and can be passed to the the <code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> method of
|
4021 | 4185 |
a <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code> instance.
|
|
4034 | 4198 |
<span class="name">CompoundType</span><span class="signature">()</span>
|
4035 | 4199 |
</div>
|
4036 | 4200 |
|
4037 | |
|
|
4201 |
|
4038 | 4202 |
<div class="docstring"><p><strong><em><code>__init__(group, datatype, datatype_name)</code></em></strong></p>
|
4039 | 4203 |
|
4040 | 4204 |
<p>CompoundType constructor.</p>
|
|
4063 | 4227 |
<div id="CompoundType.dtype" class="classattr">
|
4064 | 4228 |
<div class="attr variable"><a class="headerlink" href="#CompoundType.dtype">#  </a>
|
4065 | 4229 |
|
4066 | |
<span class="name">dtype</span><span class="default_value"> = <attribute 'dtype' of '<a href="#_netCDF4.CompoundType">netCDF4._netCDF4.CompoundType</a>' objects></span>
|
4067 | |
</div>
|
4068 | |
|
|
4230 |
<span class="name">dtype</span>
|
|
4231 |
</div>
|
|
4232 |
|
|
4233 |
|
4069 | 4234 |
|
4070 | 4235 |
|
4071 | 4236 |
</div>
|
4072 | 4237 |
<div id="CompoundType.dtype_view" class="classattr">
|
4073 | 4238 |
<div class="attr variable"><a class="headerlink" href="#CompoundType.dtype_view">#  </a>
|
4074 | 4239 |
|
4075 | |
<span class="name">dtype_view</span><span class="default_value"> = <attribute 'dtype_view' of '<a href="#_netCDF4.CompoundType">netCDF4._netCDF4.CompoundType</a>' objects></span>
|
4076 | |
</div>
|
4077 | |
|
|
4240 |
<span class="name">dtype_view</span>
|
|
4241 |
</div>
|
|
4242 |
|
|
4243 |
|
4078 | 4244 |
|
4079 | 4245 |
|
4080 | 4246 |
</div>
|
4081 | 4247 |
<div id="CompoundType.name" class="classattr">
|
4082 | 4248 |
<div class="attr variable"><a class="headerlink" href="#CompoundType.name">#  </a>
|
4083 | 4249 |
|
4084 | |
<span class="name">name</span><span class="default_value"> = <attribute 'name' of '<a href="#_netCDF4.CompoundType">netCDF4._netCDF4.CompoundType</a>' objects></span>
|
4085 | |
</div>
|
4086 | |
|
|
4250 |
<span class="name">name</span>
|
|
4251 |
</div>
|
|
4252 |
|
|
4253 |
|
4087 | 4254 |
|
4088 | 4255 |
|
4089 | 4256 |
</div>
|
|
4097 | 4264 |
<span class="name">VLType</span>:
|
4098 | 4265 |
</div>
|
4099 | 4266 |
|
4100 | |
|
|
4267 |
|
4101 | 4268 |
<div class="docstring"><p>A <code><a href="#VLType">VLType</a></code> instance is used to describe a variable length (VLEN) data
|
4102 | 4269 |
type, and can be passed to the the <code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> method of
|
4103 | 4270 |
a <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code> instance. See
|
|
4115 | 4282 |
<span class="name">VLType</span><span class="signature">()</span>
|
4116 | 4283 |
</div>
|
4117 | 4284 |
|
4118 | |
|
|
4285 |
|
4119 | 4286 |
<div class="docstring"><p><strong><code>__init__(group, datatype, datatype_name)</code></strong></p>
|
4120 | 4287 |
|
4121 | 4288 |
<p>VLType constructor.</p>
|
|
4138 | 4305 |
<div id="VLType.dtype" class="classattr">
|
4139 | 4306 |
<div class="attr variable"><a class="headerlink" href="#VLType.dtype">#  </a>
|
4140 | 4307 |
|
4141 | |
<span class="name">dtype</span><span class="default_value"> = <attribute 'dtype' of '<a href="#_netCDF4.VLType">netCDF4._netCDF4.VLType</a>' objects></span>
|
4142 | |
</div>
|
4143 | |
|
|
4308 |
<span class="name">dtype</span>
|
|
4309 |
</div>
|
|
4310 |
|
|
4311 |
|
4144 | 4312 |
|
4145 | 4313 |
|
4146 | 4314 |
</div>
|
4147 | 4315 |
<div id="VLType.name" class="classattr">
|
4148 | 4316 |
<div class="attr variable"><a class="headerlink" href="#VLType.name">#  </a>
|
4149 | 4317 |
|
4150 | |
<span class="name">name</span><span class="default_value"> = <attribute 'name' of '<a href="#_netCDF4.VLType">netCDF4._netCDF4.VLType</a>' objects></span>
|
4151 | |
</div>
|
4152 | |
|
|
4318 |
<span class="name">name</span>
|
|
4319 |
</div>
|
|
4320 |
|
|
4321 |
|
4153 | 4322 |
|
4154 | 4323 |
|
4155 | 4324 |
</div>
|
|
4162 | 4331 |
<span class="name">date2num</span><span class="signature">(unknown)</span>:
|
4163 | 4332 |
</div>
|
4164 | 4333 |
|
4165 | |
|
|
4334 |
|
4166 | 4335 |
<div class="docstring"><p>date2num(dates, units, calendar=None, has_year_zero=None)</p>
|
4167 | 4336 |
|
4168 | 4337 |
<p>Return numeric time values given datetime objects. The units
|
|
4180 | 4349 |
<p><strong>units</strong>: a string of the form <strong><time units> since <reference time></strong>
|
4181 | 4350 |
describing the time units. <strong><time units></strong> can be days, hours, minutes,
|
4182 | 4351 |
seconds, milliseconds or microseconds. <strong><reference time></strong> is the time
|
4183 | |
origin. <strong>months_since</strong> is allowed <em>only</em> for the <strong>360_day</strong> calendar.</p>
|
|
4352 |
origin. <strong>months since</strong> is allowed <em>only</em> for the <strong>360_day</strong> calendar
|
|
4353 |
and <strong>common_years since</strong> is allowed <em>only</em> for the <strong>365_day</strong> calendar.</p>
|
4184 | 4354 |
|
4185 | 4355 |
<p><strong>calendar</strong>: describes the calendar to be used in the time calculations.
|
4186 | 4356 |
All the values currently defined in the
|
4187 | |
<code>CF metadata convention <http://cfconventions.org></code>__ are supported.
|
|
4357 |
<code>CF metadata convention <http://cfconventions.org/cf-conventions/cf-conventions#calendar></code>__ are supported.
|
4188 | 4358 |
Valid calendars <strong>'standard', 'gregorian', 'proleptic_gregorian'
|
4189 | 4359 |
'noleap', '365_day', '360_day', 'julian', 'all_leap', '366_day'</strong>.
|
4190 | 4360 |
Default is <code>None</code> which means the calendar associated with the first
|
|
4194 | 4364 |
is used and the year zero exists. If set to False for real-world
|
4195 | 4365 |
calendars, then historical year numbering is used and the year 1 is
|
4196 | 4366 |
preceded by year -1 and no year zero exists.
|
4197 | |
The defaults are False for real-world calendars
|
4198 | |
and True for idealized calendars.
|
|
4367 |
The defaults are set to conform with
|
|
4368 |
CF version 1.9 conventions (False for 'julian', 'gregorian'/'standard', True
|
|
4369 |
for 'proleptic_gregorian' (ISO 8601) and True for the idealized
|
|
4370 |
calendars 'noleap'/'365_day', '360_day', 366_day'/'all_leap')
|
|
4371 |
Note that CF v1.9 does not specifically mention whether year zero
|
|
4372 |
is allowed in the proleptic_gregorian calendar, but ISO-8601 has
|
|
4373 |
a year zero so we have adopted this as the default.
|
4199 | 4374 |
The defaults can only be over-ridden for the real-world calendars,
|
4200 | 4375 |
for the the idealized calendars the year zero
|
4201 | 4376 |
always exists and the has_year_zero kwarg is ignored.
|
|
4216 | 4391 |
<span class="name">num2date</span><span class="signature">(unknown)</span>:
|
4217 | 4392 |
</div>
|
4218 | 4393 |
|
4219 | |
|
|
4394 |
|
4220 | 4395 |
<div class="docstring"><p>num2date(times, units, calendar=u'standard', only_use_cftime_datetimes=True, only_use_python_datetimes=False, has_year_zero=None)</p>
|
4221 | 4396 |
|
4222 | 4397 |
<p>Return datetime objects given numeric time values. The units
|
|
4230 | 4405 |
<p><strong>units</strong>: a string of the form <strong><time units> since <reference time></strong>
|
4231 | 4406 |
describing the time units. <strong><time units></strong> can be days, hours, minutes,
|
4232 | 4407 |
seconds, milliseconds or microseconds. <strong><reference time></strong> is the time
|
4233 | |
origin. <strong>months_since</strong> is allowed <em>only</em> for the <strong>360_day</strong> calendar.</p>
|
|
4408 |
origin. <strong>months since</strong> is allowed <em>only</em> for the <strong>360_day</strong> calendar
|
|
4409 |
and <strong>common_years since</strong> is allowed <em>only</em> for the <strong>365_day</strong> calendar.</p>
|
4234 | 4410 |
|
4235 | 4411 |
<p><strong>calendar</strong>: describes the calendar used in the time calculations.
|
4236 | 4412 |
All the values currently defined in the
|
4237 | |
<code>CF metadata convention <http://cfconventions.org></code>__ are supported.
|
|
4413 |
<code>CF metadata convention <http://cfconventions.org/cf-conventions/cf-conventions#calendar></code>__ are supported.
|
4238 | 4414 |
Valid calendars <strong>'standard', 'gregorian', 'proleptic_gregorian'
|
4239 | 4415 |
'noleap', '365_day', '360_day', 'julian', 'all_leap', '366_day'</strong>.
|
4240 | 4416 |
Default is <strong>'standard'</strong>, which is a mixed Julian/Gregorian calendar.</p>
|
|
4251 | 4427 |
is used and the year zero exists. If set to False for real-world
|
4252 | 4428 |
calendars, then historical year numbering is used and the year 1 is
|
4253 | 4429 |
preceded by year -1 and no year zero exists.
|
4254 | |
The defaults are False for real-world calendars
|
4255 | |
and True for idealized calendars.
|
|
4430 |
The defaults are set to conform with
|
|
4431 |
CF version 1.9 conventions (False for 'julian', 'gregorian'/'standard', True
|
|
4432 |
for 'proleptic_gregorian' (ISO 8601) and True for the idealized
|
|
4433 |
calendars 'noleap'/'365_day', '360_day', 366_day'/'all_leap')
|
4256 | 4434 |
The defaults can only be over-ridden for the real-world calendars,
|
4257 | 4435 |
for the the idealized calendars the year zero
|
4258 | 4436 |
always exists and the has_year_zero kwarg is ignored.
|
|
4285 | 4463 |
<span class="name">date2index</span><span class="signature">(unknown)</span>:
|
4286 | 4464 |
</div>
|
4287 | 4465 |
|
4288 | |
|
|
4466 |
|
4289 | 4467 |
<div class="docstring"><p>date2index(dates, nctime, calendar=None, select=u'exact', has_year_zero=None)</p>
|
4290 | 4468 |
|
4291 | 4469 |
<p>Return indices of a netCDF time variable corresponding to the given dates.</p>
|
|
4298 | 4476 |
|
4299 | 4477 |
<p><strong>calendar</strong>: describes the calendar to be used in the time calculations.
|
4300 | 4478 |
All the values currently defined in the
|
4301 | |
<code>CF metadata convention <http://cfconventions.org></code>__ are supported.
|
|
4479 |
<code>CF metadata convention <http://cfconventions.org/cf-conventions/cf-conventions#calendar></code>__ are supported.
|
4302 | 4480 |
Valid calendars <strong>'standard', 'gregorian', 'proleptic_gregorian'
|
4303 | 4481 |
'noleap', '365_day', '360_day', 'julian', 'all_leap', '366_day'</strong>.
|
4304 | 4482 |
Default is <code>None</code> which means the calendar associated with the first
|
|
4315 | 4493 |
is used and the year zero exists. If set to False for real-world
|
4316 | 4494 |
calendars, then historical year numbering is used and the year 1 is
|
4317 | 4495 |
preceded by year -1 and no year zero exists.
|
4318 | |
The defaults are False for real-world calendars
|
4319 | |
and True for idealized calendars.
|
|
4496 |
The defaults are set to conform with
|
|
4497 |
CF version 1.9 conventions (False for 'julian', 'gregorian'/'standard', True
|
|
4498 |
for 'proleptic_gregorian' (ISO 8601) and True for the idealized
|
|
4499 |
calendars 'noleap'/'365_day', '360_day', 366_day'/'all_leap')
|
4320 | 4500 |
The defaults can only be over-ridden for the real-world calendars,
|
4321 | 4501 |
for the the idealized calendars the year zero
|
4322 | 4502 |
always exists and the has_year_zero kwarg is ignored.
|
|
4337 | 4517 |
<span class="name">stringtochar</span><span class="signature">(unknown)</span>:
|
4338 | 4518 |
</div>
|
4339 | 4519 |
|
4340 | |
|
|
4520 |
|
4341 | 4521 |
<div class="docstring"><p><strong><code>stringtochar(a,encoding='utf-8')</code></strong></p>
|
4342 | 4522 |
|
4343 | 4523 |
<p>convert a string array to a character array with one extra dimension</p>
|
|
4364 | 4544 |
<span class="name">chartostring</span><span class="signature">(unknown)</span>:
|
4365 | 4545 |
</div>
|
4366 | 4546 |
|
4367 | |
|
|
4547 |
|
4368 | 4548 |
<div class="docstring"><p><strong><code>chartostring(b,encoding='utf-8')</code></strong></p>
|
4369 | 4549 |
|
4370 | 4550 |
<p>convert a character array to a string array with one less dimension.</p>
|
|
4391 | 4571 |
<span class="name">stringtoarr</span><span class="signature">(unknown)</span>:
|
4392 | 4572 |
</div>
|
4393 | 4573 |
|
4394 | |
|
|
4574 |
|
4395 | 4575 |
<div class="docstring"><p><strong><code>stringtoarr(a, NUMCHARS,dtype='S')</code></strong></p>
|
4396 | 4576 |
|
4397 | 4577 |
<p>convert a string to a character array of length <code>NUMCHARS</code></p>
|
|
4419 | 4599 |
<span class="name">getlibversion</span><span class="signature">(unknown)</span>:
|
4420 | 4600 |
</div>
|
4421 | 4601 |
|
4422 | |
|
|
4602 |
|
4423 | 4603 |
<div class="docstring"><p><strong><code><a href="#getlibversion">getlibversion()</a></code></strong></p>
|
4424 | 4604 |
|
4425 | 4605 |
<p>returns a string describing the version of the netcdf library
|
|
4437 | 4617 |
<span class="name">EnumType</span>:
|
4438 | 4618 |
</div>
|
4439 | 4619 |
|
4440 | |
|
|
4620 |
|
4441 | 4621 |
<div class="docstring"><p>A <code><a href="#EnumType">EnumType</a></code> instance is used to describe an Enum data
|
4442 | 4622 |
type, and can be passed to the the <code><a href="#Dataset.createVariable">Dataset.createVariable</a></code> method of
|
4443 | 4623 |
a <code><a href="#Dataset">Dataset</a></code> or <code><a href="#Group">Group</a></code> instance. See
|
|
4455 | 4635 |
<span class="name">EnumType</span><span class="signature">()</span>
|
4456 | 4636 |
</div>
|
4457 | 4637 |
|
4458 | |
|
|
4638 |
|
4459 | 4639 |
<div class="docstring"><p><strong><code>__init__(group, datatype, datatype_name, enum_dict)</code></strong></p>
|
4460 | 4640 |
|
4461 | 4641 |
<p>EnumType constructor.</p>
|
|
4481 | 4661 |
<div id="EnumType.dtype" class="classattr">
|
4482 | 4662 |
<div class="attr variable"><a class="headerlink" href="#EnumType.dtype">#  </a>
|
4483 | 4663 |
|
4484 | |
<span class="name">dtype</span><span class="default_value"> = <attribute 'dtype' of '<a href="#_netCDF4.EnumType">netCDF4._netCDF4.EnumType</a>' objects></span>
|
4485 | |
</div>
|
4486 | |
|
|
4664 |
<span class="name">dtype</span>
|
|
4665 |
</div>
|
|
4666 |
|
|
4667 |
|
4487 | 4668 |
|
4488 | 4669 |
|
4489 | 4670 |
</div>
|
4490 | 4671 |
<div id="EnumType.name" class="classattr">
|
4491 | 4672 |
<div class="attr variable"><a class="headerlink" href="#EnumType.name">#  </a>
|
4492 | 4673 |
|
4493 | |
<span class="name">name</span><span class="default_value"> = <attribute 'name' of '<a href="#_netCDF4.EnumType">netCDF4._netCDF4.EnumType</a>' objects></span>
|
4494 | |
</div>
|
4495 | |
|
|
4674 |
<span class="name">name</span>
|
|
4675 |
</div>
|
|
4676 |
|
|
4677 |
|
4496 | 4678 |
|
4497 | 4679 |
|
4498 | 4680 |
</div>
|
4499 | 4681 |
<div id="EnumType.enum_dict" class="classattr">
|
4500 | 4682 |
<div class="attr variable"><a class="headerlink" href="#EnumType.enum_dict">#  </a>
|
4501 | 4683 |
|
4502 | |
<span class="name">enum_dict</span><span class="default_value"> = <attribute 'enum_dict' of '<a href="#_netCDF4.EnumType">netCDF4._netCDF4.EnumType</a>' objects></span>
|
4503 | |
</div>
|
4504 | |
|
|
4684 |
<span class="name">enum_dict</span>
|
|
4685 |
</div>
|
|
4686 |
|
|
4687 |
|
4505 | 4688 |
|
4506 | 4689 |
|
4507 | 4690 |
</div>
|
|
4514 | 4697 |
<span class="name">get_chunk_cache</span><span class="signature">(unknown)</span>:
|
4515 | 4698 |
</div>
|
4516 | 4699 |
|
4517 | |
|
|
4700 |
|
4518 | 4701 |
<div class="docstring"><p><strong><code><a href="#get_chunk_cache">get_chunk_cache()</a></code></strong></p>
|
4519 | 4702 |
|
4520 | 4703 |
<p>return current netCDF chunk cache information in a tuple (size,nelems,preemption).
|
|
4532 | 4715 |
<span class="name">set_chunk_cache</span><span class="signature">(unknown)</span>:
|
4533 | 4716 |
</div>
|
4534 | 4717 |
|
4535 | |
|
|
4718 |
|
4536 | 4719 |
<div class="docstring"><p><strong><code>set_chunk_cache(self,size=None,nelems=None,preemption=None)</code></strong></p>
|
4537 | 4720 |
|
4538 | 4721 |
<p>change netCDF4 chunk cache settings.
|