From c25aa6869d537752a75ada36be15e13ae75a4bb9 Mon Sep 17 00:00:00 2001 From: Youjia Li Date: Sat, 23 Sep 2023 21:53:26 -0500 Subject: [PATCH] Test updated doc --- .gitignore | 1 + README.md | 6 +++--- docs/build/doctrees/environment.pickle | Bin 984299 -> 985992 bytes .../doctrees/installation/install.doctree | Bin 6253 -> 7257 bytes .../_sources/installation/install.rst.txt | 18 ++++++++++++++---- docs/build/html/index.html | 1 + docs/build/html/installation/install.html | 16 ++++++++++++---- docs/build/html/objects.inv | Bin 1643 -> 1651 bytes docs/build/html/searchindex.js | 2 +- docs/source/installation/install.rst | 18 ++++++++++++++---- 10 files changed, 46 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 96fb8e7..34a0f5a 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ env/ */pncpy/*.c core.* build/ +*.whl !docs/build/ # egg *.eggs/ diff --git a/README.md b/README.md index 1c89964..3e32509 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,10 @@ At a granular level, PnetCDF-python is a library that consists of the following * To work with the in-development version, you need to install [Cython](http://cython.org/) ### Installation -If you already have a working MPI and the mpicc compiler wrapper is on your search path, you can use pip: +Currently our PyPI wheels don't cover all systems. If you already have a working MPI with the mpicc compiler wrapper is on your search path and pnetcdf-C installation, you can use pip: ```sh -env CC=mpicc pip install pncpy +CC=mpicc PNETCDF_DIR=/path/to/pnetcdf/dir/ pip install pncpy==0.0.3 ``` ### Development installation @@ -37,7 +37,7 @@ env CC=mpicc pip install pncpy * (Optional) create python virtual environment and activate it -* Run `env CC=mpicc python3 setup.py build`, then `env CC=mpicc python3 setup.py install` +* Run `CC=mpicc python3 setup.py build`, then `CC=mpicc python3 setup.py install` ### Current build status The project is under active development. Below is a summary of the current implementation status diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index e6157cca7253c238e122cacfdba4413bc85d40e1..2741c2c850f4b9663f91360304a5ce6112c48aea 100644 GIT binary patch delta 37743 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 E15~Jo6aWAK delta 36626 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 MUv~Z(61GtJKNiKvdjJ3c diff --git a/docs/build/doctrees/installation/install.doctree b/docs/build/doctrees/installation/install.doctree index 2721c3b8f9fd576b533ba83292b5350533ec15a5..b9c84b08a9da1173aed7fd50bb94a8a90fa8911e 100644 GIT binary patch delta 1195 zcmb`G%}*0S7>8L&1!)b&1T~hA7sM~p4-#Wyl$wwNQVfI;4qgZucBj5umz~Y*EOZa1 zVB(=kZ@V76`4^Zpsl?D{nR~cEz=!M8S3iu`D7? zW{23Z6ymws55>TX&s1ivZ-$SX^DN8S-gK%sMBILwN;E z7nrRm99&Acj^Gfvh1do-HWj*2Oy|LD$&!jbsY^$mOTjUn+xzKW|1rU*jpx5+sQix* z|B#{QFvQbvuMPs+mx3zOrBMi_8m&Ay5r|^qnXjnjeT>!p^g6yZZ88SOYK@)TkxWL?9TAv z=_wAVn>M%<))K7^4GCV7xAXGP_2B))5dZ3h)Z^}l~&Pc132k(Nn z@r6cTVp5wvu;cgwH+;U9fft*xRPG?G*Qh9=% z?kCzv!#Gnup|Qrtv%Bq;f-IM&RMtAa#2wr&T~L)CHH@p_t{lADDVwZP;XBk-e{o6e xs$#v0JJo1?HCkKsa8S)gxP-)|aT~WH7Vbu%=oDVupe6tS delta 331 zcmca<@z#K~fpuz<#75RF?2HpvO+;+Nk)F2u|jcbNoj#zL8U@cX=Y9e z7dADM3k4+^sbf-ruoP3q*U9<9Hmph+(iu-CZx(K1RM>1LQo+P%v3b4N6Xr-EMh1o~ zejt&tF=JiE!;E`bTp$s4AW_=GnU|QGT2fh%S`6}F7D#Pp#>UQ!hn-+mouwIyAaSsE W9-wyJjC&bdzPnetCDF-Python DocumentationInstall from Source diff --git a/docs/build/html/installation/install.html b/docs/build/html/installation/install.html index 9028d68..46b58be 100644 --- a/docs/build/html/installation/install.html +++ b/docs/build/html/installation/install.html @@ -51,6 +51,7 @@
  • Install from Source
  • @@ -114,7 +115,7 @@

    Building PnetCDF C library cd pnetcdf-1.12.3 # configure -$ ./configure --prefix=/path/to/install-dir --enable-shared CC=mpicc +$ ./configure --prefix=/path/to/install-dir --enable-shared --disable-fortran --disable-cxx CC=mpicc # build and install $ make @@ -122,11 +123,18 @@

    Building PnetCDF C library +

    Installation

    +

    Currently our PyPI wheels don’t cover all systems. If you already have a working MPI with the mpicc compiler wrapper is on your search path and pnetcdf-C installation, you can use pip:

    +
    $ CC=mpicc PNETCDF_DIR=/path/to/pnetcdf/dir/ pip install pncpy==0.0.3
    +
    +
    +

    Building PnetCDF-python from source

    # activate an virtual environment (optional)
     # use Python 3.9 or later
    -$ python3 -m venv env
    +$ python -m venv env
     $ source env/bin/activate
     $ pip install --upgrade pip
     
    @@ -139,8 +147,8 @@ 

    Building PnetCDF-python from source cd pnetcdf-python # install PnetCDF-python -env CC=mpicc python3 setup.py build -env CC=mpicc python3 setup.py install +CC=mpicc python setup.py build +CC=mpicc python setup.py install

    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 7521c420bb4a1ccb719eaa61fcd3d12a9e2974f0..b24cbeb28fdadb6c1fafa58e5c7fdb489650abe9 100644 GIT binary patch delta 1545 zcmV+k2KM>u4D$?-eScZcZ`>#pzWcAR)E;&Zbku8a+leCe&~}ta+oQ!`oI$n01)OB| zuV0=4kMZCMIH!y;-}fHxHx4;rsfE&#@u#vsf5F=PJPw+cpG(}c-7}U9A6r_PhfgQn zwI4o~sHm~V`rOkD1nVeQOmLNf$rI5qv(gCJVI2dFuLD4b)qn4FdXBpcWw<$T`tF{S z{`~3A+X#T9#Y#EQWW1ZGPgTV@(^UoVj_Q-B^YBkpgORqvnHqS@I;LrzM{)0j&X0WU zt;^o^gWg0LS736gjziPr0gv>FaU-&(eIAftPH3BnX@#PBkeW7?3%5Lw3C3JdTNyLv zf;QTn@_LKa4S&oWE)N4Qd#q2HsCH195R+s17G(U-Xue9Z|L8{OpzzZMEaWSi- z%8I^f%JpXWHrb3fA|J&i{i8O(hOTPZD`e9~w4`Jsx*xW>$H?3Ugju0?(?T9{Y!BIm z3XsoK`o5SBP*)>r+b-`UsI3b6*k~x_#6KiRgISPXb3r%2Z?v zb!r=WtPzv*D8N9c(d9L zyxrqBntw?WKCQ^-QTfaDJ17*vnWdw;+(sjpX|#G5UEaSZzOhY&_fr&W5wnZzgq;p_ z-8InKQ5J2+b1nVS44i0C)al|LV)PD)*d{*;DPuuNRRoW*wSeKTsEC2CJ#Z@*h(buV7PDx(OHCh4#O-sn@Vrl;?$kI3Ey<1Vm(q2pKl`TtO z0*Z?b0n_3mZP#sMY&x@!|D{5xHnr7|x4R=&j9lSVF|H?pzK%N!_`pETC8*?rqoc{x z-+xf2UL;#;J+YXLmEUN|JO`R{Aj|R9^Z%Ih|AKc$Hf!s#EOM$z-ISzk*->J74n;Gr zw5cK(9I|r{Ub1CCjsX$m8NPb*gL$>TyD#^i{7NqB&!$Q7vXP=Il^7(Un-#EB2&j;w zT51vzR}j&4<_aV!u6NdOlKvT}(kj^tmVW{Pg|$7JDE5~90oX^=o1gX-2=2|fj;v++ zT)r@UGF}Ko*7TXSqBp6hcfsyS>}3f70U{u9$+|CyQB50lccP~p{=)ZCunR7o|Hu2r zo3ZP8kmEs)2Vvx#F!JoZxSvkkel89o0=8ZL9}<`AUn`$CcW$9rwadIh+%{g^PJdJ7 zyDl5iZ}FG1IQvgcLIs#`s<<|Mtmcok)YnQC*&k_fmqPjkUa0A7i1Vw~9^c?+aoOgq zINRZK=wNf`PLKhNJEmsgQgcfpyN4igzs>0$ZKBQ@Qn^2Rra;SJV|dyXq7{X-6!kC~ zc_*H!d}j0|q>F5@d_Ub&;ihx~UVR5mbw55dKD<5O3Z89wbBb_(5*%mWLS`63HsH; zBx5X}3N#25$PpUI1UZ42fI6=a&$%sfPHuZHAG+RDsFo2}Q)iPpuZbQWp?}Chk%Rsi zy2H7AbbOEFViAPlEJ4-+(PYRJianMlP7GqS&g9la9X;B%!O5NF!LvSiR%?#M1W?b* z$x?eCiys!fJ_Ow?P_wXpBi9?7=7iKYGfC*=i9UbY5H|Ch(K>^#~CKh6BcByoly`l;NrnyivO%$rI&W vOe*&(+!MOu! delta 1536 zcmV+b2LJi<4C@S#eSew3ZsaHshVOm~OS6aF1Jl~;+%_GJG>4gKCDP8(qA^aRvB3eH zr1$BUGT=6D+%e>oHs<>a3aSbma>7yzr6uD}Wqa_jY-XyM)1TGvV#M zdrtcE=X>uX07;9La?s?wo7Cs3Vw~x!0=%R8Boke4&ggu~ z*Q<5uyFSsIlvxT)PStT}nl$i8pBOhLYucxQ1am^$M5YyrrXe+LD!1LzAhQ`$p|&z^ zOocN2PI;Zh4JQDJyBd! zS zFI4)vxEI8&6v2t9qq^KiBbRBkdKX>ZzbC!1OoaDS6e|(4i|oWs6S}S% zXl*KsGUK(D>(UIIXc(v)i+hZ@1R~O8e>}8$_HiUpVDV`sk?zdK7R3B{o6f3v3K=wP zrVmZuIGsw#MHVJxI%bww3s~^Y=oBa0J~pWnPJj8V=AFK+w{KP3KEXlj)C*pfO4na% zL41e=FGsHY$2S#M(Y&OuL%p1WyqJ$@2?irAA+C$1|F4kc+LT{iiz=4>TC!KZEPVGH$it}&jLO$P;&_?x!~w%BK0@q zsef0=mZP3jOvlQ1v|?TZ%{7qKxbyly=K8E^sR z>)~VQU}NZBkO7=KhGyYHGbfPULlC&%=5miVP-6<=P**IhsA(zcVf4^WyiobV=xZn! z>0tGKx~IY&u?dKarZiWQox4W<`G42SK7b@qjY-1J-bx^lK*A)kK_er9;9B(Es_$d! zMJMXWn)YYpU)Z63H&bY-Tiu}0z(7=qd2LJ1_G}lFno$KA735TcV)HQB7;~S35d;HB zF&fweJAs)%I<1J#wJkXpw*`|AU2oD$%Lufov)T7=8&`NlkwcL~e+=E>Tz@_~y~nY! z2)5xYa@IDY3G!(x_E?&IVu;Z@)3RfqCzTZ-t^*l2d5MwpqVC+V=Yc0Zw&Xa4z1^!rkUH_wCcsjV84We-#Rk%t7@8qsX@I-YNv9%gQ@twGK mNt~`Wm%HMIgNCP60Rw_*X^{{D4nkU70^rxRQ1L$>J(cZ8uLUpw diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 2554cfb..b0385b7 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/attribute_api", "api/dimension_api", "api/file_api", "api/function_api", "api/variable_api", "development/compatibility", "index", "installation/install", "introduction/overview", "tutorial/basic", "tutorial/datatypes", "tutorial/non_blocking", "tutorial/read_write"], "filenames": ["api/attribute_api.rst", "api/dimension_api.rst", "api/file_api.rst", "api/function_api.rst", "api/variable_api.rst", "development/compatibility.rst", "index.rst", "installation/install.rst", "introduction/overview.rst", "tutorial/basic.rst", "tutorial/datatypes.rst", "tutorial/non_blocking.rst", "tutorial/read_write.rst"], "titles": ["Attribute", "Dimension", "File", "Functions", "Variable", "Compatibility with C", "PnetCDF-Python Documentation", "Install from Source", "Overview", "Basics", "Datatype", "Non-blocking Reads and Writes", "Parallel Read and Write"], "terms": {"In": [0, 2, 4, 9], "librari": [0, 2, 4, 6, 8, 9], "netcdf": [0, 2, 3, 4, 6, 7, 8, 10, 11, 12], "can": [0, 2, 3, 4, 9, 11, 12], "creat": [0, 1, 2, 3, 4, 6], "access": [0, 1, 2, 8, 9, 12], "manipul": [0, 8], "us": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12], "python": [0, 2, 4, 5, 8, 10, 11, 12], "dictionari": [0, 2, 9], "like": [0, 4, 9], "syntax": [0, 4, 6, 9], "A": [0, 2, 4, 9, 11], "interfac": [0, 1, 2, 4, 8, 10], "metadata": [0, 2, 4], "oper": [0, 2, 3, 4, 12], "i": [0, 1, 2, 3, 4, 8, 9, 11, 12], "provid": [0, 1, 2, 4, 9, 11, 12], "both": 0, "file": [0, 1, 3, 4, 5, 6, 8, 11, 12], "class": [0, 1, 2, 4, 9], "global": [0, 2, 9], "variabl": [0, 1, 2, 5, 6, 10, 11, 12], "defin": [1, 2, 4, 9, 10, 11, 12], "shape": [1, 3, 4, 6, 9, 11, 12], "structur": [1, 4], "store": [1, 2, 4, 9, 11, 12], "coordin": 1, "data": [1, 2, 4, 8, 9, 10, 11, 12], "multidimension": [1, 4, 9, 12], "arrai": [1, 2, 3, 4, 9, 11, 12], "The": [1, 2, 3, 4, 5, 9, 10, 11, 12], "object": [1, 2, 4, 9], "which": [1, 2, 4, 11, 12], "also": [1, 2, 4, 9], "kei": [1, 9], "compon": [1, 4, 5], "an": [1, 2, 3, 4, 7, 9, 11, 12], "instanc": [1, 2, 3, 4, 9], "should": [1, 2, 4, 11], "def_dim": [1, 2, 6, 9], "method": [1, 2, 4, 6, 9, 11], "__init__": [1, 2, 4, 6], "directli": [1, 4, 9, 12], "pncpy": [1, 2, 3, 4, 9, 11], "base": [1, 2, 4, 8, 9], "arg": 1, "kwarg": [1, 2, 4], "getfil": [1, 6], "self": [1, 2, 4], "return": [1, 2, 3, 4, 9, 11, 12], "thi": [1, 2, 3, 4, 8, 9, 11, 12], "member": [1, 2, 4], "type": [1, 2, 3, 4, 9, 10], "isunlimit": [1, 2, 6, 9], "true": [1, 2, 4], "unlimit": [1, 2, 4, 9], "fals": [1, 2, 4], "otherwis": [1, 2, 4], "bool": [1, 2, 4], "attribut": [1, 2, 4, 5, 6], "follow": [1, 2, 4, 5, 9, 10, 12], "ar": [1, 2, 4, 9, 11, 12], "read": [1, 2, 4, 6], "onli": [1, 2, 4, 11], "modifi": [1, 2, 4], "user": [1, 2, 3, 4, 9, 11], "name": [1, 2, 3, 4, 6, 9], "string": [1, 2, 3, 4, 9], "To": [1, 2, 5, 9, 11], "renam": [1, 2, 4], "rename_dim": [1, 2, 6], "size": [1, 2, 3, 4, 5, 6, 9, 11, 12], "current": [1, 2, 3, 4, 9, 12], "call": [1, 2, 3, 4, 6, 9, 11], "len": [1, 2, 9], "high": [2, 8], "level": [2, 5, 9, 11], "repres": [2, 4, 12], "write": [2, 4, 6], "within": [2, 4, 9], "serv": [2, 4, 12], "root": [2, 9], "contain": [2, 3, 4, 5], "dimens": [2, 3, 4, 5, 6], "togeth": [2, 12], "thei": [2, 4, 9, 12], "describ": [2, 4], "mean": [2, 4], "relat": [2, 9], "among": 2, "field": 2, "filenam": [2, 9], "format": [2, 3, 4, 9, 10], "64bit_offset": 2, "mode": [2, 3, 4, 9, 12], "w": [2, 9], "comm": [2, 9], "none": [2, 3, 4, 9, 11], "info": [2, 9], "constructor": [2, 4, 9], "paramet": [2, 3, 4, 11, 12], "str": [2, 3, 4], "new": [2, 3, 4, 9, 10], "r": [2, 9], "open": [2, 4, 6, 12], "error": [2, 3, 4, 11], "doe": 2, "exist": [2, 3, 4, 9], "same": [2, 4, 9, 11], "delet": [2, 4, 11], "x": 2, "append": [2, 11], "underli": 2, "relev": [2, 4], "when": [2, 4, 9], "cdf": [2, 4, 9, 10], "2": [2, 4, 5, 9, 10, 12], "64bit_data": [2, 9], "5": [2, 4, 9, 10, 12], "default": [2, 3, 4, 9, 12], "1": [2, 3, 4, 5, 7, 9, 10, 12], "mpi4pi": [2, 4, 7, 9], "mpi": [2, 4, 6], "option": [2, 3, 4, 7, 9, 11, 12], "commun": 2, "mpi_comm_world": 2, "mpi_info_nul": 2, "attach_buff": [2, 4, 6, 11], "bufsiz": 2, "allow": [2, 3, 8, 11], "pnetcdf": [2, 3, 4, 5, 8, 9, 11, 12], "alloc": [2, 3, 4], "intern": [2, 3, 4], "buffer": [2, 4, 6, 12], "accommod": [2, 4], "request": [2, 4, 6], "prerequisit": [2, 11], "non": [2, 6], "block": [2, 4, 6], "detach_buff": [2, 6, 11], "requir": [2, 4, 6, 8, 11, 12], "longer": [2, 4], "need": [2, 4, 9, 11], "int": [2, 3, 4, 10], "unit": [2, 9], "byte": [2, 3, 4, 10], "obtain": 2, "numpi": [2, 3, 4, 6, 7, 9, 10, 11], "ndarrai": [2, 3, 4], "nbyte": [2, 11], "begin_indep": [2, 6, 12], "leav": 2, "from": [2, 3, 4, 6, 11, 12], "collect": [2, 4, 11, 12], "enter": 2, "independ": [2, 3, 4, 11, 12], "cancel": [2, 6], "num": [2, 4, 11, 12], "statu": [2, 3, 12], "list": [2, 4, 5, 11, 12], "pend": [2, 11], "nonblock": [2, 4, 6], "made": 2, "iput_var": [2, 4, 6, 11], "iget_var": [2, 4, 5, 6, 11], "bput_var": [2, 4, 6, 11], "number": [2, 3, 4, 9, 10, 11], "It": [2, 3], "next": 2, "two": [2, 4, 9], "argument": [2, 4, 9, 11, 12], "altern": [2, 9, 11], "modul": [2, 9, 11], "constant": [2, 9, 10, 11], "nc_req_al": [2, 11], "flush": [2, 4, 6, 11], "all": [2, 3, 4, 9, 10, 11, 12], "nc_get_req_al": [2, 11], "get": [2, 4], "nc_put_req_al": [2, 11], "put": [2, 4, 6, 9, 11], "integ": [2, 3, 4, 9, 10], "specifi": [2, 3, 4, 9, 11, 12], "id": [2, 4, 11], "were": 2, "earlier": 2, "hold": [2, 11], "code": [2, 3, 4, 7, 9], "status": [2, 11], "correspond": [2, 3, 4, 10], "valu": [2, 4, 9, 11, 12], "strerror": [2, 3, 6], "messag": [2, 3], "either": [2, 4, 9], "close": [2, 5, 6], "dimnam": 2, "given": [2, 4, 9], "must": [2, 4, 9], "posit": [2, 4], "stand": 2, "determin": 2, "maximum": [2, 3, 9], "function": [2, 4, 6, 9], "def_var": [2, 4, 6, 9], "varnam": [2, 4], "nc_dtype": [2, 4], "fill_valu": [2, 4], "datatyp": [2, 3, 4, 6, 9, 11], "support": [2, 4, 9, 10, 12], "nc_char": [2, 4, 10], "text": [2, 4, 10], "nc_byte": [2, 4, 10], "nc_short": [2, 4, 10], "sign": [2, 4, 10], "nc_int": [2, 4, 9, 10], "4": [2, 4, 9, 10], "nc_float": [2, 4, 10], "float": [2, 4, 10], "point": [2, 4, 9, 10], "nc_doubl": [2, 4, 10], "8": [2, 3, 4, 9, 10], "real": [2, 4, 10], "doubl": [2, 4, 10], "precis": [2, 4, 10], "nc_ubyt": [2, 4, 10], "unsign": [2, 4, 10], "nc_ushort": [2, 4, 10], "nc_uint": [2, 4, 10], "nc_int64": [2, 4, 10], "nc_uint64": [2, 4, 10], "tupl": [2, 4, 9, 12], "empti": [2, 4, 11, 12], "scalar": [2, 4], "therefor": [2, 4, 9], "ha": [2, 3, 4], "fill": [2, 4, 9, 11], "accept": [2, 4], "turn": [2, 4, 12], "off": [2, 4, 9], "ani": [2, 4, 9, 11, 12], "other": [2, 3, 4], "del_att": [2, 4, 6], "you": [2, 4, 9], "one": [2, 3, 4, 11], "reserv": [2, 4, 11], "while": [2, 3, 4, 9], "detach": [2, 11], "previous": 2, "attach": [2, 11], "end_indep": [2, 6, 12], "enddef": [2, 6, 11, 12], "exit": [2, 12], "place": 2, "so": [2, 11], "written": [2, 4, 12], "filepath": [2, 6], "encod": [2, 3, 4], "system": [2, 3], "path": [2, 7], "wa": 2, "dataset": [2, 9, 12], "decod": [2, 4], "sy": 2, "getfilesystemencod": 2, "cach": [2, 4, 7], "memori": [2, 3, 4, 11], "get_att": [2, 4, 5, 6], "utf": [2, 3, 4], "retriev": [2, 4, 9, 12], "charact": [2, 3, 4], "inq_buff_s": [2, 6], "inq_buff_usag": [2, 6], "usag": 2, "inq_get_s": [2, 6], "report": 2, "amount": 2, "actual": 2, "been": [2, 3], "sinc": 2, "inq_header_ext": [2, 6], "header": 2, "extent": 2, "space": [2, 11], "inq_header_s": [2, 6], "note": [2, 4, 11, 12], "inq_info": [2, 6], "hint": 2, "inq_nreq": [2, 6], "inq_num_fix_var": [2, 6], "fix": [2, 3, 4], "inq_num_rec_var": [2, 6], "record": [2, 4], "inq_put_s": [2, 6], "inq_recs": [2, 6], "sum": 2, "individu": 2, "each": [2, 3, 4, 9, 11], "inq_strip": [2, 6], "inq_unlimdim": [2, 6], "dim": 2, "inq_vers": [2, 6], "ncattr": [2, 4, 6, 9], "put_att": [2, 4, 6, 9], "set": [2, 3, 4, 9], "pair": [2, 4, 9], "especi": [2, 4], "redef": [2, 5, 6], "ad": [2, 9], "rename_att": [2, 4, 6], "oldnam": [2, 4], "newnam": [2, 4], "old": [2, 4], "If": [2, 3, 4, 9, 11], "than": [2, 4], "origin": [2, 4], "subroutin": [2, 3], "consist": 2, "process": [2, 3, 9, 11, 12], "rename_var": [2, 6], "set_auto_chartostr": [2, 4, 6], "affect": 2, "after": [2, 11], "behaviour": 2, "set_fil": [2, 6], "fillmod": 2, "nc_fill": 2, "nc_nofil": 2, "chang": [2, 3, 4, 11], "far": 2, "time": [2, 4, 9], "api": [2, 5, 11], "word": 2, "overwrit": 2, "addit": [2, 4, 9], "sync": [2, 6], "disk": 2, "wait": [2, 4, 6, 11], "complet": [2, 4], "o": [2, 8, 9, 11, 12], "wait_al": [2, 4, 5, 6, 11], "map": [2, 4, 5, 11, 12], "file_format": [2, 6, 9], "possibl": 2, "includ": [2, 9], "classic": [2, 9], "cdf2": 2, "64bit": 2, "cdf5": 2, "netcdf4": [2, 9], "bp": 2, "err_cod": 3, "static": 3, "refer": [3, 4, 9, 11], "presum": 3, "previou": [3, 9], "some": 3, "might": 3, "have": [3, 4, 9, 10], "strerrno": [3, 6], "nc": [3, 9, 10, 11], "For": [3, 4, 9, 11, 12], "ncmpi_strerrno": [3, 5], "nc_ebadid": 3, "chartostr": [3, 4, 6], "b": [3, 4], "convert": [3, 4], "less": 3, "un": [3, 4], "sn": 3, "where": [3, 4, 12], "n": [3, 4, 9, 12], "input": [3, 11, 12], "s1": [3, 4], "u1": [3, 10], "Will": 3, "length": [3, 4, 9, 12], "np": [3, 4, 9, 10, 11, 12], "string_": 3, "btye": 3, "stringtochar": [3, 6], "extra": 3, "treat": [3, 9], "raw": 3, "set_default_format": [3, 6], "new_format": 3, "futur": [3, 11], "ncmpi_creat": [3, 5], "without": [3, 11, 12], "nc_format_class": 3, "nc_format_cdf2": 3, "nc_format_64bit": 3, "nc_format_cdf5": 3, "nc_format_64bit_data": 3, "expect": [3, 4], "intend": 3, "later": [3, 7, 9, 11], "inq_default_format": [3, 6], "inq_file_format": [3, 6], "file_nam": 3, "inq_malloc_max_s": [3, 6], "rtype": [3, 4], "inq_malloc_s": [3, 6], "core": 4, "organ": 4, "along": 4, "more": [4, 9, 11], "associ": 4, "form": [4, 9], "particularli": [4, 12], "flexibl": 4, "done": 4, "through": 4, "explicit": 4, "style": 4, "index": [4, 9, 11, 12], "analog": 4, "see": [4, 9, 11, 12], "detail": [4, 9], "_fillvalu": 4, "befor": [4, 9], "replac": 4, "start": [4, 9, 11, 12], "count": [4, 9, 11, 12], "stride": [4, 11, 12], "imap": [4, 11, 12], "bufcount": 4, "buftyp": 4, "post": [4, 11], "parallel": [4, 6, 7, 8], "behavior": [4, 11, 12], "vari": [4, 11, 12], "depend": [4, 9, 11, 12], "pattern": [4, 9, 11, 12], "select": [4, 11, 12], "execut": [4, 11], "until": [4, 11], "caller": 4, "prepar": 4, "unlik": [4, 11], "iput": 4, "onc": [4, 11], "free": [4, 11], "content": [4, 11], "prior": 4, "make": [4, 7, 8, 9], "sure": [4, 9], "entir": [4, 11, 12], "simplest": 4, "whenev": 4, "take": [4, 9, 12], "care": 4, "try": 4, "yet": 4, "henc": 4, "0": [4, 9, 11, 12], "noth": 4, "similarli": [4, 9], "assum": 4, "mai": [4, 9], "suppli": 4, "result": [4, 11], "segment": 4, "violat": 4, "singl": [4, 11, 12], "element": [4, 12], "exampl": [4, 9, 11, 12], "would": 4, "10": [4, 9, 11, 12], "dimension": 4, "skip": 4, "subarrai": [4, 11, 12], "part": [4, 9], "give": [4, 9, 10], "corner": [4, 9, 12], "vector": [4, 9, 12], "edg": [4, 9, 12], "section": [4, 9, 12], "c": [4, 6, 10], "d": 4, "subsampl": [4, 11, 12], "e": [4, 9, 11, 12], "f": [4, 9, 11, 12], "g": [4, 9, 11, 12], "h": 4, "between": [4, 11], "3": [4, 5, 7, 9, 12], "butter": 4, "distanc": 4, "diagram": 4, "below": [4, 11, 12], "illustr": [4, 12], "6": [4, 9], "numer": 4, "int32": [4, 9, 10], "match": [4, 12], "": [4, 5, 8, 9, 11, 12], "long": [4, 10, 12], "multi": 4, "top": 4, "left": 4, "varaibl": 4, "first": [4, 5, 9, 11], "order": [4, 11], "2d": 4, "ndim": [4, 6], "sampl": 4, "interv": 4, "equal": 4, "locat": 4, "adjac": 4, "indic": [4, 11, 12], "deriv": 4, "layout": 4, "reqeust": [4, 11], "success": 4, "def_fil": [4, 6], "no_fil": 4, "custom": 4, "purpos": [4, 9], "ignor": 4, "fill_rec": [4, 6], "rec_no": 4, "predefin": 4, "get_dim": [4, 6], "get_var": [4, 5, 6, 9, 11], "buff": [4, 9, 11, 12], "don": 4, "t": 4, "how": [4, 9], "mani": 4, "caus": 4, "get_var_al": [4, 5, 6, 9, 12], "retain": 4, "handler": [4, 9], "transact": 4, "inq_fil": [4, 6], "te": 4, "els": 4, "inq_offset": [4, 6], "offset": [4, 9], "alter": [4, 11], "unexpect": [4, 11], "put_var": [4, 6, 11, 12], "put_var_al": [4, 6, 9, 12], "automat": 4, "convers": 4, "_encod": 4, "dtype": [4, 6, 9, 11, 12], "unicod": 4, "rightmost": 4, "back": 4, "indiviu": 4, "perform": [4, 8, 9, 11, 12], "set_auto_mask": [4, 6], "mask": [4, 6], "exactli": 4, "missing_valu": 4, "instead": 4, "valid_min": 4, "valid_max": 4, "outsid": 4, "rang": [4, 11], "regular": 4, "set_auto_scal": [4, 6], "scale": [4, 6, 9], "pack": 4, "unpack": 4, "scale_factor": 4, "add_offset": 4, "_unsign": 4, "present": 4, "miss": 4, "zero": [4, 9, 12], "view": 4, "appli": 4, "reset": 4, "set_auto_maskandscal": 4, "tabl": [5, 10], "implement": 5, "prioriti": 5, "ncmpi_strerror": 5, "ncmpi_open": 5, "ncmpi_enddef": 5, "ncmpi_sync": 5, "ncmpi_begin": 5, "end_indep_data": 5, "ncmpi_inq_path": 5, "ncmpi_inq": 5, "ncmpi_wait": 5, "ncmpi_wait_al": 5, "ncmpi_inq_libv": 5, "ncmpi_set_fil": 5, "ncmpi_set_default_format": 5, "ncmpi_inq_put": 5, "get_siz": 5, "ncmpi_delet": 5, "ncmpi_sync_numrec": 5, "ncmpi_inq_file_info": 5, "ncmpi_inq_files_open": 5, "ncmpi_def_dim": 5, "ncmpi_inq_ndim": 5, "ncmpi_inq_dimlen": 5, "ncmpi_inq_dim": 5, "ncmpi_inq_dimnam": 5, "ncmpi_put": 5, "get_att_text": 5, "ncmpi_inq_att": 5, "ncmpi_inq_natt": 5, "ncmpi_inq_attnam": 5, "ncmpi_rename_att": 5, "ncmpi_del_att": 5, "ncmpi_def_var": 5, "ncmpi_def_var_fil": 5, "ncmpi_inq_varndim": 5, "ncmpi_inq_varnam": 5, "get_vara": [5, 12], "get_var1": 5, "get_varn": 5, "get_varm": 5, "get_vara_al": 5, "get_vars_al": 5, "get_var1_al": 5, "get_varn_al": 5, "get_varm_al": 5, "ncmpi_iput": 5, "iget_vara": 5, "iget_var1": 5, "iget_varm": 5, "iget_varn": 5, "ncmpi_bput": 5, "bget_var": 5, "bget_var1": 5, "bget_vara": 5, "bget_varm": 5, "bget_varn": 5, "ncmpi_inq_nreq": 5, "ncmpi_inq_buffer_usag": 5, "ncmpi_cancel": 5, "ncmpi_fill_var_rec": 5, "second": 5, "third": 5, "overview": 6, "sourc": 6, "softwar": 6, "build": 6, "basic": 6, "run": 6, "script": 6, "slice": [6, 9], "commit": 6, "9": [7, 9, 12], "cython": 7, "setuptool": 7, "download": 7, "v1": 7, "12": 7, "wget": 7, "http": 7, "github": 7, "io": 7, "releas": 7, "tar": 7, "gz": 7, "xf": 7, "cd": 7, "configur": 7, "prefix": 7, "dir": 7, "enabl": [7, 11], "share": 7, "cc": 7, "mpicc": 7, "activ": 7, "virtual": 7, "environ": 7, "python3": 7, "m": 7, "venv": 7, "env": 7, "bin": 7, "pip": 7, "upgrad": 7, "git": 7, "clone": 7, "com": 7, "jonathanlyj": 7, "setup": 7, "py": [7, 9, 11, 12], "integr": 8, "easi": 8, "analysi": 8, "visual": 8, "rich": 8, "ecosystem": 8, "scientif": 8, "comput": 8, "valuabl": 8, "tool": 8, "applic": 8, "under": [9, 10, 11, 12], "construct": [9, 10, 11, 12], "program": [9, 11, 12], "command": 9, "mpiexec": 9, "practic": [9, 11], "look": 9, "processor": 9, "simpli": 9, "specif": [9, 12], "keyword": 9, "examin": 9, "accomplish": 9, "via": 9, "here": [9, 11, 12], "import": 9, "comm_world": 9, "testfil": 9, "equival": [9, 10, 12], "rootgrp": 9, "test": 9, "netcdf3_class": 9, "full": [9, 11, 12], "craete_open": 9, "establish": 9, "expand": 9, "omit": 9, "assign": 9, "lat_nam": 9, "lat": 9, "lat_len": 9, "50": [9, 12], "time_nam": 9, "tmp": 9, "lat_dim": 9, "time_dim": 9, "netcdf3_64bit_data": 9, "createdimens": 9, "print": [9, 12], "_dimens": 9, "inform": 9, "check": 9, "tst_dim": 9, "similar": [9, 11], "util": 9, "mandatori": [9, 11, 12], "found": 9, "var": [9, 12], "createvari": 9, "i4": [9, 10, 11, 12], "wai": [9, 12], "_variabl": 9, "up": 9, "properli": 9, "usual": 9, "whole": [9, 11], "titl": 9, "histori": 9, "properti": 9, "special": 9, "minimum": 9, "valid": 9, "factor": 9, "reenter": 9, "sequenc": 9, "our": 9, "floatatt": 9, "math": 9, "pi": 9, "option1": 9, "intatt": 9, "option2": 9, "seqatt": 9, "arang": 9, "int_att": 9, "group": 9, "setncattr": 9, "And": 9, "__dict__": 9, "141592653589793": 9, "7": 9, "global_attribut": 9, "now": 9, "do": 9, "firstli": 9, "Then": 9, "just": 9, "stop": 9, "step": [9, 11], "triplet": 9, "leverag": 9, "accord": 9, "specfic": 9, "20": 9, "symmetr": 9, "differ": 9, "retreiv": 9, "topleft": [9, 12], "behav": 9, "learn": 9, "about": 9, "page": 9, "extern": 10, "direct": 10, "quival": 10, "bit": 10, "intent": 10, "char": 10, "int8": 10, "i1": 10, "short": 10, "16": 10, "int16": 10, "i2": 10, "32": 10, "float32": 10, "f4": 10, "64": 10, "float64": 10, "f8": 10, "uint8": 10, "uint16": 10, "u2": 10, "uint32": 10, "u4": 10, "int64": 10, "i8": 10, "uint64": 10, "u8": 10, "multipl": [11, 12], "them": 11, "altogeth": 11, "achiev": 11, "better": 11, "common": 11, "shown": 11, "pass": 11, "req_id": 11, "write_buff": 11, "randint": 11, "xdim": 11, "ydim": 11, "zdim": 11, "astyp": 11, "num_req": 11, "v": 11, "datam": 11, "track": 11, "non_blocking_writ": 11, "again": 11, "initi": 11, "v_data": 11, "flexible_api": 11, "eventu": 11, "wise": 11, "debug": 11, "suffix": [11, 12], "_all": [11, 12], "contrast": [11, 12], "indeped": [11, 12], "req_err": 11, "One": 11, "limit": 11, "abov": 11, "allevi": 11, "ident": 11, "howev": 11, "reus": 11, "posts": 11, "As": 11, "tell": 11, "reqest": 11, "estim": 11, "buffsiz": 11, "rememb": 11, "requet": 11, "re": 12, "translat": 12, "fast": 12, "effici": 12, "recogn": 12, "NOT": 12, "mult": 12, "respect": 12, "diagramm": 12, "By": 12, "25": 12, "total": 12, "put_vara": 12, "collective_writ": 12}, "objects": {"": [[4, 0, 1, "", "chartostring"], [4, 0, 1, "", "datatype"], [4, 0, 1, "", "dimensions"], [4, 0, 1, "", "dtype"], [2, 0, 1, "", "file_format"], [4, 0, 1, "", "mask"], [4, 0, 1, "", "name"], [4, 0, 1, "", "ndim"], [4, 0, 1, "", "scale"], [4, 0, 1, "", "shape"], [4, 0, 1, "", "size"], [2, 0, 1, "", "variables"]], "pncpy": [[1, 1, 1, "", "Dimension"], [2, 1, 1, "", "File"], [4, 1, 1, "", "Variable"], [3, 3, 1, "", "chartostring"], [3, 3, 1, "", "inq_default_format"], [3, 3, 1, "", "inq_file_format"], [3, 3, 1, "", "inq_malloc_max_size"], [3, 3, 1, "", "inq_malloc_size"], [3, 3, 1, "", "set_default_format"], [3, 3, 1, "", "strerrno"], [3, 3, 1, "", "strerror"], [3, 3, 1, "", "stringtochar"]], "pncpy.Dimension": [[1, 2, 1, "", "__init__"], [1, 2, 1, "", "getfile"], [1, 2, 1, "", "isunlimited"]], "pncpy.File": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "attach_buff"], [2, 2, 1, "", "begin_indep"], [2, 2, 1, "", "cancel"], [2, 2, 1, "", "close"], [2, 2, 1, "", "def_dim"], [2, 2, 1, "", "def_var"], [2, 2, 1, "", "del_att"], [2, 2, 1, "", "detach_buff"], [2, 2, 1, "", "end_indep"], [2, 2, 1, "", "enddef"], [2, 2, 1, "", "filepath"], [2, 2, 1, "", "flush"], [2, 2, 1, "", "get_att"], [2, 2, 1, "", "inq_buff_size"], [2, 2, 1, "", "inq_buff_usage"], [2, 2, 1, "", "inq_get_size"], [2, 2, 1, "", "inq_header_extent"], [2, 2, 1, "", "inq_header_size"], [2, 2, 1, "", "inq_info"], [2, 2, 1, "", "inq_nreqs"], [2, 2, 1, "", "inq_num_fix_vars"], [2, 2, 1, "", "inq_num_rec_vars"], [2, 2, 1, "", "inq_put_size"], [2, 2, 1, "", "inq_recsize"], [2, 2, 1, "", "inq_striping"], [2, 2, 1, "", "inq_unlimdim"], [2, 2, 1, "", "inq_version"], [2, 2, 1, "", "ncattrs"], [2, 2, 1, "", "put_att"], [2, 2, 1, "", "redef"], [2, 2, 1, "", "rename_att"], [2, 2, 1, "", "rename_dim"], [2, 2, 1, "", "rename_var"], [2, 2, 1, "", "set_auto_chartostring"], [2, 2, 1, "", "set_fill"], [2, 2, 1, "", "sync"], [2, 2, 1, "", "wait"], [2, 2, 1, "", "wait_all"]], "pncpy.Variable": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "bput_var"], [4, 2, 1, "", "def_fill"], [4, 2, 1, "", "del_att"], [4, 2, 1, "", "file"], [4, 2, 1, "", "fill_rec"], [4, 2, 1, "", "get_att"], [4, 2, 1, "", "get_dims"], [4, 2, 1, "", "get_var"], [4, 2, 1, "", "get_var_all"], [4, 2, 1, "", "iget_var"], [4, 2, 1, "", "inq_fill"], [4, 2, 1, "", "inq_offset"], [4, 2, 1, "", "iput_var"], [4, 2, 1, "", "ncattrs"], [4, 2, 1, "", "put_att"], [4, 2, 1, "", "put_var"], [4, 2, 1, "", "put_var_all"], [4, 2, 1, "", "rename_att"], [4, 2, 1, "", "set_auto_chartostring"], [4, 2, 1, "", "set_auto_mask"], [4, 2, 1, "", "set_auto_scale"]]}, "objtypes": {"0": "py:attribute", "1": "py:class", "2": "py:method", "3": "py:function"}, "objnames": {"0": ["py", "attribute", "Python attribute"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "titleterms": {"attribut": [0, 9], "dimens": [1, 9], "file": [2, 9], "function": 3, "variabl": [4, 9], "compat": 5, "c": [5, 7], "pnetcdf": [6, 7], "python": [6, 7, 9], "document": 6, "introduct": 6, "instal": [6, 7], "tutori": 6, "api": 6, "from": [7, 9], "sourc": 7, "softwar": 7, "requir": 7, "build": 7, "librari": 7, "overview": 8, "basic": 9, "run": 9, "script": 9, "mpi": 9, "creat": 9, "open": 9, "close": 9, "netcdf": 9, "write": [9, 11, 12], "read": [9, 11, 12], "datatyp": 10, "non": 11, "block": 11, "nonblock": 11, "commit": 11, "request": 11, "buffer": 11, "parallel": 12, "numpi": 12, "slice": 12, "syntax": 12, "method": 12, "call": 12, "put": 12, "get_var": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Attribute": [[0, "attribute"]], "Dimension": [[1, "dimension"]], "File": [[2, "file"]], "Functions": [[3, "functions"]], "Variable": [[4, "variable"]], "Compatibility with C": [[5, "compatibility-with-c"]], "PnetCDF-Python Documentation": [[6, "pnetcdf-python-documentation"]], "Introduction": [[6, null]], "Installation": [[6, null]], "Tutorial": [[6, null]], "API Documentation": [[6, null]], "Install from Source": [[7, "install-from-source"]], "Software Requirements": [[7, "software-requirements"]], "Building PnetCDF C library": [[7, "building-pnetcdf-c-library"]], "Building PnetCDF-python from source": [[7, "building-pnetcdf-python-from-source"]], "Overview": [[8, "overview"]], "Basics": [[9, "basics"]], "Running Python scripts with MPI": [[9, "running-python-scripts-with-mpi"]], "Creating/Opening/Closing a netCDF file": [[9, "creating-opening-closing-a-netcdf-file"]], "Dimensions": [[9, "dimensions"]], "Variables": [[9, "variables"]], "Attributes": [[9, "attributes"]], "Writing to variable": [[9, "writing-to-variable"]], "Reading from variable": [[9, "reading-from-variable"]], "Datatype": [[10, "datatype"]], "Non-blocking Reads and Writes": [[11, "non-blocking-reads-and-writes"]], "Nonblocking Write": [[11, "nonblocking-write"]], "Nonblocking Read": [[11, "nonblocking-read"]], "Commit Read/Write Requests": [[11, "commit-read-write-requests"]], "Buffered Non-blocking Write": [[11, "buffered-non-blocking-write"]], "Parallel Read and Write": [[12, "parallel-read-and-write"]], "NumPy Slicing Syntax": [[12, "numpy-slicing-syntax"]], "Method Call of put/get_var()": [[12, "method-call-of-put-get-var"]]}, "indexentries": {"dimension (class in pncpy)": [[1, "pncpy.Dimension"]], "__init__() (pncpy.dimension method)": [[1, "pncpy.Dimension.__init__"]], "getfile() (pncpy.dimension method)": [[1, "pncpy.Dimension.getfile"]], "isunlimited() (pncpy.dimension method)": [[1, "pncpy.Dimension.isunlimited"]], "name": [[1, "name"], [4, "name"]], "size": [[1, "size"], [4, "size"]], "file (class in pncpy)": [[2, "pncpy.File"]], "__init__() (pncpy.file method)": [[2, "pncpy.File.__init__"]], "attach_buff() (pncpy.file method)": [[2, "pncpy.File.attach_buff"]], "begin_indep() (pncpy.file method)": [[2, "pncpy.File.begin_indep"]], "cancel() (pncpy.file method)": [[2, "pncpy.File.cancel"]], "close() (pncpy.file method)": [[2, "pncpy.File.close"]], "def_dim() (pncpy.file method)": [[2, "pncpy.File.def_dim"]], "def_var() (pncpy.file method)": [[2, "pncpy.File.def_var"]], "del_att() (pncpy.file method)": [[2, "pncpy.File.del_att"]], "detach_buff() (pncpy.file method)": [[2, "pncpy.File.detach_buff"]], "dimensions": [[2, "dimensions"], [4, "dimensions"]], "end_indep() (pncpy.file method)": [[2, "pncpy.File.end_indep"]], "enddef() (pncpy.file method)": [[2, "pncpy.File.enddef"]], "file_format": [[2, "file_format"]], "filepath() (pncpy.file method)": [[2, "pncpy.File.filepath"]], "flush() (pncpy.file method)": [[2, "pncpy.File.flush"]], "get_att() (pncpy.file method)": [[2, "pncpy.File.get_att"]], "inq_buff_size() (pncpy.file method)": [[2, "pncpy.File.inq_buff_size"]], "inq_buff_usage() (pncpy.file method)": [[2, "pncpy.File.inq_buff_usage"]], "inq_get_size() (pncpy.file method)": [[2, "pncpy.File.inq_get_size"]], "inq_header_extent() (pncpy.file method)": [[2, "pncpy.File.inq_header_extent"]], "inq_header_size() (pncpy.file method)": [[2, "pncpy.File.inq_header_size"]], "inq_info() (pncpy.file method)": [[2, "pncpy.File.inq_info"]], "inq_nreqs() (pncpy.file method)": [[2, "pncpy.File.inq_nreqs"]], "inq_num_fix_vars() (pncpy.file method)": [[2, "pncpy.File.inq_num_fix_vars"]], "inq_num_rec_vars() (pncpy.file method)": [[2, "pncpy.File.inq_num_rec_vars"]], "inq_put_size() (pncpy.file method)": [[2, "pncpy.File.inq_put_size"]], "inq_recsize() (pncpy.file method)": [[2, "pncpy.File.inq_recsize"]], "inq_striping() (pncpy.file method)": [[2, "pncpy.File.inq_striping"]], "inq_unlimdim() (pncpy.file method)": [[2, "pncpy.File.inq_unlimdim"]], "inq_version() (pncpy.file method)": [[2, "pncpy.File.inq_version"]], "ncattrs() (pncpy.file method)": [[2, "pncpy.File.ncattrs"]], "put_att() (pncpy.file method)": [[2, "pncpy.File.put_att"]], "redef() (pncpy.file method)": [[2, "pncpy.File.redef"]], "rename_att() (pncpy.file method)": [[2, "pncpy.File.rename_att"]], "rename_dim() (pncpy.file method)": [[2, "pncpy.File.rename_dim"]], "rename_var() (pncpy.file method)": [[2, "pncpy.File.rename_var"]], "set_auto_chartostring() (pncpy.file method)": [[2, "pncpy.File.set_auto_chartostring"]], "set_fill() (pncpy.file method)": [[2, "pncpy.File.set_fill"]], "sync() (pncpy.file method)": [[2, "pncpy.File.sync"]], "variables": [[2, "variables"]], "wait() (pncpy.file method)": [[2, "pncpy.File.wait"]], "wait_all() (pncpy.file method)": [[2, "pncpy.File.wait_all"]], "chartostring() (in module pncpy)": [[3, "pncpy.chartostring"]], "inq_default_format() (in module pncpy)": [[3, "pncpy.inq_default_format"]], "inq_file_format() (in module pncpy)": [[3, "pncpy.inq_file_format"]], "inq_malloc_max_size() (in module pncpy)": [[3, "pncpy.inq_malloc_max_size"]], "inq_malloc_size() (in module pncpy)": [[3, "pncpy.inq_malloc_size"]], "set_default_format() (in module pncpy)": [[3, "pncpy.set_default_format"]], "strerrno() (in module pncpy)": [[3, "pncpy.strerrno"]], "strerror() (in module pncpy)": [[3, "pncpy.strerror"]], "stringtochar() (in module pncpy)": [[3, "pncpy.stringtochar"]], "variable (class in pncpy)": [[4, "pncpy.Variable"]], "__init__() (pncpy.variable method)": [[4, "pncpy.Variable.__init__"]], "bput_var() (pncpy.variable method)": [[4, "pncpy.Variable.bput_var"]], "chartostring": [[4, "chartostring"]], "datatype": [[4, "datatype"]], "def_fill() (pncpy.variable method)": [[4, "pncpy.Variable.def_fill"]], "del_att() (pncpy.variable method)": [[4, "pncpy.Variable.del_att"]], "dtype": [[4, "dtype"]], "file() (pncpy.variable method)": [[4, "pncpy.Variable.file"]], "fill_rec() (pncpy.variable method)": [[4, "pncpy.Variable.fill_rec"]], "get_att() (pncpy.variable method)": [[4, "pncpy.Variable.get_att"]], "get_dims() (pncpy.variable method)": [[4, "pncpy.Variable.get_dims"]], "get_var() (pncpy.variable method)": [[4, "pncpy.Variable.get_var"]], "get_var_all() (pncpy.variable method)": [[4, "pncpy.Variable.get_var_all"]], "iget_var() (pncpy.variable method)": [[4, "pncpy.Variable.iget_var"]], "inq_fill() (pncpy.variable method)": [[4, "pncpy.Variable.inq_fill"]], "inq_offset() (pncpy.variable method)": [[4, "pncpy.Variable.inq_offset"]], "iput_var() (pncpy.variable method)": [[4, "pncpy.Variable.iput_var"]], "mask": [[4, "mask"]], "ncattrs() (pncpy.variable method)": [[4, "pncpy.Variable.ncattrs"]], "ndim": [[4, "ndim"]], "put_att() (pncpy.variable method)": [[4, "pncpy.Variable.put_att"]], "put_var() (pncpy.variable method)": [[4, "pncpy.Variable.put_var"]], "put_var_all() (pncpy.variable method)": [[4, "pncpy.Variable.put_var_all"]], "rename_att() (pncpy.variable method)": [[4, "pncpy.Variable.rename_att"]], "scale": [[4, "scale"]], "set_auto_chartostring() (pncpy.variable method)": [[4, "pncpy.Variable.set_auto_chartostring"]], "set_auto_mask() (pncpy.variable method)": [[4, "pncpy.Variable.set_auto_mask"]], "set_auto_scale() (pncpy.variable method)": [[4, "pncpy.Variable.set_auto_scale"]], "shape": [[4, "shape"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/attribute_api", "api/dimension_api", "api/file_api", "api/function_api", "api/variable_api", "development/compatibility", "index", "installation/install", "introduction/overview", "tutorial/basic", "tutorial/datatypes", "tutorial/non_blocking", "tutorial/read_write"], "filenames": ["api/attribute_api.rst", "api/dimension_api.rst", "api/file_api.rst", "api/function_api.rst", "api/variable_api.rst", "development/compatibility.rst", "index.rst", "installation/install.rst", "introduction/overview.rst", "tutorial/basic.rst", "tutorial/datatypes.rst", "tutorial/non_blocking.rst", "tutorial/read_write.rst"], "titles": ["Attribute", "Dimension", "File", "Functions", "Variable", "Compatibility with C", "PnetCDF-Python Documentation", "Install from Source", "Overview", "Basics", "Datatype", "Non-blocking Reads and Writes", "Parallel Read and Write"], "terms": {"In": [0, 2, 4, 9], "librari": [0, 2, 4, 6, 8, 9], "netcdf": [0, 2, 3, 4, 6, 7, 8, 10, 11, 12], "can": [0, 2, 3, 4, 7, 9, 11, 12], "creat": [0, 1, 2, 3, 4, 6], "access": [0, 1, 2, 8, 9, 12], "manipul": [0, 8], "us": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12], "python": [0, 2, 4, 5, 8, 10, 11, 12], "dictionari": [0, 2, 9], "like": [0, 4, 9], "syntax": [0, 4, 6, 9], "A": [0, 2, 4, 9, 11], "interfac": [0, 1, 2, 4, 8, 10], "metadata": [0, 2, 4], "oper": [0, 2, 3, 4, 12], "i": [0, 1, 2, 3, 4, 7, 8, 9, 11, 12], "provid": [0, 1, 2, 4, 9, 11, 12], "both": 0, "file": [0, 1, 3, 4, 5, 6, 8, 11, 12], "class": [0, 1, 2, 4, 9], "global": [0, 2, 9], "variabl": [0, 1, 2, 5, 6, 10, 11, 12], "defin": [1, 2, 4, 9, 10, 11, 12], "shape": [1, 3, 4, 6, 9, 11, 12], "structur": [1, 4], "store": [1, 2, 4, 9, 11, 12], "coordin": 1, "data": [1, 2, 4, 8, 9, 10, 11, 12], "multidimension": [1, 4, 9, 12], "arrai": [1, 2, 3, 4, 9, 11, 12], "The": [1, 2, 3, 4, 5, 9, 10, 11, 12], "object": [1, 2, 4, 9], "which": [1, 2, 4, 11, 12], "also": [1, 2, 4, 9], "kei": [1, 9], "compon": [1, 4, 5], "an": [1, 2, 3, 4, 7, 9, 11, 12], "instanc": [1, 2, 3, 4, 9], "should": [1, 2, 4, 11], "def_dim": [1, 2, 6, 9], "method": [1, 2, 4, 6, 9, 11], "__init__": [1, 2, 4, 6], "directli": [1, 4, 9, 12], "pncpy": [1, 2, 3, 4, 7, 9, 11], "base": [1, 2, 4, 8, 9], "arg": 1, "kwarg": [1, 2, 4], "getfil": [1, 6], "self": [1, 2, 4], "return": [1, 2, 3, 4, 9, 11, 12], "thi": [1, 2, 3, 4, 8, 9, 11, 12], "member": [1, 2, 4], "type": [1, 2, 3, 4, 9, 10], "isunlimit": [1, 2, 6, 9], "true": [1, 2, 4], "unlimit": [1, 2, 4, 9], "fals": [1, 2, 4], "otherwis": [1, 2, 4], "bool": [1, 2, 4], "attribut": [1, 2, 4, 5, 6], "follow": [1, 2, 4, 5, 9, 10, 12], "ar": [1, 2, 4, 9, 11, 12], "read": [1, 2, 4, 6], "onli": [1, 2, 4, 11], "modifi": [1, 2, 4], "user": [1, 2, 3, 4, 9, 11], "name": [1, 2, 3, 4, 6, 9], "string": [1, 2, 3, 4, 9], "To": [1, 2, 5, 9, 11], "renam": [1, 2, 4], "rename_dim": [1, 2, 6], "size": [1, 2, 3, 4, 5, 6, 9, 11, 12], "current": [1, 2, 3, 4, 7, 9, 12], "call": [1, 2, 3, 4, 6, 9, 11], "len": [1, 2, 9], "high": [2, 8], "level": [2, 5, 9, 11], "repres": [2, 4, 12], "write": [2, 4, 6], "within": [2, 4, 9], "serv": [2, 4, 12], "root": [2, 9], "contain": [2, 3, 4, 5], "dimens": [2, 3, 4, 5, 6], "togeth": [2, 12], "thei": [2, 4, 9, 12], "describ": [2, 4], "mean": [2, 4], "relat": [2, 9], "among": 2, "field": 2, "filenam": [2, 9], "format": [2, 3, 4, 9, 10], "64bit_offset": 2, "mode": [2, 3, 4, 9, 12], "w": [2, 9], "comm": [2, 9], "none": [2, 3, 4, 9, 11], "info": [2, 9], "constructor": [2, 4, 9], "paramet": [2, 3, 4, 11, 12], "str": [2, 3, 4], "new": [2, 3, 4, 9, 10], "r": [2, 9], "open": [2, 4, 6, 12], "error": [2, 3, 4, 11], "doe": 2, "exist": [2, 3, 4, 9], "same": [2, 4, 9, 11], "delet": [2, 4, 11], "x": 2, "append": [2, 11], "underli": 2, "relev": [2, 4], "when": [2, 4, 9], "cdf": [2, 4, 9, 10], "2": [2, 4, 5, 9, 10, 12], "64bit_data": [2, 9], "5": [2, 4, 9, 10, 12], "default": [2, 3, 4, 9, 12], "1": [2, 3, 4, 5, 7, 9, 10, 12], "mpi4pi": [2, 4, 7, 9], "mpi": [2, 4, 6, 7], "option": [2, 3, 4, 7, 9, 11, 12], "commun": 2, "mpi_comm_world": 2, "mpi_info_nul": 2, "attach_buff": [2, 4, 6, 11], "bufsiz": 2, "allow": [2, 3, 8, 11], "pnetcdf": [2, 3, 4, 5, 8, 9, 11, 12], "alloc": [2, 3, 4], "intern": [2, 3, 4], "buffer": [2, 4, 6, 12], "accommod": [2, 4], "request": [2, 4, 6], "prerequisit": [2, 11], "non": [2, 6], "block": [2, 4, 6], "detach_buff": [2, 6, 11], "requir": [2, 4, 6, 8, 11, 12], "longer": [2, 4], "need": [2, 4, 9, 11], "int": [2, 3, 4, 10], "unit": [2, 9], "byte": [2, 3, 4, 10], "obtain": 2, "numpi": [2, 3, 4, 6, 7, 9, 10, 11], "ndarrai": [2, 3, 4], "nbyte": [2, 11], "begin_indep": [2, 6, 12], "leav": 2, "from": [2, 3, 4, 6, 11, 12], "collect": [2, 4, 11, 12], "enter": 2, "independ": [2, 3, 4, 11, 12], "cancel": [2, 6], "num": [2, 4, 11, 12], "statu": [2, 3, 12], "list": [2, 4, 5, 11, 12], "pend": [2, 11], "nonblock": [2, 4, 6], "made": 2, "iput_var": [2, 4, 6, 11], "iget_var": [2, 4, 5, 6, 11], "bput_var": [2, 4, 6, 11], "number": [2, 3, 4, 9, 10, 11], "It": [2, 3], "next": 2, "two": [2, 4, 9], "argument": [2, 4, 9, 11, 12], "altern": [2, 9, 11], "modul": [2, 9, 11], "constant": [2, 9, 10, 11], "nc_req_al": [2, 11], "flush": [2, 4, 6, 11], "all": [2, 3, 4, 7, 9, 10, 11, 12], "nc_get_req_al": [2, 11], "get": [2, 4], "nc_put_req_al": [2, 11], "put": [2, 4, 6, 9, 11], "integ": [2, 3, 4, 9, 10], "specifi": [2, 3, 4, 9, 11, 12], "id": [2, 4, 11], "were": 2, "earlier": 2, "hold": [2, 11], "code": [2, 3, 4, 7, 9], "status": [2, 11], "correspond": [2, 3, 4, 10], "valu": [2, 4, 9, 11, 12], "strerror": [2, 3, 6], "messag": [2, 3], "either": [2, 4, 9], "close": [2, 5, 6], "dimnam": 2, "given": [2, 4, 9], "must": [2, 4, 9], "posit": [2, 4], "stand": 2, "determin": 2, "maximum": [2, 3, 9], "function": [2, 4, 6, 9], "def_var": [2, 4, 6, 9], "varnam": [2, 4], "nc_dtype": [2, 4], "fill_valu": [2, 4], "datatyp": [2, 3, 4, 6, 9, 11], "support": [2, 4, 9, 10, 12], "nc_char": [2, 4, 10], "text": [2, 4, 10], "nc_byte": [2, 4, 10], "nc_short": [2, 4, 10], "sign": [2, 4, 10], "nc_int": [2, 4, 9, 10], "4": [2, 4, 9, 10], "nc_float": [2, 4, 10], "float": [2, 4, 10], "point": [2, 4, 9, 10], "nc_doubl": [2, 4, 10], "8": [2, 3, 4, 9, 10], "real": [2, 4, 10], "doubl": [2, 4, 10], "precis": [2, 4, 10], "nc_ubyt": [2, 4, 10], "unsign": [2, 4, 10], "nc_ushort": [2, 4, 10], "nc_uint": [2, 4, 10], "nc_int64": [2, 4, 10], "nc_uint64": [2, 4, 10], "tupl": [2, 4, 9, 12], "empti": [2, 4, 11, 12], "scalar": [2, 4], "therefor": [2, 4, 9], "ha": [2, 3, 4], "fill": [2, 4, 9, 11], "accept": [2, 4], "turn": [2, 4, 12], "off": [2, 4, 9], "ani": [2, 4, 9, 11, 12], "other": [2, 3, 4], "del_att": [2, 4, 6], "you": [2, 4, 7, 9], "one": [2, 3, 4, 11], "reserv": [2, 4, 11], "while": [2, 3, 4, 9], "detach": [2, 11], "previous": 2, "attach": [2, 11], "end_indep": [2, 6, 12], "enddef": [2, 6, 11, 12], "exit": [2, 12], "place": 2, "so": [2, 11], "written": [2, 4, 12], "filepath": [2, 6], "encod": [2, 3, 4], "system": [2, 3, 7], "path": [2, 7], "wa": 2, "dataset": [2, 9, 12], "decod": [2, 4], "sy": 2, "getfilesystemencod": 2, "cach": [2, 4, 7], "memori": [2, 3, 4, 11], "get_att": [2, 4, 5, 6], "utf": [2, 3, 4], "retriev": [2, 4, 9, 12], "charact": [2, 3, 4], "inq_buff_s": [2, 6], "inq_buff_usag": [2, 6], "usag": 2, "inq_get_s": [2, 6], "report": 2, "amount": 2, "actual": 2, "been": [2, 3], "sinc": 2, "inq_header_ext": [2, 6], "header": 2, "extent": 2, "space": [2, 11], "inq_header_s": [2, 6], "note": [2, 4, 11, 12], "inq_info": [2, 6], "hint": 2, "inq_nreq": [2, 6], "inq_num_fix_var": [2, 6], "fix": [2, 3, 4], "inq_num_rec_var": [2, 6], "record": [2, 4], "inq_put_s": [2, 6], "inq_recs": [2, 6], "sum": 2, "individu": 2, "each": [2, 3, 4, 9, 11], "inq_strip": [2, 6], "inq_unlimdim": [2, 6], "dim": 2, "inq_vers": [2, 6], "ncattr": [2, 4, 6, 9], "put_att": [2, 4, 6, 9], "set": [2, 3, 4, 9], "pair": [2, 4, 9], "especi": [2, 4], "redef": [2, 5, 6], "ad": [2, 9], "rename_att": [2, 4, 6], "oldnam": [2, 4], "newnam": [2, 4], "old": [2, 4], "If": [2, 3, 4, 7, 9, 11], "than": [2, 4], "origin": [2, 4], "subroutin": [2, 3], "consist": 2, "process": [2, 3, 9, 11, 12], "rename_var": [2, 6], "set_auto_chartostr": [2, 4, 6], "affect": 2, "after": [2, 11], "behaviour": 2, "set_fil": [2, 6], "fillmod": 2, "nc_fill": 2, "nc_nofil": 2, "chang": [2, 3, 4, 11], "far": 2, "time": [2, 4, 9], "api": [2, 5, 11], "word": 2, "overwrit": 2, "addit": [2, 4, 9], "sync": [2, 6], "disk": 2, "wait": [2, 4, 6, 11], "complet": [2, 4], "o": [2, 8, 9, 11, 12], "wait_al": [2, 4, 5, 6, 11], "map": [2, 4, 5, 11, 12], "file_format": [2, 6, 9], "possibl": 2, "includ": [2, 9], "classic": [2, 9], "cdf2": 2, "64bit": 2, "cdf5": 2, "netcdf4": [2, 9], "bp": 2, "err_cod": 3, "static": 3, "refer": [3, 4, 9, 11], "presum": 3, "previou": [3, 9], "some": 3, "might": 3, "have": [3, 4, 7, 9, 10], "strerrno": [3, 6], "nc": [3, 9, 10, 11], "For": [3, 4, 9, 11, 12], "ncmpi_strerrno": [3, 5], "nc_ebadid": 3, "chartostr": [3, 4, 6], "b": [3, 4], "convert": [3, 4], "less": 3, "un": [3, 4], "sn": 3, "where": [3, 4, 12], "n": [3, 4, 9, 12], "input": [3, 11, 12], "s1": [3, 4], "u1": [3, 10], "Will": 3, "length": [3, 4, 9, 12], "np": [3, 4, 9, 10, 11, 12], "string_": 3, "btye": 3, "stringtochar": [3, 6], "extra": 3, "treat": [3, 9], "raw": 3, "set_default_format": [3, 6], "new_format": 3, "futur": [3, 11], "ncmpi_creat": [3, 5], "without": [3, 11, 12], "nc_format_class": 3, "nc_format_cdf2": 3, "nc_format_64bit": 3, "nc_format_cdf5": 3, "nc_format_64bit_data": 3, "expect": [3, 4], "intend": 3, "later": [3, 7, 9, 11], "inq_default_format": [3, 6], "inq_file_format": [3, 6], "file_nam": 3, "inq_malloc_max_s": [3, 6], "rtype": [3, 4], "inq_malloc_s": [3, 6], "core": 4, "organ": 4, "along": 4, "more": [4, 9, 11], "associ": 4, "form": [4, 9], "particularli": [4, 12], "flexibl": 4, "done": 4, "through": 4, "explicit": 4, "style": 4, "index": [4, 9, 11, 12], "analog": 4, "see": [4, 9, 11, 12], "detail": [4, 9], "_fillvalu": 4, "befor": [4, 9], "replac": 4, "start": [4, 9, 11, 12], "count": [4, 9, 11, 12], "stride": [4, 11, 12], "imap": [4, 11, 12], "bufcount": 4, "buftyp": 4, "post": [4, 11], "parallel": [4, 6, 7, 8], "behavior": [4, 11, 12], "vari": [4, 11, 12], "depend": [4, 9, 11, 12], "pattern": [4, 9, 11, 12], "select": [4, 11, 12], "execut": [4, 11], "until": [4, 11], "caller": 4, "prepar": 4, "unlik": [4, 11], "iput": 4, "onc": [4, 11], "free": [4, 11], "content": [4, 11], "prior": 4, "make": [4, 7, 8, 9], "sure": [4, 9], "entir": [4, 11, 12], "simplest": 4, "whenev": 4, "take": [4, 9, 12], "care": 4, "try": 4, "yet": 4, "henc": 4, "0": [4, 7, 9, 11, 12], "noth": 4, "similarli": [4, 9], "assum": 4, "mai": [4, 9], "suppli": 4, "result": [4, 11], "segment": 4, "violat": 4, "singl": [4, 11, 12], "element": [4, 12], "exampl": [4, 9, 11, 12], "would": 4, "10": [4, 9, 11, 12], "dimension": 4, "skip": 4, "subarrai": [4, 11, 12], "part": [4, 9], "give": [4, 9, 10], "corner": [4, 9, 12], "vector": [4, 9, 12], "edg": [4, 9, 12], "section": [4, 9, 12], "c": [4, 6, 10], "d": 4, "subsampl": [4, 11, 12], "e": [4, 9, 11, 12], "f": [4, 9, 11, 12], "g": [4, 9, 11, 12], "h": 4, "between": [4, 11], "3": [4, 5, 7, 9, 12], "butter": 4, "distanc": 4, "diagram": 4, "below": [4, 11, 12], "illustr": [4, 12], "6": [4, 9], "numer": 4, "int32": [4, 9, 10], "match": [4, 12], "": [4, 5, 8, 9, 11, 12], "long": [4, 10, 12], "multi": 4, "top": 4, "left": 4, "varaibl": 4, "first": [4, 5, 9, 11], "order": [4, 11], "2d": 4, "ndim": [4, 6], "sampl": 4, "interv": 4, "equal": 4, "locat": 4, "adjac": 4, "indic": [4, 11, 12], "deriv": 4, "layout": 4, "reqeust": [4, 11], "success": 4, "def_fil": [4, 6], "no_fil": 4, "custom": 4, "purpos": [4, 9], "ignor": 4, "fill_rec": [4, 6], "rec_no": 4, "predefin": 4, "get_dim": [4, 6], "get_var": [4, 5, 6, 9, 11], "buff": [4, 9, 11, 12], "don": [4, 7], "t": [4, 7], "how": [4, 9], "mani": 4, "caus": 4, "get_var_al": [4, 5, 6, 9, 12], "retain": 4, "handler": [4, 9], "transact": 4, "inq_fil": [4, 6], "te": 4, "els": 4, "inq_offset": [4, 6], "offset": [4, 9], "alter": [4, 11], "unexpect": [4, 11], "put_var": [4, 6, 11, 12], "put_var_al": [4, 6, 9, 12], "automat": 4, "convers": 4, "_encod": 4, "dtype": [4, 6, 9, 11, 12], "unicod": 4, "rightmost": 4, "back": 4, "indiviu": 4, "perform": [4, 8, 9, 11, 12], "set_auto_mask": [4, 6], "mask": [4, 6], "exactli": 4, "missing_valu": 4, "instead": 4, "valid_min": 4, "valid_max": 4, "outsid": 4, "rang": [4, 11], "regular": 4, "set_auto_scal": [4, 6], "scale": [4, 6, 9], "pack": 4, "unpack": 4, "scale_factor": 4, "add_offset": 4, "_unsign": 4, "present": 4, "miss": 4, "zero": [4, 9, 12], "view": 4, "appli": 4, "reset": 4, "set_auto_maskandscal": 4, "tabl": [5, 10], "implement": 5, "prioriti": 5, "ncmpi_strerror": 5, "ncmpi_open": 5, "ncmpi_enddef": 5, "ncmpi_sync": 5, "ncmpi_begin": 5, "end_indep_data": 5, "ncmpi_inq_path": 5, "ncmpi_inq": 5, "ncmpi_wait": 5, "ncmpi_wait_al": 5, "ncmpi_inq_libv": 5, "ncmpi_set_fil": 5, "ncmpi_set_default_format": 5, "ncmpi_inq_put": 5, "get_siz": 5, "ncmpi_delet": 5, "ncmpi_sync_numrec": 5, "ncmpi_inq_file_info": 5, "ncmpi_inq_files_open": 5, "ncmpi_def_dim": 5, "ncmpi_inq_ndim": 5, "ncmpi_inq_dimlen": 5, "ncmpi_inq_dim": 5, "ncmpi_inq_dimnam": 5, "ncmpi_put": 5, "get_att_text": 5, "ncmpi_inq_att": 5, "ncmpi_inq_natt": 5, "ncmpi_inq_attnam": 5, "ncmpi_rename_att": 5, "ncmpi_del_att": 5, "ncmpi_def_var": 5, "ncmpi_def_var_fil": 5, "ncmpi_inq_varndim": 5, "ncmpi_inq_varnam": 5, "get_vara": [5, 12], "get_var1": 5, "get_varn": 5, "get_varm": 5, "get_vara_al": 5, "get_vars_al": 5, "get_var1_al": 5, "get_varn_al": 5, "get_varm_al": 5, "ncmpi_iput": 5, "iget_vara": 5, "iget_var1": 5, "iget_varm": 5, "iget_varn": 5, "ncmpi_bput": 5, "bget_var": 5, "bget_var1": 5, "bget_vara": 5, "bget_varm": 5, "bget_varn": 5, "ncmpi_inq_nreq": 5, "ncmpi_inq_buffer_usag": 5, "ncmpi_cancel": 5, "ncmpi_fill_var_rec": 5, "second": 5, "third": 5, "overview": 6, "sourc": 6, "softwar": 6, "build": 6, "basic": 6, "run": 6, "script": 6, "slice": [6, 9], "commit": 6, "9": [7, 9, 12], "cython": 7, "setuptool": 7, "download": 7, "v1": 7, "12": 7, "wget": 7, "http": 7, "github": 7, "io": 7, "releas": 7, "tar": 7, "gz": 7, "xf": 7, "cd": 7, "configur": 7, "prefix": 7, "dir": 7, "enabl": [7, 11], "share": 7, "disabl": 7, "fortran": 7, "cxx": 7, "cc": 7, "mpicc": 7, "our": [7, 9], "pypi": 7, "wheel": 7, "cover": 7, "alreadi": 7, "work": 7, "compil": 7, "wrapper": 7, "your": 7, "search": 7, "pip": 7, "pnetcdf_dir": 7, "activ": 7, "virtual": 7, "environ": 7, "m": 7, "venv": 7, "env": 7, "bin": 7, "upgrad": 7, "git": 7, "clone": 7, "com": 7, "jonathanlyj": 7, "setup": 7, "py": [7, 9, 11, 12], "integr": 8, "easi": 8, "analysi": 8, "visual": 8, "rich": 8, "ecosystem": 8, "scientif": 8, "comput": 8, "valuabl": 8, "tool": 8, "applic": 8, "under": [9, 10, 11, 12], "construct": [9, 10, 11, 12], "program": [9, 11, 12], "command": 9, "mpiexec": 9, "practic": [9, 11], "look": 9, "processor": 9, "simpli": 9, "specif": [9, 12], "keyword": 9, "examin": 9, "accomplish": 9, "via": 9, "here": [9, 11, 12], "import": 9, "comm_world": 9, "testfil": 9, "equival": [9, 10, 12], "rootgrp": 9, "test": 9, "netcdf3_class": 9, "full": [9, 11, 12], "craete_open": 9, "establish": 9, "expand": 9, "omit": 9, "assign": 9, "lat_nam": 9, "lat": 9, "lat_len": 9, "50": [9, 12], "time_nam": 9, "tmp": 9, "lat_dim": 9, "time_dim": 9, "netcdf3_64bit_data": 9, "createdimens": 9, "print": [9, 12], "_dimens": 9, "inform": 9, "check": 9, "tst_dim": 9, "similar": [9, 11], "util": 9, "mandatori": [9, 11, 12], "found": 9, "var": [9, 12], "createvari": 9, "i4": [9, 10, 11, 12], "wai": [9, 12], "_variabl": 9, "up": 9, "properli": 9, "usual": 9, "whole": [9, 11], "titl": 9, "histori": 9, "properti": 9, "special": 9, "minimum": 9, "valid": 9, "factor": 9, "reenter": 9, "sequenc": 9, "floatatt": 9, "math": 9, "pi": 9, "option1": 9, "intatt": 9, "option2": 9, "seqatt": 9, "arang": 9, "int_att": 9, "group": 9, "setncattr": 9, "And": 9, "__dict__": 9, "141592653589793": 9, "7": 9, "global_attribut": 9, "now": 9, "do": 9, "firstli": 9, "Then": 9, "just": 9, "stop": 9, "step": [9, 11], "triplet": 9, "leverag": 9, "accord": 9, "specfic": 9, "20": 9, "symmetr": 9, "differ": 9, "retreiv": 9, "topleft": [9, 12], "behav": 9, "learn": 9, "about": 9, "page": 9, "extern": 10, "direct": 10, "quival": 10, "bit": 10, "intent": 10, "char": 10, "int8": 10, "i1": 10, "short": 10, "16": 10, "int16": 10, "i2": 10, "32": 10, "float32": 10, "f4": 10, "64": 10, "float64": 10, "f8": 10, "uint8": 10, "uint16": 10, "u2": 10, "uint32": 10, "u4": 10, "int64": 10, "i8": 10, "uint64": 10, "u8": 10, "multipl": [11, 12], "them": 11, "altogeth": 11, "achiev": 11, "better": 11, "common": 11, "shown": 11, "pass": 11, "req_id": 11, "write_buff": 11, "randint": 11, "xdim": 11, "ydim": 11, "zdim": 11, "astyp": 11, "num_req": 11, "v": 11, "datam": 11, "track": 11, "non_blocking_writ": 11, "again": 11, "initi": 11, "v_data": 11, "flexible_api": 11, "eventu": 11, "wise": 11, "debug": 11, "suffix": [11, 12], "_all": [11, 12], "contrast": [11, 12], "indeped": [11, 12], "req_err": 11, "One": 11, "limit": 11, "abov": 11, "allevi": 11, "ident": 11, "howev": 11, "reus": 11, "posts": 11, "As": 11, "tell": 11, "reqest": 11, "estim": 11, "buffsiz": 11, "rememb": 11, "requet": 11, "re": 12, "translat": 12, "fast": 12, "effici": 12, "recogn": 12, "NOT": 12, "mult": 12, "respect": 12, "diagramm": 12, "By": 12, "25": 12, "total": 12, "put_vara": 12, "collective_writ": 12}, "objects": {"": [[4, 0, 1, "", "chartostring"], [4, 0, 1, "", "datatype"], [4, 0, 1, "", "dimensions"], [4, 0, 1, "", "dtype"], [2, 0, 1, "", "file_format"], [4, 0, 1, "", "mask"], [4, 0, 1, "", "name"], [4, 0, 1, "", "ndim"], [4, 0, 1, "", "scale"], [4, 0, 1, "", "shape"], [4, 0, 1, "", "size"], [2, 0, 1, "", "variables"]], "pncpy": [[1, 1, 1, "", "Dimension"], [2, 1, 1, "", "File"], [4, 1, 1, "", "Variable"], [3, 3, 1, "", "chartostring"], [3, 3, 1, "", "inq_default_format"], [3, 3, 1, "", "inq_file_format"], [3, 3, 1, "", "inq_malloc_max_size"], [3, 3, 1, "", "inq_malloc_size"], [3, 3, 1, "", "set_default_format"], [3, 3, 1, "", "strerrno"], [3, 3, 1, "", "strerror"], [3, 3, 1, "", "stringtochar"]], "pncpy.Dimension": [[1, 2, 1, "", "__init__"], [1, 2, 1, "", "getfile"], [1, 2, 1, "", "isunlimited"]], "pncpy.File": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "attach_buff"], [2, 2, 1, "", "begin_indep"], [2, 2, 1, "", "cancel"], [2, 2, 1, "", "close"], [2, 2, 1, "", "def_dim"], [2, 2, 1, "", "def_var"], [2, 2, 1, "", "del_att"], [2, 2, 1, "", "detach_buff"], [2, 2, 1, "", "end_indep"], [2, 2, 1, "", "enddef"], [2, 2, 1, "", "filepath"], [2, 2, 1, "", "flush"], [2, 2, 1, "", "get_att"], [2, 2, 1, "", "inq_buff_size"], [2, 2, 1, "", "inq_buff_usage"], [2, 2, 1, "", "inq_get_size"], [2, 2, 1, "", "inq_header_extent"], [2, 2, 1, "", "inq_header_size"], [2, 2, 1, "", "inq_info"], [2, 2, 1, "", "inq_nreqs"], [2, 2, 1, "", "inq_num_fix_vars"], [2, 2, 1, "", "inq_num_rec_vars"], [2, 2, 1, "", "inq_put_size"], [2, 2, 1, "", "inq_recsize"], [2, 2, 1, "", "inq_striping"], [2, 2, 1, "", "inq_unlimdim"], [2, 2, 1, "", "inq_version"], [2, 2, 1, "", "ncattrs"], [2, 2, 1, "", "put_att"], [2, 2, 1, "", "redef"], [2, 2, 1, "", "rename_att"], [2, 2, 1, "", "rename_dim"], [2, 2, 1, "", "rename_var"], [2, 2, 1, "", "set_auto_chartostring"], [2, 2, 1, "", "set_fill"], [2, 2, 1, "", "sync"], [2, 2, 1, "", "wait"], [2, 2, 1, "", "wait_all"]], "pncpy.Variable": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "bput_var"], [4, 2, 1, "", "def_fill"], [4, 2, 1, "", "del_att"], [4, 2, 1, "", "file"], [4, 2, 1, "", "fill_rec"], [4, 2, 1, "", "get_att"], [4, 2, 1, "", "get_dims"], [4, 2, 1, "", "get_var"], [4, 2, 1, "", "get_var_all"], [4, 2, 1, "", "iget_var"], [4, 2, 1, "", "inq_fill"], [4, 2, 1, "", "inq_offset"], [4, 2, 1, "", "iput_var"], [4, 2, 1, "", "ncattrs"], [4, 2, 1, "", "put_att"], [4, 2, 1, "", "put_var"], [4, 2, 1, "", "put_var_all"], [4, 2, 1, "", "rename_att"], [4, 2, 1, "", "set_auto_chartostring"], [4, 2, 1, "", "set_auto_mask"], [4, 2, 1, "", "set_auto_scale"]]}, "objtypes": {"0": "py:attribute", "1": "py:class", "2": "py:method", "3": "py:function"}, "objnames": {"0": ["py", "attribute", "Python attribute"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "titleterms": {"attribut": [0, 9], "dimens": [1, 9], "file": [2, 9], "function": 3, "variabl": [4, 9], "compat": 5, "c": [5, 7], "pnetcdf": [6, 7], "python": [6, 7, 9], "document": 6, "introduct": 6, "instal": [6, 7], "tutori": 6, "api": 6, "from": [7, 9], "sourc": 7, "softwar": 7, "requir": 7, "build": 7, "librari": 7, "overview": 8, "basic": 9, "run": 9, "script": 9, "mpi": 9, "creat": 9, "open": 9, "close": 9, "netcdf": 9, "write": [9, 11, 12], "read": [9, 11, 12], "datatyp": 10, "non": 11, "block": 11, "nonblock": 11, "commit": 11, "request": 11, "buffer": 11, "parallel": 12, "numpi": 12, "slice": 12, "syntax": 12, "method": 12, "call": 12, "put": 12, "get_var": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Attribute": [[0, "attribute"]], "Dimension": [[1, "dimension"]], "File": [[2, "file"]], "Functions": [[3, "functions"]], "Variable": [[4, "variable"]], "Compatibility with C": [[5, "compatibility-with-c"]], "PnetCDF-Python Documentation": [[6, "pnetcdf-python-documentation"]], "Introduction": [[6, null]], "Installation": [[6, null], [7, "installation"]], "Tutorial": [[6, null]], "API Documentation": [[6, null]], "Install from Source": [[7, "install-from-source"]], "Software Requirements": [[7, "software-requirements"]], "Building PnetCDF C library": [[7, "building-pnetcdf-c-library"]], "Building PnetCDF-python from source": [[7, "building-pnetcdf-python-from-source"]], "Overview": [[8, "overview"]], "Basics": [[9, "basics"]], "Running Python scripts with MPI": [[9, "running-python-scripts-with-mpi"]], "Creating/Opening/Closing a netCDF file": [[9, "creating-opening-closing-a-netcdf-file"]], "Dimensions": [[9, "dimensions"]], "Variables": [[9, "variables"]], "Attributes": [[9, "attributes"]], "Writing to variable": [[9, "writing-to-variable"]], "Reading from variable": [[9, "reading-from-variable"]], "Datatype": [[10, "datatype"]], "Non-blocking Reads and Writes": [[11, "non-blocking-reads-and-writes"]], "Nonblocking Write": [[11, "nonblocking-write"]], "Nonblocking Read": [[11, "nonblocking-read"]], "Commit Read/Write Requests": [[11, "commit-read-write-requests"]], "Buffered Non-blocking Write": [[11, "buffered-non-blocking-write"]], "Parallel Read and Write": [[12, "parallel-read-and-write"]], "NumPy Slicing Syntax": [[12, "numpy-slicing-syntax"]], "Method Call of put/get_var()": [[12, "method-call-of-put-get-var"]]}, "indexentries": {"dimension (class in pncpy)": [[1, "pncpy.Dimension"]], "__init__() (pncpy.dimension method)": [[1, "pncpy.Dimension.__init__"]], "getfile() (pncpy.dimension method)": [[1, "pncpy.Dimension.getfile"]], "isunlimited() (pncpy.dimension method)": [[1, "pncpy.Dimension.isunlimited"]], "name": [[1, "name"], [4, "name"]], "size": [[1, "size"], [4, "size"]], "file (class in pncpy)": [[2, "pncpy.File"]], "__init__() (pncpy.file method)": [[2, "pncpy.File.__init__"]], "attach_buff() (pncpy.file method)": [[2, "pncpy.File.attach_buff"]], "begin_indep() (pncpy.file method)": [[2, "pncpy.File.begin_indep"]], "cancel() (pncpy.file method)": [[2, "pncpy.File.cancel"]], "close() (pncpy.file method)": [[2, "pncpy.File.close"]], "def_dim() (pncpy.file method)": [[2, "pncpy.File.def_dim"]], "def_var() (pncpy.file method)": [[2, "pncpy.File.def_var"]], "del_att() (pncpy.file method)": [[2, "pncpy.File.del_att"]], "detach_buff() (pncpy.file method)": [[2, "pncpy.File.detach_buff"]], "dimensions": [[2, "dimensions"], [4, "dimensions"]], "end_indep() (pncpy.file method)": [[2, "pncpy.File.end_indep"]], "enddef() (pncpy.file method)": [[2, "pncpy.File.enddef"]], "file_format": [[2, "file_format"]], "filepath() (pncpy.file method)": [[2, "pncpy.File.filepath"]], "flush() (pncpy.file method)": [[2, "pncpy.File.flush"]], "get_att() (pncpy.file method)": [[2, "pncpy.File.get_att"]], "inq_buff_size() (pncpy.file method)": [[2, "pncpy.File.inq_buff_size"]], "inq_buff_usage() (pncpy.file method)": [[2, "pncpy.File.inq_buff_usage"]], "inq_get_size() (pncpy.file method)": [[2, "pncpy.File.inq_get_size"]], "inq_header_extent() (pncpy.file method)": [[2, "pncpy.File.inq_header_extent"]], "inq_header_size() (pncpy.file method)": [[2, "pncpy.File.inq_header_size"]], "inq_info() (pncpy.file method)": [[2, "pncpy.File.inq_info"]], "inq_nreqs() (pncpy.file method)": [[2, "pncpy.File.inq_nreqs"]], "inq_num_fix_vars() (pncpy.file method)": [[2, "pncpy.File.inq_num_fix_vars"]], "inq_num_rec_vars() (pncpy.file method)": [[2, "pncpy.File.inq_num_rec_vars"]], "inq_put_size() (pncpy.file method)": [[2, "pncpy.File.inq_put_size"]], "inq_recsize() (pncpy.file method)": [[2, "pncpy.File.inq_recsize"]], "inq_striping() (pncpy.file method)": [[2, "pncpy.File.inq_striping"]], "inq_unlimdim() (pncpy.file method)": [[2, "pncpy.File.inq_unlimdim"]], "inq_version() (pncpy.file method)": [[2, "pncpy.File.inq_version"]], "ncattrs() (pncpy.file method)": [[2, "pncpy.File.ncattrs"]], "put_att() (pncpy.file method)": [[2, "pncpy.File.put_att"]], "redef() (pncpy.file method)": [[2, "pncpy.File.redef"]], "rename_att() (pncpy.file method)": [[2, "pncpy.File.rename_att"]], "rename_dim() (pncpy.file method)": [[2, "pncpy.File.rename_dim"]], "rename_var() (pncpy.file method)": [[2, "pncpy.File.rename_var"]], "set_auto_chartostring() (pncpy.file method)": [[2, "pncpy.File.set_auto_chartostring"]], "set_fill() (pncpy.file method)": [[2, "pncpy.File.set_fill"]], "sync() (pncpy.file method)": [[2, "pncpy.File.sync"]], "variables": [[2, "variables"]], "wait() (pncpy.file method)": [[2, "pncpy.File.wait"]], "wait_all() (pncpy.file method)": [[2, "pncpy.File.wait_all"]], "chartostring() (in module pncpy)": [[3, "pncpy.chartostring"]], "inq_default_format() (in module pncpy)": [[3, "pncpy.inq_default_format"]], "inq_file_format() (in module pncpy)": [[3, "pncpy.inq_file_format"]], "inq_malloc_max_size() (in module pncpy)": [[3, "pncpy.inq_malloc_max_size"]], "inq_malloc_size() (in module pncpy)": [[3, "pncpy.inq_malloc_size"]], "set_default_format() (in module pncpy)": [[3, "pncpy.set_default_format"]], "strerrno() (in module pncpy)": [[3, "pncpy.strerrno"]], "strerror() (in module pncpy)": [[3, "pncpy.strerror"]], "stringtochar() (in module pncpy)": [[3, "pncpy.stringtochar"]], "variable (class in pncpy)": [[4, "pncpy.Variable"]], "__init__() (pncpy.variable method)": [[4, "pncpy.Variable.__init__"]], "bput_var() (pncpy.variable method)": [[4, "pncpy.Variable.bput_var"]], "chartostring": [[4, "chartostring"]], "datatype": [[4, "datatype"]], "def_fill() (pncpy.variable method)": [[4, "pncpy.Variable.def_fill"]], "del_att() (pncpy.variable method)": [[4, "pncpy.Variable.del_att"]], "dtype": [[4, "dtype"]], "file() (pncpy.variable method)": [[4, "pncpy.Variable.file"]], "fill_rec() (pncpy.variable method)": [[4, "pncpy.Variable.fill_rec"]], "get_att() (pncpy.variable method)": [[4, "pncpy.Variable.get_att"]], "get_dims() (pncpy.variable method)": [[4, "pncpy.Variable.get_dims"]], "get_var() (pncpy.variable method)": [[4, "pncpy.Variable.get_var"]], "get_var_all() (pncpy.variable method)": [[4, "pncpy.Variable.get_var_all"]], "iget_var() (pncpy.variable method)": [[4, "pncpy.Variable.iget_var"]], "inq_fill() (pncpy.variable method)": [[4, "pncpy.Variable.inq_fill"]], "inq_offset() (pncpy.variable method)": [[4, "pncpy.Variable.inq_offset"]], "iput_var() (pncpy.variable method)": [[4, "pncpy.Variable.iput_var"]], "mask": [[4, "mask"]], "ncattrs() (pncpy.variable method)": [[4, "pncpy.Variable.ncattrs"]], "ndim": [[4, "ndim"]], "put_att() (pncpy.variable method)": [[4, "pncpy.Variable.put_att"]], "put_var() (pncpy.variable method)": [[4, "pncpy.Variable.put_var"]], "put_var_all() (pncpy.variable method)": [[4, "pncpy.Variable.put_var_all"]], "rename_att() (pncpy.variable method)": [[4, "pncpy.Variable.rename_att"]], "scale": [[4, "scale"]], "set_auto_chartostring() (pncpy.variable method)": [[4, "pncpy.Variable.set_auto_chartostring"]], "set_auto_mask() (pncpy.variable method)": [[4, "pncpy.Variable.set_auto_mask"]], "set_auto_scale() (pncpy.variable method)": [[4, "pncpy.Variable.set_auto_scale"]], "shape": [[4, "shape"]]}}) \ No newline at end of file diff --git a/docs/source/installation/install.rst b/docs/source/installation/install.rst index 169e261..37bb7d6 100644 --- a/docs/source/installation/install.rst +++ b/docs/source/installation/install.rst @@ -22,12 +22,22 @@ Building PnetCDF C library $ cd pnetcdf-1.12.3 # configure - $ ./configure --prefix=/path/to/install-dir --enable-shared CC=mpicc + $ ./configure --prefix=/path/to/install-dir --enable-shared --disable-fortran --disable-cxx CC=mpicc # build and install $ make $ make install +Installation +=================================== + +Currently our PyPI wheels don't cover all systems. If you already have a working MPI with the mpicc compiler wrapper is on your search path and pnetcdf-C installation, you can use pip: + +.. code-block:: bash + + $ CC=mpicc PNETCDF_DIR=/path/to/pnetcdf/dir/ pip install pncpy==0.0.3 + + Building PnetCDF-python from source =================================== @@ -35,7 +45,7 @@ Building PnetCDF-python from source # activate an virtual environment (optional) # use Python 3.9 or later - $ python3 -m venv env + $ python -m venv env $ source env/bin/activate $ pip install --upgrade pip @@ -48,7 +58,7 @@ Building PnetCDF-python from source $ cd pnetcdf-python # install PnetCDF-python - env CC=mpicc python3 setup.py build - env CC=mpicc python3 setup.py install + CC=mpicc python setup.py build + CC=mpicc python setup.py install