Ë
    âQ(h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jD                  jF                  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@y)*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|_        |j                  dt        «       |j	                  dt
        d«      }t        j                  t        «      |d d  d|_        |j                  «        |–— |j                  «        y ­w)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/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/io/tests/test_netcdf.pyÚmake_simpler&      sp   è ø€ ä�TÐ$˜VÑ$€AØ$€A„IØ×Ñ�fœhÔ'Ø×Ñ˜F¤J°	Ó:€DÜ�i‰iœÓ!€D‰€GØ(€D„JØ‡G�G„IØ
‚GØ‡G�G…Iùs   ‚BB
c                 óÜ   — t        | j                  d«       | j                  d   }t        |j                  d«       t        |j                  t
        f«       t        |d   t
        dz
  «       y)zExample fileobj tests ó   Created for a testr   s   days since 2008-01-01éÿÿÿÿé   N)r
   r   Ú	variablesr   Úshaper   )Ú	ncfileobjr   s     r%   Úcheck_simpler.   *   sT   € ä�×"Ñ"Ð$9Ô:Ø×Ñ˜vÑ&€DÜ�—‘Ð5Ô6Ü�—‘œh˜[Ô)Ü��b‘œ8 A™:Õ&ó    c                 óZ   — t         j                  j                  | «      }t        ||«       y)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‰5×Ñ˜cÓ"€DÜ��}Õ%r/   c                  ó  — t        j                  «       } 	 t        j                  «       }t        j                  |«       t        dd«      5 }	 d d d «       t        dd«      5 }t        |«       d|j                  d<   d d d «       t        d«      5 }t        |j                  t         «       t        |«       t        |j                  d   d«       d d d «       t        dd«      5 }t        |j                   «       t        |«       t        |j                  d   d«       d d d «       t        dd¬«      5 }t        |j                   «       t        |«       d d d «       t        dd«      5 }t        |«      5 }t        |j                   «       t        |«       d d d «       d d d «       t        «       5 }t        r|j                  t         d	«       t        dd«      5 }t        |d
