§
    fŠtjeL  ã                   ó°  — d Z ddlZddlmZmZ ddlZddlZddlZddl	m
Z
 ddlmZ ddlmZ ddlZddlmZmZmZmZmZ ddlZddlmZ dd	lmZ dd
lmZ  e ee¦  «        d¦  «        ZdZdZ ej!        j"        Z#ed„ ¦   «         Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5d „ Z6d!„ Z7d"„ Z8d#„ Z9d$„ Z:d%„ Z;d&„ Z<d'„ Z=d(„ Z>d)„ Z?dS )*z Tests for netcdf é    N)ÚjoinÚdirname)ÚBytesIO)Úglob)Úcontextmanager)Úassert_Úassert_allcloseÚassert_equalÚbreak_cyclesÚIS_PYPY)Úraises)Únetcdf_file)Ú
in_tempdirÚdataé   Úbc               /   ó@  K  — t          | i |¤Ž}d|_        |                     dt          ¦  «         |                     dt
          d¦  «        }t          j        t          ¦  «        |d d …<   d|_        | 	                    ¦   «          |V — | 
                    ¦   «          d S )NúCreated for a testÚtime©r   zdays since 2008-01-01)r   ÚhistoryÚcreateDimensionÚN_EG_ELSÚcreateVariableÚ
VARTYPE_EGÚnpÚarangeÚunitsÚflushÚclose)ÚargsÚkwargsÚfr   s       úX/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/io/tests/test_netcdf.pyÚmake_simpler%      s‘   è è € å�TÐ$˜VÐ$Ð$€AØ$€A„IØ×Ò�f�hÑ'Ô'Ð'Ø×Ò˜F¥J°	Ñ:Ô:€DÝŒi�Ñ!Ô!€Dˆˆˆ�GØ(€D„JØ‡G‚G�I„I€IØ
€G€G€GØ‡G‚G�I„I€I€I€Ió    c                 óæ   — t          | j        d¦  «         | j        d         }t          |j        d¦  «         t          |j        t
          f¦  «         t          |d         t
          dz
  ¦  «         dS )zExample fileobj tests ó   Created for a testr   s   days since 2008-01-01éÿÿÿÿé   N)r
   r   Ú	variablesr   Úshaper   )Ú	ncfileobjr   s     r$   Úcheck_simpler.   *   sh   € å�Ô"Ð$9Ñ:Ô:Ð:ØÔ˜vÔ&€DÝ�”Ð5Ñ6Ô6Ð6Ý�”�h˜[Ñ)Ô)Ð)Ý��b”�8 A™:Ñ&Ô&Ð&Ð&Ð&r&   c                 ód   — t           j                             | ¦  «        }t          ||¦  «         dS )a°  
    Asserts that the mask of arr is effectively the same as expected_mask.

    In contrast to numpy.ma.testutils.assert_mask_equal, this function allows
    testing the 'mask' of a standard numpy array (the mask in this case is treated
    as all False).

    Parameters
    ----------
    arr : ndarray or MaskedArray
        Array to test.
    expected_mask : array_like of booleans
        A list giving the expected mask.
    N)r   ÚmaÚgetmaskarrayr
   )ÚarrÚexpected_maskÚmasks      r$   Úassert_mask_matchesr5   2   s/   € õ  Œ5×Ò˜cÑ"Ô"€DÝ��}Ñ%Ô%Ð%Ð%Ð%r&   c                  ó0	  — t          j        ¦   «         } 	 t          j        ¦   «         }t          j        |¦  «         t          dd¦  «        5 }	 d d d ¦  «         n# 1 swxY w Y   t          dd¦  «        5 }t          |¦  «         d|j        d<   d d d ¦  «         n# 1 swxY w Y   t          d¦  «        5 }t          |j
        t           ¦  «         t          |¦  «         t          |j        d         d¦  «         d d d ¦  «         n# 1 swxY w Y   t          dd¦  «        5 }t          |j
         ¦  «         t          |¦  «         t          |j        d         d¦  «         d d d ¦  «         n# 1 swxY w Y   t          dd¬¦  «        5 }t          |j
         ¦  «         t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          dd¦  «        5 }t          |¦  «        5 }t          |j
         ¦  «         t          |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         5  t          rt          j        d	d
