Ë
    qwjeL  ã                   ó°  — 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jB                  jD                  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?y)*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|_        |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       ú_/var/www/html/newmanjeet/manjet/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_matchesr5   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        j                  «       5  t        rt        j                   d	d
t"        «       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   �ŒrxY w# 1 sw Y   �Œ0x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Ú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   sÿ  € ä
�)‰)‹+€CðKÜ×!Ñ!Ó#ˆÜ
�‰�ÔÜ˜ cÔ*¨aØ÷ +ô ˜ cÔ*¨aÜ˜ŒOà)*ˆA�M‰M˜+Ñ&÷ +ô ˜Ô%¨ä˜Ÿ™¬ [Ô1Ü˜ŒOÜ˜Ÿ™ {Ñ3°QÔ7÷	 &ô ˜ cÔ*¨aÜ˜Ÿ
™
�NÔ#Ü˜ŒOÜ˜Ÿ™ {Ñ3°QÔ7÷ +ô ˜¨5Õ1°Qä˜Ÿ
™
�NÔ#Ü˜ŒO÷ 2ô �+˜tÔ$¨Ü˜TÔ" aä˜AŸJ™J˜Ô'Ü˜Q”÷ #÷ %ô ×$Ñ$Õ&ÝÜ×'Ñ'ØØHÜ"ôô
 �k 4Ô(¨DÜ  ¨DÕ1°QÜ˜AŸJ™JÔ'Ü  ”O÷ 2÷ )÷ 'ô �+˜uÔ%¨Ü˜T 3Ô'¨1Ü˜AŸJ™J˜Ô'Ü˜Q”Ø×!Ñ! )¨QÔ/Ø×&Ñ& y°#°|ÓD�Ø�‘A�÷ (÷ &ô ˜Ô%¨Ü˜ŒOÜ˜Ÿ™ YÑ/±Ð2°BÔ7÷ &õ
 ô ŒNÜŒNÜ
�‰�ŒÜ�‰�fÕ÷Q +Ñ*ú÷ +Ñ*ú÷ &Ñ%ú÷ +Ñ*ú÷ 2Ñ1ú÷ #Ñ"ú÷ %Ñ$ú÷ 2Ñ1ú÷ )Ñ(ú÷ 'Ñ&ú÷ (Ñ'ú÷ &Ñ%ú÷ &Ð%ûõ
 ô ŒNÜŒNÜ
�‰�ŒÜ�‰�fÕúsF  –5O ÁL%ÁO Á!L2Á<O ÂA L?ÃO Ã#;MÄO Ä3"MÅO Å)M3Å5"M&ÆM3ÆO Æ;.NÇ)NÇ7!N ÈNÈ NÈ(O È<N4É	AN'ÊN4ÊO Ê0(OËO Ì%L/Ì*O Ì2L<Ì7O Ì?M	ÍO ÍMÍO ÍM#ÍO Í&M0	Í+M3Í3M=Í8O Î N
ÎNÎN	ÎNÎN$ÎO Î'N1	Î,N4Î4N>Î9O ÏO
ÏO Ï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)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€GÜ	�W˜cÕ	"Ø×"Ñ"Ó$ˆ÷ 
#ô �gÓ€GÜ	�WÔ	 Ü�RÔ÷ 
ô �gÓ€GÜ”*œk¨7°C¸Ô>ä“	€IÜ	�Y ¨QÕ	/°4Ø×$Ñ$Ó&ˆ÷ 
0ô ˜Ó €IÜ	�YÔ	 4Ü�TÔÜ�T×&Ñ&¨Ô*÷ 
 ô ˜Ó €IÜ	�Y¨Õ	*¨dÜ�TÔÜ�T×&Ñ&¨Ô*÷ 
+Ð	*÷+ 
#Ñ	"ú÷ 
Ð	ú÷ 
0Ð	/ú÷ 
 Ð	ú÷
 
+Ð	*ú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 )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€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)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 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*.ncrV   Fr:   )r   ÚpjoinÚTEST_DATA_PATHr   )Úfnames    r$   Útest_read_example_datar~   ï   sO   € ä”eœN¨FÓ3Ö4ˆÜ˜ Õ$Ø÷ %ä˜ ¨%Ö0Ø÷ 1Ð0ñ 5ß$Ð$úç0Ð0ús   ©AÁAÁA	ÁA#	c                  óJ  — t        t        d«      } t        j                  «       5  d}t        j                  d|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 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€HÜ	×	 Ñ	 Õ	"ðRˆä×Ñ ¨'´>ÔBÜ˜ 3¨TÕ2°aØ—{‘{ 6Ñ*ˆH÷ 3÷	 
#ô ”, × 4Ñ 4°bÕ9÷	 3Ð2ú÷	 
#Ð	"ús#   ¥,BÁBÁ!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)	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€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é   Úuintr7   r   r   )r   ÚdtypeÚitemsizeÚappendr   r   r   r   rZ   r[   r   )Údtypesr#   Údts      r$   Útest_write_invalid_dtyper˜     s›   € Ø�xÐ €FÜ	‡x�x�ƒ×Ñ 1Ò$Ø�‰�eÔÜ	‡x�x�Ó× Ñ  AÒ%Ø�‰�fÔä	”W“Y Ô	$¨Ø	×Ñ˜&¤(Ô+ÛˆBÜœ* a×&6Ñ&6¸ÀÀIÕNñ ÷ 
%×	$Ñ	$ú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)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€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)	Nr7   rf   rr   rš   Úv1rœ   Úv2Úv3)r%   r   r   r   r   rj   r“   )r#   s    r$   Útest_dtype_specifiersr¥   2  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ÍÌÌÌÌÌì?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€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        j                  «       5  d}t        j                  d|t        «        |«       }d d d «       j                  «        y # 1 sw Y   ŒhxY w# 1 sw Y   Œlx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_  s,   ø€ Ü˜¨Õ-°Ø—;‘;˜uÑ%¡aÐ(÷ .×-Ò-ús   �+«4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€HåÜ×$Ñ$Õ&Ü×!Ñ! 'Ô*Ü˜X¨DÕ1°QØ—K‘K Ñ&¡qÐ)�à÷ 2÷ 'ô)ô
 