¬«      5 }t        |j                  «       t        |«       d d d «       d d d «       d d d «       t        dd«      5 }t        |d«      5 }t        |j                   «       t        |«       |j#                  dd«       |j%                  ddd«      }d|d d  d d d «       d d d «       t        d«      5 }t        |«       t        |j&                  d   d d  d«       d d d «       t        rt)        «        t)        «        t        j                  | «       t+        j,                  |«       y # 1 sw Y   �ŒËxY w# 1 sw Y   �Œ©xY w# 1 sw Y   �ŒcxY w# 1 sw Y   �Œ!xY w# 1 sw Y   �Œ÷xY w# 1 sw Y   �ŒÂxY w# 1 sw Y   �ŒÇxY w# 1 sw Y   �ŒjxY w# 1 sw Y   �ŒoxY w# 1 sw Y   �ŒtxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒêxY w# 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   sO  € ä
�)‰)‹+€CðHÜ×!Ñ!Ó#ˆÜ
�‰�ÔÜ˜ cÓ*ð 	¨aØ÷	ô ˜ cÓ*ð 	+¨aÜ˜ŒOà)*ˆA�M‰M˜+Ñ&÷	+ô ˜Ó%ð 	8¨ä˜Ÿ™¬ [Ô1Ü˜ŒOÜ˜Ÿ™ {Ñ3°QÔ7÷		8ô ˜ cÓ*ð 	8¨aÜ˜Ÿ
™
�NÔ#Ü˜ŒOÜ˜Ÿ™ {Ñ3°QÔ7÷	8ô ˜¨5Ô1ð 	°Qä˜Ÿ
™
�NÔ#Ü˜ŒO÷	ô �+˜tÓ$ð 	 ¨Ü˜TÓ"ð   aä˜AŸJ™J˜Ô'Ü˜Q”÷ ÷	 ô Ó ð 	$ CÝØ—
‘
œ>ØOôQä�k 4Ó(ð $¨DÜ  ¨DÔ1ð $°QÜ˜AŸJ™JÔ'Ü  ”O÷$÷$÷		$ô �+˜uÓ%ð 	¨Ü˜T 3Ó'ð ¨1Ü˜AŸJ™J˜Ô'Ü˜Q”Ø×!Ñ! )¨QÔ/Ø×&Ñ& y°#°|ÓD�Ø�‘A�÷÷	ô ˜Ó%ð 	8¨Ü˜ŒOÜ˜Ÿ™ YÑ/±Ð2°BÔ7÷	8õ
 ô ŒNÜŒNÜ
�‰�ŒÜ�‰�fÕ÷K	ñ 	ú÷	+ñ 	+ú÷	8ñ 	8ú÷	8ñ 	8ú÷	ñ 	ú÷ ñ  ú÷	 ñ 	 ú÷$ñ $ú÷$ñ $ú÷		$ñ 	$ú÷ñ ú÷	ñ 	ú÷	8ð 	8ûõ
 ô ŒNÜŒNÜ
�‰�ŒÜ�‰�fÕúsF  –5N> ÁLÁN> Á!L#Á<N> ÂA L0ÃN> Ã#;L=ÄN> Ä3"M
ÅN> Å)M$Å5"MÆM$ÆN> Æ1)NÇM>Ç(!M1È	M>ÈNÈN> È-N%È:ANÊN%ÊN> Ê!(N2Ë	N> ÌL ÌN> Ì#L-Ì(N> Ì0L:Ì5N> Ì=MÍN> Í
MÍN> ÍM!	ÍM$Í$M.Í)N> Í1M;Í6M>Í>N	ÎNÎNÎN> ÎN"	ÎN%Î%N/Î*N> Î2N;Î7N> Î>APc                  óÚ  — t        «       } t        | d«      5  | j                  «       }d d d «       t        «      }t        |«      5 }t	        |«       d d d «       t        |«      }t        t        t        |dd«       t        «       }t        |dd¬«      5 }|j                  «       }d d d «       t        |«      }t        |«      5 }t	        |«       t        |j                  d«       d d d «       t        |«      }t        |d¬«      5 }t	        |«       t        |j                  d«       d d d «       y # 1 sw Y   �Œ
xY w# 1 sw Y   ŒìxY w# 1 sw Y   Œ¥xY w# 1 sw Y   ŒqxY w# 1 sw Y   y xY w)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   ”   sJ  € Ü‹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×&Ñ&¨Ô*÷+ð +÷+%ñ %ú÷ð ú÷'ð 'ú÷+ð +ú÷
+ð +ús;   —D0ÁD=ÂE	Ã"EÄ"E!Ä0D:Ä=EÅ	EÅEÅ!E*c                  ó  — t        «       } t        | d¬«      }d|_        |j                  dd«       |j	                  dt
        j                  d«      }d|d	<   d