t"          ¦  «         t          dd¦  «        5 }t          |d¬¦  «        5 }t          |j
        ¦  «         t          |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          dd¦  «        5 }t          |d¦  «        5 }t          |j
         ¦  «         t          |¦  «         |                     dd¦  «         |                     ddd¦  «        }d|d d …<   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          d¦  «        5 }t          |¦  «         t          |j        d         d d …         d¦  «         d d d ¦  «         n# 1 swxY w Y   t          rt+          ¦   «          t+          ¦   «          t          j        | ¦  «         t-          j        |¦  «         d S # t          rt+          ¦   «          t+          ¦   «          t          j        | ¦  «         t-          j        |¦  «         w xY w)Nz	simple.ncÚwÚar*   Ú	appendRanF©ÚmmapÚrbÚignorez2Cannot close a netcdf_file opened with mmap=True.*Tzr+bÚapp_dimÚapp_varÚi)r>   é*   )ÚosÚgetcwdÚtempfileÚmkdtempÚchdirr%   r   r.   Ú_attributesr
   Úuse_mmapr   r   ÚopenÚwarningsÚcatch_warningsÚfilterwarningsÚRuntimeWarningr   r   r+   r   ÚshutilÚrmtree)ÚcwdÚtmpdirr#   ÚfobjÚvars        r$   Útest_read_write_filesrT   F   sC  € å
Œ)‰+Œ+€CðKÝÔ!Ñ#Ô#ˆÝ
Œ�ÑÔÐÝ˜ cÑ*Ô*ð 	¨aØð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ˜ cÑ*Ô*ð 	+¨aÝ˜‰OŒOˆOà)*ˆAŒM˜+Ñ&ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+õ ˜Ñ%Ô%ð 	8¨å˜œ­ [Ñ1Ô1Ð1Ý˜‰OŒOˆOÝ˜œ {Ô3°QÑ7Ô7Ð7ð		8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8õ ˜ cÑ*Ô*ð 	8¨aÝ˜œ
�NÑ#Ô#Ð#Ý˜‰OŒOˆOÝ˜œ {Ô3°QÑ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8õ ˜¨5Ð1Ñ1Ô1ð 	°Qå˜œ
�NÑ#Ô#Ð#Ý˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �+˜tÑ$Ô$ð 	 ¨Ý˜TÑ"Ô"ð   aå˜AœJ˜Ñ'Ô'Ð'Ý˜Q‘”�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ Ô$Ñ&Ô&ð 
	$ð 
	$Ýð ÝÔ'ØØHÝ"ñô ð õ
 �k 4Ñ(Ô(ð $¨DÝ  ¨DÐ1Ñ1Ô1ð $°QÝ˜AœJÑ'Ô'Ð'Ý  ‘O”O�Oð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð
	$ð 
	$ð 
	$ñ 
	$ô 
	$ð 
	$ð 
	$ð 
	$ð 
	$ð 
	$ð 
	$øøøð 
	$ð 
	$ð 
	$ð 
	$õ �+˜uÑ%Ô%ð 	¨Ý˜T 3Ñ'Ô'ð ¨1Ý˜AœJ˜Ñ'Ô'Ð'Ý˜Q‘”�Ø×!Ò! )¨QÑ/Ô/Ð/Ø×&Ò& y°#°|ÑDÔD�Ø��A�A�A‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ˜Ñ%Ô%ð 	8¨Ý˜‰OŒOˆOÝ˜œ YÔ/°°°Ô2°BÑ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8õ
 ð 	õ ‰NŒNˆNÝ‰NŒNˆNÝ
Œ�‰ŒˆÝŒ�fÑÔÐÐÐøõ ð 	õ ‰NŒNˆNÝ‰NŒNˆNÝ
Œ�‰ŒˆÝŒ�fÑÔÐÐøøøsã  •7Q ÁAÁQ ÁAÁQ Á!AÁ"Q Á5BÂQ ÂBÂQ Â"BÂ#Q Â5ADÃ;Q ÄDÄQ ÄDÄQ Ä"A E.Å"Q Å.E2Å2Q Å5E2Å6Q Æ
%F;Æ/Q Æ;F?Æ?Q ÇF?ÇQ ÇH.Ç&%HÈH.ÈH	ÈH.ÈH	ÈH.È"Q È.H2È2Q È5H2È6Q É3K/É?KÊ$KÊ5KËKËKËKË	KËK/ËK	ËK/ËK	Ë K/Ë#Q Ë/K3Ë3Q Ë6K3Ë7Q Ì
NÌAN Í4NÎ N	ÎNÎN	ÎNÎQ ÎNÎQ ÎNÎQ Î13O0Ï$Q Ï0O4Ï4Q Ï7O4Ï8Q ÑARc                  ó‚  — t          ¦   «         } t          | d¦  «        5  |                      ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }t          |¦  «        5 }t	          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }t          t          t          |dd¦  «         t          ¦   «         }t          |dd¬¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }t          |¦  «        5 }t	          |¦  «         t          |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }t          |d¬¦  «        5 }t	          |¦  «         t          |j        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr7   ÚrTé   )Úversion)	r   r%   Úgetvaluer   r.   Úassert_raisesÚ
ValueErrorr
   Úversion_byte)Úeg_sio1Ústr_valÚeg_sio2Úf2Úeg_sio3Ú	eg_sio_64Úf_64s          r$   Útest_read_write_siord   —   sØ  € Ý‰iŒi€GÝ	�W˜cÑ	"Ô	"ð %ð %Ø×"Ò"Ñ$Ô$ˆð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ �gÑÔ€GÝ	�WÑ	Ô	ð  Ý�RÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �gÑÔ€GÝ•*�k¨7°C¸Ñ>Ô>Ð>å‘	”	€IÝ	�Y ¨QÐ	/Ñ	/Ô	/ð '°4Ø×$Ò$Ñ&Ô&ˆð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'õ ˜Ñ Ô €IÝ	�YÑ	Ô	ð + 4Ý�TÑÔÐÝ�TÔ&¨Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ ˜Ñ Ô €IÝ	�Y¨Ð	*Ñ	*Ô	*ð +¨dÝ�TÑÔÐÝ�TÔ&¨Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +sY   ŸA Á AÁAÁ)BÂB	ÂB	ÃC=Ã=DÄDÄ&%EÅEÅEÆ%F4Æ4F8Æ;F8c                  óL  — t          ¦   «         } t          | d¬¦  «        }d|_        |                     dd¦  «         |                     dt
          j        d¦  «        }d|d	<   d
