§
    µ³ÙgL  ã                   ó´  — 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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„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6d „ Z7d!„ Z8d"„ Z9d#„ Z:d$„ 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Úsuppress_warningsÚ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       úP/granary/edev/quantum/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_matchesr6   2   s/   € õ  Œ5×Ò˜cÑ"Ô"€DÝ��}Ñ%Ô%Ð%Ð%Ð%r'   c                  ó&	  — 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          ¦   «         5 }t          r|                     t           d	¦  «         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Úrbz2Cannot 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   Úopenr   ÚfilterÚRuntimeWarningr   r   r,   r   ÚshutilÚrmtree)ÚcwdÚtmpdirr$   ÚfobjÚsupÚvars         r%   Útest_read_write_filesrS   F   s<  € å
Œ)‰+Œ+€CðHÝÔ!Ñ#Ô#ˆÝ
Œ�ÑÔÐÝ˜ 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‘”�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ Ñ Ô ð 	$ CÝð QØ—
’
�>ØOñQô Qð Qå�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Ê$J<Ê0KÊ<K Ë KËK ËKËK*ËK	ËK*ËK	ËK*ËQ Ë*K.Ë.Q Ë1K.Ë2Q ÌNÌAM;Í/NÍ;M?	Í?NÎM?	ÎNÎQ ÎNÎQ ÎNÎQ Î,3O+ÏQ Ï+O/Ï/Q Ï2O/Ï3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 )Nr8   Ú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_siorc   ”   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 )Nr8   ©Úmoder   Údimr+   rR   )rg   iñØÿÿr   Úds|   CDF       
      dim             a         b            var                 c         d            xØñ€)r   r   r9   r   r   r   Úint16ÚcÚsyncrX   r
   )Úraw_filer$   rR   ÚactualÚexpecteds        r%   Ú
test_bytesro   °   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 )Nr8   re   Úxr+   rR   ÚS1©rq   ó    ó   s     )r   r   r   r   r
   Ú_get_encoded_fill_valueÚ
_FillValue)r$   rR   s     r%   Útest_encoded_fill_valuerx   á   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*.ncrU   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                  óZ  — t          t          d¦  «        } t          ¦   «         5 }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 existrU   Tr;   r   rA   )
rz   r{   r   rJ   rK   r   r,   rY   ÚRuntimeErrorÚassignValue)ÚfilenamerQ   Úmessager$   Útime_vars        r%   Ú$test_itemset_no_segfault_on_readonlyr†   õ   s  € õ •^ ^Ñ4Ô4€HÝ	Ñ	Ô	ð + ðRˆà�
Š
•> 7Ñ+Ô+Ð+Ý˜ 3¨TÐ2Ñ2Ô2ð 	+°aØ”{ 6Ô*ˆHð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð	+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ •, Ô 4°bÑ9Ô9Ð9Ð9Ð9s5   ¤0BÁA.Á"BÁ.A2	Á2BÁ5A2	Á6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 )	Nr8   re   rq   rV   rs   r+   .r9   )	r   r&   r   r   Úfloatr,   r    rX   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é   Úuintr8   r   r   )r   ÚdtypeÚitemsizeÚappendr   r   r   r   rY   rZ   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 )Nr8   re   rq   é   ÚvÚi2r+   )r   r&   r   r   r    ÚlenrX   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 )	Nr8   re   rq   r™   Úv1r›   Úv2Úv3)r&   r   r   r   r   ri   r’   )r$   s    r%   Útest_dtype_specifiersr¤   /  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ÍÌÌÌÌÌì?r8   r   Ú	float_varé
   r$   )r¦   ÚmetresrU   r)   s   metres)r§   )r   r   r   r   r   r   r    rX   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          ¦   «         5 }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€   )rz   r{   r   ÚwarningsÚcatch_warningsÚsimplefilterr   r,   r   rJ   rK   Úsum)r$   rq   r°   rQ   r„   rƒ   s        @r%   Útest_mmaps_segfaultrµ   Q  s¿  ø€ Ý•^ ^Ñ4Ô4€Håð ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ! 'Ñ*Ô*Ð*Ý˜X¨DÐ1Ñ1Ô1ð °QØ”K Ô& q q qÔ)�àðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð)ð )ð )ð )ð )õ
 
Ñ	Ô	ð  ðRˆà�
Š
•> 7Ñ+Ô+Ð+ØˆD‰FŒFˆð	ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
 ‡E‚E�G„G€G€G€GsG   ±&BÁA:Á.BÁ:A>	Á>BÂA>	ÂBÂBÂBÂ/(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 )Nr8   Úzerodimr›   F)r   r&   r   Úisrecr    )r©   r$   rš   s      r%   Útest_zero_dimensional_varr¹   i  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.ncr8   s   grailÚholyÚfloatsÚwitchrU   s   floats©r   r   rG   r!   r
   ©rƒ   r$   s     r%   Útest_byte_gattsrÀ   s  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.ncr8   zwas hereÚKilroyr9   s   was heres   ZootÚnaughtyrU   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.ncr8   r   rh   r   rq   rs   Úy)rÇ   ÚtestDatar@   )r   rq   rÇ   rV   r9   r*   r   r+   r   )r   r   r   r   r   ÚarrayÚranger    r!   r”   r,   r   Úfullr
   Úcopyr-   rY   ÚKeyErrorrG   Úvaluer"   )ÚdataSizer$   rq   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„?rV   zms.ncr8   r@   )rÛ   )r   Úlinspacer1   Úmasked_greaterrz   r{   r   r,   r
   Úmissing_valueÚ
add_offsetÚscale_factorÚfloat32Ú
compressedÚroundr	   r   r   rœ   r   r!   )	ÚtÚtmr|   r$   ÚTempÚfoundrn   Ú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©rz   r{   r   r,   r6   ©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+   rV   r×   ©rz   r{   r   r,   r6   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)TFFrV   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)AÚ__doc__rB   Úos.pathr   rz   r   rL   rD   r±   r©   r   r   Ú
contextlibr   Únumpyr   Únumpy.testingr   r	   r
   r   r   r   Úpytestr   rY   Úscipy.ior   Úscipy._lib._tmpdirsr   Ú__file__r{   r   r   ÚmarkÚthread_unsafeÚ
pytestmarkr&   r/   r6   rS   rc   ro   rx   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   ðØ Ð Ø 	€	€	€	Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð ðEð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eð Eà €€€Ø *Ð *Ð *Ð *Ð *Ð *à  Ð  Ð  Ð  Ð  Ð  Ø *Ð *Ð *Ð *Ð *Ð *à��w�w˜xÑ(Ô(¨&Ñ1Ô1€à€Ø€
ð Œ[Ô&€
ð ð	ð 	ñ „ð	ð'ð 'ð 'ð&ð &ð &ð(Kð Kð Kð\+ð +ð +ð8.#ð .#ð .#ðb=ð =ð =ðð ð ð:ð :ð :ð "ð "ð "ð
Oð 
Oð 
Oð&ð &ð &ð:ð :ð :ð-ð -ð -ð.ð ð ð0ð ð ðð ð ðð ð ð*'-ð '-ð '-ðR"-ð "-ð "-ðR;ð ;ð ;ð'ð 'ð 'ð8ð 8ð 8ð;ð ;ð ;ð;ð ;ð ;ð;ð ;ð ;ðUð Uð Uð	)ð 	)ð 	)ð 	)ð 	)r'   