|_        |j                  «        | j                  «       }d}t        ||«       y )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€HÜ�H 3Ô'€Að €A„CØ×Ñ�e˜QÔØ
×
Ñ
˜5¤"§(¡(¨HÓ
5€CØ€Cˆ�FØ€C„EØ‡F�F„Hà×ÑÓ €Fð$€Hô@ �˜Õ"r/   c                  óZ  — t        t        «       d¬«      5 } | j                  dd«       | j                  ddd«      }t	        |j                  «       d«       d	|_        t	        |j                  «       d	«       d
|_        t	        |j                  «       d«       d d d «       y # 1 sw Y   y xY w)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 SÔ	)ð =¨QØ	×Ñ˜#˜qÔ!Ø×Ñ˜u d¨FÓ3ˆÜ�S×0Ñ0Ó2°GÔ<Ø ˆŒÜ�S×0Ñ0Ó2°GÔ<Ø$ˆŒÜ�S×0Ñ0Ó2°GÔ<÷=÷ =ñ =ús   –BB!Â!B*c                  óÌ   — t        t        t        d«      «      D ]0  } t        | d«      5  	 d d d «       t        | dd¬«      5  	 d d d «       Œ2 y # 1 sw Y   Œ$xY w# 1 sw Y   ŒIxY w)Nz*.ncrU   Fr;   )r   ÚpjoinÚTEST_DATA_PATHr   )Úfnames    r%   Útest_read_example_datar}   ì   sh   € ä”eœN¨FÓ3Ó4ò ˆÜ˜ Ó$ñ 	Ø÷	ä˜ ¨%Ô0ñ 	Ø÷	ð 	ñ÷	ð 	ú÷	ð 	ús   ©AÁAÁA	ÁA#	c                  ó,  — t        t        d«      } t        «       5 }d}|j                  t        |«       t        | dd¬«      5 }|j                  d   }d d d «       d d d «       t        t        j                  d«       y # 1 sw Y   Œ-xY w# 1 sw Y   Œ1xY w)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€HÜ	Ó	ð + ðRˆà�
‰
”> 7Ô+Ü˜ 3¨TÔ2ð 	+°aØ—{‘{ 6Ñ*ˆH÷	+÷	+ô ”, × 4Ñ 4°bÕ9÷		+ð 	+ú÷	+ð +ús#   ›'B
ÁA>ÁB
Á>B	ÂB
Â
Bc                  ó�  — t        «       } t        | d¬«      5 }|j                  dd«       |j                  dt        d«       d|j
                  d   d<   |j                  «        | j                  «       }d d d «       t        «      } t        | d¬«      5 }d|j
                  d   d<   d d d «       y # 1 sw Y   Œ=xY w# 1 sw Y   y xY w)	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€Fä	�V #Ô	&ð %¨!Ø	×Ñ˜#˜qÔ!Ø	×Ñ˜œe VÔ,Ø !ˆ�‰�CÑ˜ÑØ	�‰Œ	Ø—?‘?Ó$ˆ÷%ô �XÓ€FÜ	�V #Ô	&ð "¨!Ø !ˆ�‰�CÑ˜Ñ÷"ð "÷%ð %ú÷"ð "ús   ˜AB0ÂB<Â0B9Â<Cc            	      ó   — ddg} t        j                  d«      j                  dk(  r| j                  d«       t        j                  d«      j                  dk(  r| j                  d«       t	        t        «       d«      5 }|j                  dt        «       | D ]  }t        t        |j                  d|d«       Œ! 	 d d d «       y # 1 sw Y   y xY w)	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�x�ƒ×Ñ 1Ò$Ø�‰�eÔÜ	‡x�x�Ó× Ñ  AÒ%Ø�‰�fÔä	”W“Y Ó	$ð O¨Ø	×Ñ˜&¤(Ô+Øò 	OˆBÜœ* a×&6Ñ&6¸ÀÀIÕNñ	O÷O÷ Oñ Oús   Á?;CÃCc                  ór  — t        «       } t        | d¬«      5 }|j                  dd«       |j                  dddg«      }d|d d  |j	                  «        t        | j                  «       «      }|j	                  «        t        | j                  «       «      }d d d «       t        k(  «       y # 1 sw Y   ŒxY w)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€FÜ	�V #Ô	&ð ,¨!Ø	×Ñ˜#˜aÔ Ø×Ñ˜S $¨¨Ó.ˆØˆ‰!ˆØ	�‰Œ	Ü˜Ÿ™Ó*Ó+ˆ
Ø	�‰Œ	Ü˜Ÿ™Ó*Ó+ˆ
÷,ô ˆJ˜*Ñ$Õ%÷,ð ,ús   ˜A>B-Â-B6c                  óR  — t        t        «       d¬«      5 } | j                  dd«       | j                  dddg«       | j                  dt        j
                  dg«       | j                  dt	        j                  t        j
                  «      dg«       d d d «       y # 1 sw Y   y xY w)	Nr8   re   rq   r™   Úv1r›   Úv2Úv3)r&   r   r   r   r   ri   r’   )r$   s    r%   Útest_dtype_specifiersr¤   /  s„   € ô 
”W“Y SÔ	)ð :¨QØ	×Ñ˜#˜aÔ Ø	×Ñ˜˜t c UÔ+Ø	×Ñ˜œrŸx™x¨#¨Ô/Ø	×Ñ˜œrŸx™x¬¯©Ó1°C°5Ô9÷	:÷ :ñ :ús   –A>BÂB&c                  ó*  — t        «       } g d¢}t        | d«      5 }d|_        |j                  dd«       |j	                  ddd«      }||d d  d|_        |j                  «        | j                  «       }d d d «       t        «      } t        | d	«      5 }t        |j                  d
«       |j                  d   }t        |j
                  d«       t        |j                  d«       t        |d d  |«       d d d «       y # 1 sw Y   ŒŠxY w# 1 sw Y   y xY w)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€Eä	�R˜Ó	ð ! Ø(ˆŒ	Ø	×Ñ˜+ rÔ*Ø×$Ñ$ [°#°~ÓFˆ	Øˆ	‘!ˆØ"ˆ	ŒØ	�‰Œ	Ø—;‘;“=ˆ÷!ô 