|_        |                     ¦   «          |  	                    ¦   «         }d}t          ||¦  «         d S )Nr7   ©Úmoder   Údimr*   rS   )rh   iñØÿÿr   Úds|   CDF       
      dim             a         b            var                 c         d            xØñ€)r   r   r8   r   r   r   Úint16ÚcÚsyncrY   r
   )Úraw_filer#   rS   ÚactualÚexpecteds        r$   Ú
test_bytesrp   ³   s£   € Ý‰yŒy€HÝ�H 3Ð'Ñ'Ô'€Að €A„CØ×Ò�e˜QÑÔÐØ
×
Ò
˜5¥"¤(¨HÑ
5Ô
5€CØ€Cˆ�FØ€C„EØ‡F‚F�H„H€Hà×ÒÑ Ô €Fð$€Hõ@ �˜Ñ"Ô"Ð"Ð"Ð"r&   c                  ó´  — t          t          ¦   «         d¬¦  «        5 } |                      dd¦  «         |                      ddd¦  «        }t	          |                     ¦   «         d¦  «         d	|_        t	          |                     ¦   «         d	¦  «         d
|_        t	          |                     ¦   «         d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr7   rf   Úxr*   rS   ÚS1©rr   ó    ó   s     )r   r   r   r   r
   Ú_get_encoded_fill_valueÚ
_FillValue)r#   rS   s     r$   Útest_encoded_fill_valuery   ä   s	  € Ý	•W‘Y”Y SÐ	)Ñ	)Ô	)ð =¨QØ	×Ò˜#˜qÑ!Ô!Ð!Ø×Ò˜u d¨FÑ3Ô3ˆÝ�S×0Ò0Ñ2Ô2°GÑ<Ô<Ð<Ø ˆŒÝ�S×0Ò0Ñ2Ô2°GÑ<Ô<Ð<Ø$ˆŒÝ�S×0Ò0Ñ2Ô2°GÑ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s   žB"CÃCÃCc                  óø   — t          t          t          d¦  «        ¦  «        D ]V} t          | d¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   t          | dd¬¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   ŒWd S )Nz*.ncrV   Fr:   )r   ÚpjoinÚTEST_DATA_PATHr   )Úfnames    r$   Útest_read_example_datar~   ï   s  € å•e�N¨FÑ3Ô3Ñ4Ô4ð ð ˆÝ˜ Ñ$Ô$ð 	ð 	Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å˜ ¨%Ð0Ñ0Ô0ð 	ð 	Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øðð s#   µAÁA	Á
A	Á A.Á.A2	Á5A2	c                  ód  — t          t          d¦  «        } t          j        ¦   «         5  d}t          j        d|t
          ¦  «         t          | dd¬¦  «        5 }|j        d         }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          t          |j
        d¦  «         d S )	Núexample_1.ncúsCannot close a netcdf_file opened with mmap=True, when netcdf_variables or arrays referring to its data still existr=   rV   Tr:   r   rA   )r{   r|   rJ   rK   rL   rM   r   r+   rZ   ÚRuntimeErrorÚassignValue)ÚfilenameÚmessager#   Útime_vars       r$   Ú$test_itemset_no_segfault_on_readonlyr‡   ø   s$  € õ •^ ^Ñ4Ô4€HÝ	Ô	 Ñ	"Ô	"ð +ð +ðRˆåÔ ¨'µ>ÑBÔBÐBÝ˜ 3¨TÐ2Ñ2Ô2ð 	+°aØ”{ 6Ô*ˆHð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð	+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ •, Ô 4°bÑ9Ô9Ð9Ð9Ð9s5   ©0B