×	 Ñ	 Õ	"ðRˆä×Ñ ¨'´>ÔBÙ‹Fˆ÷	 
#ð
 ‡E�E…G÷ 2Ð1ú÷ 'Ð&ú÷ 
#Ð	"ús/   ¬#CÁC
Á#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)Nr7   Úzerodimrœ   F)r   r%   r   Úisrecr   )rª   r#   r›   s      r$   Útest_zero_dimensional_varr¸   l  s[   € Ü	‹€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.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Ü�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.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Ø	�‰Œ	÷! 
�‰ú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.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¸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÷ 8ô �q—ˆ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¸!Ü˜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÷ 7Ñ6ð ô" Ð1Ô2°aÜœxÔ(¨BØ—‘˜JÑ'×3Ñ3°FÒ;÷ )à—‘ˆBÜ˜Ÿ™ ™ VÔ,÷	 3÷A 
ˆç7Ñ7ú÷ <Ñ;ú÷ 7Ñ6ú÷ )Ð(ú÷ 3Ð2ú÷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„?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€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Ô,÷ 6÷ 
ˆ÷ 
/Ñ	.ú÷* 6Ð5ú÷ 
ˆú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©r{   r|   r   r*   r5   ©r}   r#   Úvardatas      r$   Ú!test_read_withValuesNearFillValuerò   ì  sE   € ä”.Ð";Ó<€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)   rW   rÖ   ©r{   r|   r   r*   r5   r
   rð   s      r$   Útest_read_withNoFillValuerù   ó  sR   € ô ”.Ð";Ó<€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)TFFrW   rÖ   rø   )ÚIRRELEVANT_VALUEr}   r#   rñ   s       r$   Ú&test_read_withFillValueAndMissingValuerý   ü  s`   € ð ÐÜ”.Ð";Ó<€EÜ	�U¨Õ	.°!Ø—+‘+Ð;Ñ<¹QÐ?ˆÜ˜GÒ%9Ô:Ü�WÐ/°°AÐ6Ô7÷ 
/×	.Ñ	.ú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     sH   € ô ”.Ð";Ó<€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    sF   € Ü”.Ð";Ó<€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    sE   € Ü”.Ð";Ó<€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	    sW   € Ü”.Ð";Ó<€EÜ	�U¨Õ	.°!Ø—+‘+˜iÑ(©Ð+ˆÜ˜G t¨U m°e¸U°^ÀeÈTÀ]Ð%SÔT÷ 
/×	.Ñ	.ú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     sV   € ô ”.Ð";Ó<€Eô 
�U¨°UÕ	;¸qØ—+‘+Ð;Ñ<¹QÐ?ˆÜ˜GÒ%:Ô;Ü�WšiÔ(÷ 
<×	;Ñ	;ús   Ÿ/AÁA )@Ú__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ã Ý *å  Ý *á‘w˜xÓ(¨&Ó1€à€Ø€
ð �[‰[×&Ñ&€
ð ñ	ó ð	ò'ò&ò(Nòb+ò8.#òb=òò:ò "ò
Oò&ò:ò-ò.ò0òòò*'-òR"-òR;ò'ò8ò;ò;ò;òUó	)r.   