�Ó	€BÜ	�R˜Ó	ð - Ü�Q—Y‘YÐ 5Ô6Ø—K‘K Ñ,ˆ	Ü�Y—_‘_ iÔ0Ü�Y—_‘_ eÔ,Ü˜	¡!˜ eÔ,÷-ð -÷!ð !ú÷-ð -ús   ›AC=ÂA!D	Ã=DÄ	Dc                  ó¾  ‡— t        t        d«      Št        s[t        j                  «       5  t        j
                  d«       t        ‰d¬«      5 } | j                  d   d d  }~d d d «       d d d «       ˆfd„}t        «       5 }d}|j                  t        |«        |«       }d d d «       j                  «        y # 1 sw Y   ŒYxY w# 1 sw Y   Œ]xY w# 1 sw Y   Œ2xY w)Nr   ÚerrorTr;   Úlatc                  ón   •— t        ‰d¬«      5 } | j                  d   d d  cd d d «       S # 1 sw Y   y xY w)NTr;   r®   )r   r+   )r$   rƒ   s    €r%   Údoitz!test_mmaps_segfault.<locals>.doit\  s5   ø€ Ü˜¨Ô-ð 	)°Ø—;‘;˜uÑ%¡aÐ(÷	)÷ 	)ò 	)ús   �+«4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€HåÜ×$Ñ$Ó&ñ 	Ü×!Ñ! 'Ô*Ü˜X¨DÔ1ð °QØ—K‘K Ñ&¡qÐ)�à÷÷	ô)ô
 
Ó	ð  ðRˆà�
‰
”> 7Ô+Ù‹Fˆ÷	ð
 ‡E�E…G÷ð ú÷	ð 	ú÷ð ús/   ¬#CÁB;Á#CÂ CÂ;C	Ã CÃCÃCc                  óÞ   — t        «       } t        | d«      5 }|j                  ddg «      }|j                  du sJ |j                  «       ‚|j	                  «        d d d «       y # 1 sw Y   y xY w)Nr8   Úzerodimr›   F)r   r&   r   Úisrecr    )r©   r$   rš   s      r%   Útest_zero_dimensional_varr¹   i  sd   € Ü	‹€BÜ	�R˜Ó	ð  Ø×Ñ˜Y¨¨bÓ1ˆð �w‰w˜%ÑÐ( §¡Ó(ÐØ	�‰Œ	÷÷ ñ ús   —AA#Á#A,c                  óV  — t        «       5  d} t        | d«      }d|j                  d<   d|j                  d<   |j                  «        t        | d«      }t	        |j                  d   d«       t	        |j                  d   d«       |j                  «        d d d «       y # 1 sw Y   y xY w)	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Ü�Q—]‘] 7Ñ+¨YÔ7Ø	�‰Œ	÷	÷ 	ñ 	ús   ‹BBÂB(c                  óÀ  — t        «       5  d} t        | d«      }d|j                  d<   |j                  «        t        | d«      }t	        |j                  d   d«       d|j                  d<   |j                  «        t        | d	«      }t	        |j                  d   d«       t	        |j                  d   d«       |j                  «        d d d «       y # 1 sw Y   y xY w)
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Ø	�‰Œ	÷!÷ ñ ús   ‹C CÃCc            
      ó”  — d} t        «       5  t        dd«      5 }|j                  dd «       |j                  ddd«       |j                  d| «       |j                  ddd«      }t	        j
                  t        | «      «      |d d  |j                  d	| «       |j                  d	dd