ÁA3Á'B
Á3A7	Á7B
Á:A7	Á;B
Â
BÂBc                  óÚ  — t          ¦   «         } t          | d¬¦  «        5 }|                     dd¦  «         |                     dt          d¦  «         d|j        d         d<   |                     ¦   «          |                      ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        } t          | d¬¦  «        5 }d|j        d         d<   d d d ¦  «         d S # 1 swxY w Y   d S )	Nr7   rf   rr   rW   rt   r*   .r8   )	r   r%   r   r   Úfloatr+   r   rY   r   )Ústreamr#   Úcontentss      r$   Útest_appending_issue_gh_8625rŒ     s_  € Ý‰YŒY€Få	�V #Ð	&Ñ	&Ô	&ð %¨!Ø	×Ò˜#˜qÑ!Ô!Ð!Ø	×Ò˜�e VÑ,Ô,Ð,Ø !ˆŒ�CÔ˜ÑØ	�Š‰	Œ	ˆ	Ø—?’?Ñ$Ô$ˆð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ �XÑÔ€FÝ	�V #Ð	&Ñ	&Ô	&ð "¨!Ø !ˆŒ�CÔ˜Ñð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s$    A+BÂBÂBÃC Ã C$Ã'C$c            	      ó¼  — ddg} t          j        d¦  «        j        dk    r|                      d¦  «         t          j        d¦  «        j        dk    r|                      d¦  «         t	          t          ¦   «         d¦  «        5 }|                     dt          ¦  «         | D ]}t          t          |j
        d|d¦  «         Œ 	 d d d ¦  «         d S # 1 swxY w Y   d S )	NÚint64Úuint64Úinté   Úuintr7   r   r   )r   ÚdtypeÚitemsizeÚappendr   r   r   r   rZ   r[   r   )Údtypesr#   Údts      r$   Útest_write_invalid_dtyper˜     s/  € Ø�xÐ €FÝ	„x��„Ô 1Ò$Ð$Ø�Š�eÑÔÐÝ	„x�ÑÔÔ  AÒ%Ð%Ø�Š�fÑÔÐå	•W‘Y”Y Ñ	$Ô	$ð O¨Ø	×Ò˜&¥(Ñ+Ô+Ð+Øð 	Oð 	OˆBÝ�* aÔ&6¸ÀÀIÑNÔNÐNÐNð	OðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð Oð Os   Â>CÃCÃCc                  óØ  — t          ¦   «         } t          | d¬¦  «        5 }|                     dd¦  «         |                     dddg¦  «        }d|d d …<   |                     ¦   «          t          |                      ¦   «         ¦  «        }|                     ¦   «          t          |                      ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||k    ¦  «         d S )Nr7   rf   rr   é   ÚvÚi2r*   )r   r%   r   r   r   ÚlenrY   r   )rŠ   r#   r›   Ú
len_singleÚ
len_doubles        r$   Útest_flush_rewindr    $  s  € Ý‰YŒY€FÝ	�V #Ð	&Ñ	&Ô	&ð ,¨!Ø	×Ò˜#˜aÑ Ô Ð Ø×Ò˜S $¨¨Ñ.Ô.ˆØˆˆ!ˆ!ˆ!‰Ø	�Š‰	Œ	ˆ	Ý˜ŸšÑ*Ô*Ñ+Ô+ˆ
Ø	�Š‰	Œ	ˆ	Ý˜ŸšÑ*Ô*Ñ+Ô+ˆ
ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,õ ˆJ˜*Ò$Ñ%Ô%Ð%Ð%Ð%s    B CÃCÃCc                  óz  — t          t          ¦   «         d¬¦  «        5 } |                      dd¦  «         |                      dddg¦  «         |                      dt          j        dg¦  «         |                      dt	          j        t          j        ¦  «        dg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr7   rf   rr   rš   Úv1rœ   Úv2Úv3)r%   r   r   r   r   rj   r“   )r#   s    r$   Útest_dtype_specifiersr¥   2  sî   € õ 
•W‘Y”Y SÐ	)Ñ	)Ô	)ð :¨QØ	×Ò˜#˜aÑ Ô Ð Ø	×Ò˜˜t c UÑ+Ô+Ð+Ø	×Ò˜�rœx¨#¨Ñ/Ô/Ð/Ø	×Ò˜�rœx­¬Ñ1Ô1°C°5Ñ9Ô9Ð9ð	:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s   žBB0Â0B4Â7B4c                  ó†  — t          ¦   «         } g d¢}t          | d¦  «        5 }d|_        |                     dd¦  «         |                     ddd¦  «        }||d d …<   d|_        |                     ¦   «          |                      ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        } t          | d	¦  «        5 }t          |j        d
¦  «         |j	        d         }t          |j        d¦  «         t          |j
        d¦  «         t          |d d …         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)
r   gš™™™™™¹?gš™™™™™É?g333333Ó?gš™™™™™Ù?g      à?g333333ã?gffffffæ?gš™™™™™é?gÍÌÌÌÌÌì?r7   r   Ú	float_varé
   r#   )r§   ÚmetresrV   r(   s   metres)r¨   )r   r   r   r   r   r   r   rY   r
   r+   r,   r	   )ÚioÚitemsr#   r§   r‹   s        r$   Útest_ticket_1720r¬   =  sµ  € Ý	‰Œ€Bà3Ð3Ð3€Eå	�R˜Ñ	Ô	ð ! Ø(ˆŒ	Ø	×Ò˜+ rÑ*Ô*Ð*Ø×$Ò$ [°#°~ÑFÔFˆ	Øˆ	�!�!�!‰Ø"ˆ	ŒØ	�Š‰	Œ	ˆ	Ø—;’;‘=”=ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ 
�Ñ	Ô	€BÝ	�R˜Ñ	Ô	ð - Ý�Q”YÐ 5Ñ6Ô6Ð6Ø”K Ô,ˆ	Ý�Y”_ iÑ0Ô0Ð0Ý�Y”_ eÑ,Ô,Ð,Ý˜	 ! ! !œ eÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -s%   £A+BÂBÂ!BÃA%D6Ä6D:Ä=D:c                  ó  ‡— t          t          d¦  «        Št          s~t          j        ¦   «         5  t          j        d¦  «         t          ‰d¬¦  «        5 } | j        d         d d …         }~d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   ˆfd„}t          j        ¦   «         5  d}t          j        d|t          ¦  «          |¦   «         }d d d ¦  «         n# 1 swxY w Y   | 
                    ¦   «          d S )	Nr€   ÚerrorTr:   Úlatc                  ó„   •— t          ‰d¬¦  «        5 } | j        d         d d …         cd d d ¦  «         S # 1 swxY w Y   d S )NTr:   r¯   )r   r+   )r#   r„   s    €r$   Údoitz!test_mmaps_segfault.<locals>.doit_  sŠ   ø€ Ý˜¨Ð-Ñ-Ô-ð 	)°Ø”;˜uÔ% a a aÔ(ð	)ð 	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s   “5µ9¼9r�   r=   )r{   r|   r   rJ   rK   Úsimplefilterr   r+   rL   rM   Úsum)r#   rr   r±   r…   r„   s       @r$   Útest_mmaps_segfaultr´   T  sÆ  ø€ Ý•^ ^Ñ4Ô4€Håð ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ! 'Ñ*Ô*Ð*Ý˜X¨DÐ1Ñ1Ô1ð °QØ”K Ô& q q qÔ)�àðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð)ð )ð )ð )ð )õ
 
Ô	 Ñ	"Ô	"ð ð ðRˆåÔ ¨'µ>ÑBÔBÐBØˆD‰FŒFˆð	ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
 ‡E‚E�G„G€G€G€GsG   ±&BÁA:Á.BÁ:A>	Á>BÂA>	ÂBÂBÂBÂ4(C(Ã(C,Ã/C,c                  óú   — t          ¦   «         } t          | d¦  «        5 }|                     ddg ¦  «        }|j        du sJ |j        ¦   «         ‚|                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr7   Úzerodimrœ   F)r   r%   r   Úisrecr   )rª   r#   r›   s      r$   Útest_zero_dimensional_varr¸   l  s¿   € Ý	‰Œ€BÝ	�R˜Ñ	Ô	ð  Ø×Ò˜Y¨¨bÑ1Ô1ˆð Œw˜%ÐÐÐ ¤ÑÔÐØ	�Š‰	Œ	ˆ	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ŸAA0Á0A4Á7A4c                  ó|  — t          ¦   «         5  d} t          | d¦  «        }d|j        d<   d|j        d<   |                     ¦   «          t          | d¦  «        }t	          |j        d         d¦  «         t	          |j        d         d¦  «         |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )	Nzg_byte_atts.ncr7   s   grailÚholyÚfloatsÚwitchrV   s   floats©r   r   rG   r    r
   ©r„   r#   s     r$   Útest_byte_gattsr¿   v  sõ   € õ 
‰Œð 	ð 	Ø#ˆÝ˜ #Ñ&Ô&ˆØ (ˆŒ�fÑØ!)ˆŒ�gÑØ	�Š‰	Œ	ˆ	Ý˜ #Ñ&Ô&ˆÝ�Q”] 6Ô*¨HÑ5Ô5Ð5Ý�Q”] 7Ô+¨YÑ7Ô7Ð7Ø	�Š‰	Œ	ˆ	ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   �BB1Â1B5Â8B5c                  óú  — t          ¦   «         5  d} t          | d¦  «        }d|j        d<   |                     ¦   «          t          | d¦  «        }t	          |j        d         d¦  «         d|j        d<   |                     ¦   «          t          | d	¦  «        }t	          |j        d         d¦  «         t	          |j        d         d¦  «         |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )
Nzappend_dat.ncr7   zwas hereÚKilroyr8   s   was heres   ZootÚnaughtyrV   r½   r¾   s     r$   Útest_open_appendrÃ   …  s*  € å	‰Œð ð Ø"ˆÝ˜ #Ñ&Ô&ˆØ",ˆŒ�hÑØ	�Š‰	Œ	ˆ	õ ˜ #Ñ&Ô&ˆÝ�Q”] 8Ô,¨kÑ:Ô:Ð:Ø#*ˆŒ�iÑ Ø	�Š‰	Œ	ˆ	õ ˜ #Ñ&Ô&ˆÝ�Q”] 8Ô,¨kÑ:Ô:Ð:Ý�Q”] 9Ô-¨wÑ7Ô7Ð7Ø	�Š‰	Œ	ˆ	ð!ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   �CC0Ã0C4Ã7C4c            
      ó.  — d} t          ¦   «         5  t          dd¦  «        5 }|                     dd ¦  «         |                     ddd¦  «         |                     d| ¦  «         |                     ddd¦  «        }t	          j        t          | ¦  «        ¦  «        |d d …<   |                     d	| ¦  «         |                     d	dd