«      }t	        j
                  t        | «      «      |d d  |j                  ddd«       |j                  «        |j                  «        d d d «       t        d«      D �]s  }t        dd«      5 }t	        j                  |j                  d   j                  |«      |j                  d   _        t	        j                  | | f|«      |j                  d   |d d …d d …f<   |j                  «        d d d «       t        d«      5 }t        |j                  d   d   |«       t        |j                  d   dd d …d d …f   j                  «       t	        j                  | | f|«      «       t        |j                  d   j                  j                  d   |dz   «       t        |j                  d   j                  j                  d   |dz   «       d d d «       �Œv t        d«      5 }t!        t"        «      5 }|j                  d   j$                  d    d d d «       j&                  }t        |j(                  d   d«       d d d «       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒmxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒfxY w# 1 sw Y   ŒExY w# 1 sw Y   y xY w)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ð 	¸1Ø×Ñ˜f dÔ+Ø×Ñ˜V S¨)Ô4Ø×Ñ˜c 8Ô,Ø× Ñ   c¨6Ó2ˆAÜ—8‘8œE (›OÓ,ˆA‰aˆDØ×Ñ˜c 8Ô,Ø× Ñ   c¨6Ó2ˆAÜ—8‘8œE (›OÓ,ˆA‰aˆDØ×Ñ˜Z¨Ð.@ÔAØ�G‰GŒIØ�G‰GŒI÷	ô �q“ó 	IˆAäÐ5°sÓ;ð ¸qÜ+-¯9©9°Q·[±[ÀÑ5H×5MÑ5MÈqÓ+Q�—‘˜FÑ#Ô(Ü35·7±7¸HÀhÐ;OÐQRÓ3S�—‘˜JÑ'¨ª1ªa¨Ñ0Ø—‘”	÷ô Ð5Ó6ð I¸!Ü˜QŸ[™[¨Ñ0°Ñ4°aÔ8Ü˜QŸ[™[¨Ñ4°RººA°XÑ>×CÑCÓEÜŸW™W h°Ð%9¸1Ó=ô?ä˜QŸ[™[¨Ñ0×5Ñ5×;Ñ;¸AÑ>ÀÀ!ÁÔDÜ˜QŸ[™[¨Ñ4×9Ñ9×?Ñ?ÀÑBÀAÀaÁCÔH÷Iñ Ið	Iô" Ð1Ó2ð 	-°aÜœxÓ(ð <¨BØ—‘˜JÑ'×3Ñ3°FÒ;÷<à—‘ˆBÜ˜Ÿ™ ™ VÔ,÷		-÷A$-ð $-÷	ñ 	ú÷ñ ú÷Iñ Iú÷<ð <ú÷	-ð 	-ú÷A$-ð $-ús…   �L>šC%K?Ã?#L>Ä"A?LÆ!L>Æ4C
LÉ>L>ÊL2Ê$L&Ë-L2Ë.L>Ë?L		ÌL>ÌLÌL>ÌL#ÌL>Ì&L/Ì+L2Ì2L;	Ì7L>Ì>Mc                  óÔ  — t        j                  ddd«      } d| d<   t         j                  j                  | d«      }t	        t
        d«      }t        |d¬	«      5 }|j                  d
   }t        |j                  d«       t        |j                  d«       t        |j                  t        j                  d«      «       |d d  j                  «       }~t        j                  |j                  «       d«      }t        ||«       d d d «       t!        «       5  d}t        |dd¬	«      }|j#                  d
t%        |«      «       |j'                  d
dd«      }d|_	        d|_        d|_
        ||d d  |j)                  «        t        |d¬	«      5 }|j                  d
   }t        |j                  d«       t        |j                  d«       t        |j                  t        j                  d«      «       t        j                  |j                  «       d«      }|d d  j                  «       }~t        ||«       d d d «       d d d «       y # 1 sw Y   �ŒDxY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)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€EÜ	�U¨Ô	.ð )°!Ø�{‰{˜=Ñ)ˆÜ�T×'Ñ'¨Ô.Ü�T—_‘_ bÔ)Ü�T×&Ñ&¬¯