¦  «        }t	          j        t          | ¦  «        ¦  «        |d d …<   |                     ddd¦  «         |                     ¦   «          |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          d¦  «        D �]“}t          dd¦  «        5 }t	          j	        |j
        d         j        |¦  «        |j
        d         _        t	          j        | | f|¦  «        |j
        d         |d d …d d …f<   |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          d¦  «        5 }t          |j
        d         d         |¦  «         t          |j
        d         dd d …d d …f                              ¦   «         t	          j        | | f|¦  «        ¦  «         t          |j
        d         j        j        d         |dz   ¦  «         t          |j
        d         j        j        d         |dz   ¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ•t          d¦  «        5 }t!          t"          ¦  «        5 }|j
        d         j        d          d d d ¦  «         n# 1 swxY w Y   |j        }t          |j        d         d¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Néd   zwithRecordDimension.ncr7   r   ri   r   rr   rt   Úy)rÆ   ÚtestDatar@   )r   rr   rÆ   rW   r8   r)   r   r*   r   )r   r   r   r   r   ÚarrayÚranger   r    r•   r+   r   Úfullr
   Úcopyr,   rZ   ÚKeyErrorrG   Úvaluer!   )ÚdataSizer#   rr   rÆ   r@   ÚarÚexs          r$   Útest_append_recordDimensionrÑ   š  sÌ  € Ø€Hå	‰Œð $-ð $-åÐ1°3Ñ7Ô7ð 	¸1Ø×Ò˜f dÑ+Ô+Ð+Ø×Ò˜V S¨)Ñ4Ô4Ð4Ø×Ò˜c 8Ñ,Ô,Ð,Ø× Ò   c¨6Ñ2Ô2ˆAÝ”8�E (™OœOÑ,Ô,ˆAˆaˆaˆa‰DØ×Ò˜c 8Ñ,Ô,Ð,Ø× Ò   c¨6Ñ2Ô2ˆAÝ”8�E (™OœOÑ,Ô,ˆAˆaˆaˆa‰DØ×Ò˜Z¨Ð.@ÑAÔAÐAØ�GŠG‰IŒIˆIØ�GŠG‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �q‘”ð 	Iñ 	IˆAåÐ5°sÑ;Ô;ð ¸qÝ+-¬9°Q´[ÀÔ5HÔ5MÈqÑ+QÔ+Q�”˜FÔ#Ô(Ý35´7¸HÀhÐ;OÐQRÑ3SÔ3S�”˜JÔ'¨¨1¨1¨1¨a¨a¨a¨Ñ0Ø—’‘	”	�	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ Ð5Ñ6Ô6ð I¸!Ý˜Qœ[¨Ô0°Ô4°aÑ8Ô8Ð8Ý˜Qœ[¨Ô4°R¸¸¸¸A¸A¸A°XÔ>×CÒCÑEÔEÝœW h°Ð%9¸1Ñ=Ô=ñ?ô ?ð ?å˜Qœ[¨Ô0Ô5Ô;¸AÔ>ÀÀ!ÁÑDÔDÐDÝ˜Qœ[¨Ô4Ô9Ô?ÀÔBÀAÀaÁCÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Iùõ Ð1Ñ2Ô2ð 	-°aÝ�xÑ(Ô(ð <¨BØ”˜JÔ'Ô3°FÔ;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <à”ˆBÝ˜œ œ VÑ,Ô,Ð,ð		-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ðA$-ð $-ð $-ñ $-ô $-ð $-ð $-ð $-ð $-ð $-ð $-ð $-øøøð $-ð $-ð $-ð $-ð $-ð $-sÇ   ‘N
¢DEÄ5N
ÅE	ÅN
ÅE	Å	%N
Å.A6G0Ç$N
Ç0G4Ç4N
Ç7G4Ç8N
È
CK#ËN
Ë#K'Ë'N
Ë*K'Ë+N
Ë?M2ÌL9Ì-M2Ì9L=Ì=M2Í L=Í%M2Í&N
Í2M6	Í6N
Í9M6	Í:N
Î
NÎNc                  ó\  — t          j        ddd¦  «        } d| d<   t           j                             | d¦  «        }t	          t
          d¦  «        }t          |d¬	¦  «        5 }|j        d
         }t          |j	        d¦  «         t          |j
        d¦  «         t          |j        t          j        d¦  «        ¦  «         |d d …                              ¦   «         }~t          j        |                     ¦   «         d¦  «        }t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t!          ¦   «         5  d}t          |dd¬	¦  «        }|                     d
t%          |¦  «        ¦  «         |                     d
dd¦  «        }d|_	        d|_        d|_
        ||d d …<   |                     ¦   «          t          |d¬	¦  «        5 }|j        d
         }t          |j	        d¦  «         t          |j
        d¦  «         t          |j        t          j        d¦  «        ¦  «         t          j        |                     ¦   «         d¦  «        }|d d …                              ¦   «         }~t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Né   é   é   rÅ   é   éc   zexample_2.ncT©ÚmaskandscaleÚTemperatureé'  g{®Gáz„?rW   zms.ncr7   r@   )rÚ   )r   Úlinspacer0   Úmasked_greaterr{   r|   r   r+   r
   Úmissing_valueÚ
add_offsetÚscale_factorÚfloat32Ú
compressedÚroundr	   r   r   r�   r   r    )	ÚtÚtmr}   r#   ÚTempÚfoundro   ÚnewfnameÚtemps	            r$   Útest_maskandscalerê   Ã  s"  € Ý
Œ�B˜˜BÑÔ€AØ€A€a�DÝ	Œ×	Ò	˜a Ñ	$Ô	$€BÝ•. .Ñ1Ô1€EÝ	�U¨Ð	.Ñ	.Ô	.ð )°!ØŒ{˜=Ô)ˆÝ�TÔ'¨Ñ.Ô.Ð.Ý�T”_ bÑ)Ô)Ð)Ý�TÔ&­¬
°4Ñ(8Ô(8Ñ9Ô9Ð9Ø�Q�Q�Q”×"Ò"Ñ$Ô$ˆØÝ”8˜BŸMšM™OœO¨QÑ/Ô/ˆÝ˜˜xÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ 
‰Œð -ð -ØˆÝ˜ #°DÐ9Ñ9Ô9ˆØ	×Ò˜-­¨R©¬Ñ1Ô1Ð1Ø×Ò ¨sÐ4DÑEÔEˆØ!ˆÔØ ˆÔØˆŒØˆˆQˆQˆQ‰Ø	�Š‰	Œ	ˆ	å˜°Ð5Ñ5Ô5ð 	-¸Ø”;˜}Ô-ˆDÝ˜Ô+¨TÑ2Ô2Ð2Ý˜œ¨"Ñ-Ô-Ð-Ý˜Ô*­B¬J°tÑ,<Ô,<Ñ=Ô=Ð=Ý”x §¢¡¤°Ñ3Ô3ˆHØ˜˜˜”G×&Ò&Ñ(Ô(ˆEØÝ˜E 8Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -sK   Á"B3D!Ä!D%Ä(D%Ä:BJ!Ç
B3J	É=J!Ê	J	ÊJ!ÊJ	ÊJ!Ê!J%Ê(J%c                  óÒ   — t          t          d¦  «        } t          | d¬¦  «        5 }|j        d         d d …         }t	          |g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Núexample_3_maskedvals.ncTrØ   Úvar1_fillval0©FTF©r{   r|   r   r+   r5   ©r}   r#   Úvardatas      r$   Ú!test_read_withValuesNearFillValuerò   ì  s²   € å•.Ð";Ñ<Ô<€EÝ	�U¨Ð	.Ñ	.Ô	.ð ;°!Ø”+˜oÔ.¨q¨q¨qÔ1ˆÝ˜GÐ%9Ð%9Ð%9Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;ó   §(AÁA Á#A c                  óö   — t          t          d¦  «        } t          | d¬¦  «        5 }|j        d         d d …         }t	          |g d¢¦  «         t          |g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrì   TrØ   Úvar2_noFillval©FFF©r*   rW   rÖ   ©r{   r|   r   r+   r5   r
   rð   s      r$   Útest_read_withNoFillValuerù   ó  sÉ   € õ •.Ð";Ñ<Ô<€EÝ	�U¨Ð	.Ñ	.Ô	.ð '°!Ø”+Ð.Ô/°°°Ô2ˆÝ˜GÐ%:Ð%:Ð%:Ñ;Ô;Ð;Ý�W˜g˜g˜gÑ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   §:A.Á.A2Á5A2c                  óü   — d} t          t          d¦  «        }t          |d¬¦  «        5 }|j        d         d d …         }t	          |g d¢¦  «         t          || ddg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	NrÛ   rì   TrØ   Úvar3_fillvalAndMissingValue)TFFrW   rÖ   rø   )ÚIRRELEVANT_VALUEr}   r#   rñ   s       r$   Ú&test_read_withFillValueAndMissingValuerý   ü  sÓ   € ð ÐÝ•.Ð";Ñ<Ô<€EÝ	�U¨Ð	.Ñ	.Ô	.ð 8°!Ø”+Ð;Ô<¸Q¸Q¸QÔ?ˆÝ˜GÐ%9Ð%9Ð%9Ñ:Ô:Ð:Ý�WÐ/°°AÐ6Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   ©;A1Á1A5Á8A5c                  óÒ   — t          t          d¦  «        } t          | d¬¦  «        5 }|j        d         d d …         }t	          |g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrì   TrØ   Úvar4_missingValuerî   rï   rð   s      r$   Útest_read_withMissingValuer     sµ   € õ •.Ð";Ñ<Ô<€EÝ	�U¨Ð	.Ñ	.Ô	.ð ;°!Ø”+Ð1Ô2°1°1°1Ô5ˆÝ˜GÐ%9Ð%9Ð%9Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;ró   c                  óÒ   — t          t          d¦  «        } t          | d¬¦  «        5 }|j        d         d d …         }t	          |g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrì   TrØ   Úvar5_fillvalNaNrî   rï   rð   s      r$   Útest_read_withFillValNaNr    s³   € Ý•.Ð";Ñ<Ô<€EÝ	�U¨Ð	.Ñ	.Ô	.ð ;°!Ø”+Ð/Ô0°°°Ô3ˆÝ˜GÐ%9Ð%9Ð%9Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;ró   c                  óÒ   — t          t          d¦  «        } t          | d¬¦  «        5 }|j        d         d d …         }t	          |g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrì   TrØ   Ú	var6_charrî   rï   rð   s      r$   Útest_read_withCharr    s²   € Ý•.Ð";Ñ<Ô<€EÝ	�U¨Ð	.Ñ	.Ô	.ð ;°!Ø”+˜kÔ*¨1¨1¨1Ô-ˆÝ˜GÐ%9Ð%9Ð%9Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;ró   c                  óà   — t          t          d¦  «        } t          | d¬¦  «        5 }|j        d         d d …         }t	          |ddgddgddgg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrì   TrØ   Úvar7_2dFrï   rð   s      r$   Útest_read_with2dVarr	    sÑ   € Ý•.Ð";Ñ<Ô<€EÝ	�U¨Ð	.Ñ	.Ô	.ð U°!Ø”+˜iÔ(¨¨¨Ô+ˆÝ˜G t¨U m°e¸U°^ÀeÈTÀ]Ð%SÑTÔTÐTðUð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð Uð Us   §/A#Á#A'Á*A'c                  óø   — t          t          d¦  «        } t          | dd¬¦  «        5 }|j        d         d d …         }t	          |g d¢¦  «         t          |g d¢¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrì   F)rÙ   r;   rû   rö   r÷   rø   rð   s      r$   Útest_read_withMaskAndScaleFalser     sÍ   € õ •.Ð";Ñ<Ô<€Eõ 