©
°4Ó(8Ô9Ø‘Q�×"Ñ"Ó$ˆØÜ—8‘8˜BŸM™M›O¨QÓ/ˆÜ˜˜xÔ(÷)ô 
‹ñ -ØˆÜ˜ #°DÔ9ˆØ	×Ñ˜-¬¨R«Ô1Ø×Ñ ¨sÐ4DÓEˆØ!ˆÔØ ˆÔØˆŒØˆ‰QˆØ	�‰Œ	ä˜°Ô5ð 	-¸Ø—;‘;˜}Ñ-ˆDÜ˜×+Ñ+¨TÔ2Ü˜Ÿ™¨"Ô-Ü˜×*Ñ*¬B¯J©J°tÓ,<Ô=Ü—x‘x §¡£°Ó3ˆHØ™�G×&Ñ&Ó(ˆEØÜ˜E 8Ô,÷	-÷-ð -÷)ñ )ú÷*	-ð 	-ú÷-ð -ús3   ÁB)IÄA6IÆB)IÈ4IÉIÉI	ÉIÉI'c                  ó¨   — t        t        d«      } t        | d¬«      5 }|j                  d   d d  }t	        |g d¢«       d d d «       y # 1 sw Y   y xY w)Núexample_3_maskedvals.ncTrÙ   Úvar1_fillval0©FTF©rz   r{   r   r+   r6   ©r|   r$   Úvardatas      r%   Ú!test_read_withValuesNearFillValueró   é  sN   € ä”.Ð";Ó<€EÜ	�U¨Ô	.ð ;°!Ø—+‘+˜oÑ.©qÐ1ˆÜ˜GÒ%9Ô:÷;÷ ;ñ ;úó   ž!AÁAc                  óÄ   — t        t        d«      } t        | d¬«      5 }|j                  d   d d  }t	        |g d¢«       t        |g d¢«       d d d «       y # 1 sw Y   y xY w)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Ô&÷'÷ 'ñ 'ús   ž/AÁAc                  óÊ   — d} t        t        d«      }t        |d¬«      5 }|j                  d   d d  }t	        |g d¢«       t        || ddg«       d d d «       y # 1 sw Y   y xY w)	NrÜ   rí   TrÙ   Úvar3_fillvalAndMissingValue)TFFrV   r×   rù   )ÚIRRELEVANT_VALUEr|   r$   rò   s       r%   Ú&test_read_withFillValueAndMissingValuerþ   ù  si   € ð ÐÜ”.Ð";Ó<€EÜ	�U¨Ô	.ð 8°!Ø—+‘+Ð;Ñ<¹QÐ?ˆÜ˜GÒ%9Ô:Ü�WÐ/°°AÐ6Ô7÷8÷ 8ñ 8ús    0AÁA"c                  ó¨   — t        t        d«      } t        | d¬«      5 }|j                  d   d d  }t	        |g d¢«       d d d «       y # 1 sw Y   y xY w)Nrí   TrÙ   Úvar4_missingValuerï   rð   rñ   s      r%   Útest_read_withMissingValuer    sQ   € ô ”.Ð";Ó<€EÜ	�U¨Ô	.ð ;°!Ø—+‘+Ð1Ñ2±1Ð5ˆÜ˜GÒ%9Ô:÷;÷ ;ñ ;úrô   c                  ó¨   — t        t        d«      } t        | d¬«      5 }|j                  d   d d  }t	        |g d¢«       d d d «       y # 1 sw Y   y xY w)Nrí   TrÙ   Úvar5_fillvalNaNrï   rð   rñ   s      r%   Útest_read_withFillValNaNr    sO   € Ü”.Ð";Ó<€EÜ	�U¨Ô	.ð ;°!Ø—+‘+Ð/Ñ0±Ð3ˆÜ˜GÒ%9Ô:÷;÷ ;ñ ;úrô   c                  ó¨   — t        t        d«      } t        | d¬«      5 }|j                  d   d d  }t	        |g d¢«       d d d «       y # 1 sw Y   y xY w)Nrí   TrÙ   Ú	var6_charrï   rð   rñ   s      r%   Útest_read_withCharr    sN   € Ü”.Ð";Ó<€EÜ	�U¨Ô	.ð ;°!Ø—+‘+˜kÑ*©1Ð-ˆÜ˜GÒ%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 «       y # 1 sw Y   y xY w)Nrí   TrÙ   Úvar7_2dFrð   rñ   s      r%   Útest_read_with2dVarr
    sd   € Ü”.Ð";Ó<€EÜ	�U¨Ô	.ð U°!Ø—+‘+˜iÑ(©Ð+ˆÜ˜G t¨U m°e¸U°^ÀeÈTÀ]Ð%SÔT÷U÷ Uñ Uús   ž(AÁAc                  óÆ   — t        t        d«      } t        | dd¬«      5 }|j                  d   d d  }t	        |g d¢«       t        |g d¢«       d d d «       y # 1 sw Y   y xY w)Nrí   F)rÚ   r<   rü   r÷   rø   rù   rñ   s      r%   Útest_read_withMaskAndScaleFalser    s_   € ô ”.Ð";Ó<€Eô 
�U¨°UÔ	;ð )¸qØ—+‘+Ð;Ñ<¹QÐ?ˆÜ˜GÒ%:Ô;Ü�WšiÔ(÷)÷ )ñ )ús   Ÿ/AÁA )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ã Ý *å  Ý *á‘w˜xÓ(¨&Ó1€à€Ø€
ð �[‰[×&Ñ&€
ð ñ	ó ð	ò'ò&ò(Kò\+ò8.#òb=òò:ò "ò
Oò&ò:ò-ò.ò0òòò*'-òR"-òR;ò'ò8ò;ò;ò;òUó	)r/   