�U¨°UÐ	;Ñ	;Ô	;ð )¸qØ”+Ð;Ô<¸Q¸Q¸QÔ?ˆÝ˜GÐ%:Ð%:Ð%:Ñ;Ô;Ð;Ý�W˜i˜i˜iÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   ¨:A/Á/A3Á6A3)@Ú__doc__rB   Úos.pathr   r{   r   rN   rD   rJ   rª   r   r   Ú
contextlibr   Únumpyr   Únumpy.testingr   r	   r
   r   r   Úpytestr   rZ   Úscipy.ior   Úscipy._lib._tmpdirsr   Ú__file__r|   r   r   ÚmarkÚthread_unsafeÚ
pytestmarkr%   r.   r5   rT   rd   rp   ry   r~   r‡   rŒ   r˜   r    r¥   r¬   r´   r¸   r¿   rÃ   rÑ   rê   rò   rù   rý   r   r  r  r	  r  © r&   r$   ú<module>r     s  ðØ Ð Ø 	€	€	€	Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð ð2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2à €€€Ø *Ð *Ð *Ð *Ð *Ð *à  Ð  Ð  Ð  Ð  Ð  Ø *Ð *Ð *Ð *Ð *Ð *à��w�w˜xÑ(Ô(¨&Ñ1Ô1€à€Ø€
ð Œ[Ô&€
ð ð	ð 	ñ „ð	ð'ð 'ð 'ð&ð &ð &ð(Nð Nð Nðb+ð +ð +ð8.#ð .#ð .#ðb=ð =ð =ðð ð ð:ð :ð :ð "ð "ð "ð
Oð 
Oð 
Oð&ð &ð &ð:ð :ð :ð-ð -ð -ð.ð ð ð0ð ð ðð ð ðð ð ð*'-ð '-ð '-ðR"-ð "-ð "-ðR;ð ;ð ;ð'ð 'ð 'ð8ð 8ð 8ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ðUð Uð Uð	)ð 	)ð 	)ð 	)ð 	)r&   