B
    É¦^]¬l  ã            	   @   s  d dl Zd dlZd dlmZmZm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mZ g g g g g fdd„Zg g g g g fd	d
„Zg g g g g fdd„Zg g g g fdd„Zg g g g fdd„Zddejjdfdd„Zd'dd„Zd(dd „Zd)d#d$„Zd%d&„ ZdS )*é    N)ÚDatasetÚnum2dateÚdate2num)Úpyplot)ÚBasemap)ÚPolygon)ÚPatchCollectionc             C   s®  t | ƒ}|jd d d … }|jd d d … }|jd d d … }	|jd d d … }
|jd d d … }t|ƒdkrÊ|\}}}}||k ||k@ ||k@ ||k @ }|| }|| }|	| }	|
| }
|d d …|f }|jd }t|d d … |jd�}| ¡  tj |¡}t	 
t	 
|¡j¡}t	j|||
d	�}t|ƒdk�rB||d |d
 … }t|ƒdk�r¾|\}}}|||… }t t |j¡¡ d¡||jd  k}|jd d …|f }|	| }	|
| }
|| }|| }t|ƒdk�r:|\}}}|||… }t t |j¡¡ d¡||jd  k}|jd d …|f }|	| }	|
| }
|| }|| }t|ƒdk�r xV|D ]N}t t| ¡ ƒ|k¡}|jd d …|f }|	| }	|
| }
|| }|| }�qNW ||	|
||fS )NÚlatÚlonÚidÚnameÚprr   Útime)Úunits)ÚindexÚcolumnsé   )r   Ú	variablesÚlenr   r   ÚcloseÚnpÚmaÚmasked_invalidÚpdÚto_datetimeÚdateÚ	DataFrameÚinvertÚisnanÚvaluesÚsumÚshapeÚilocÚlistÚkeys)ÚncfileÚ_bndsÚ	_timebndsÚ_cov1Ú_cov2Ú_excludeÚncdsetÚ_latsÚ_lonsÚ_idsÚ_namesÚdataÚx1Úx2Úy1Úy2Ú_selÚ_timesÚ_datesÚ_prÚ	_obsdatesÚfyÚlyÚfracÚtestÚ_nn© r?   úI/work/projects/capetowndrought/scripts_trendspaper/functions_rainfall3.pyÚreadSAWSonefile
   sb     

&
&
rA   c       &   	   C   s:  d}t |ƒ}|jd d d … }|jd d d … }|jd d d … }	|jd d d … }
|jd d d … }t| ƒdkrÎ| \}}}}||k ||k@ ||k@ ||k @ }|| }|| }|	| }	|
| }
|d d …|f }|jd }t|d d … |jd	�}| ¡  tj |¡}t	j
d
ddd�}t	j|||
d�}tddƒ�*}| ¡ dd … }t dd„ |D ƒ¡}W d Q R X t |d d …df ¡}|d d …df }|d d …df }d}xª|D ]¢}|d d …df |k}t	 dd„ || D ƒ¡}|| }d||dk< | d¡}|dk�rød}|dk�rt	j|||gd�}nt	 |t	j|||gd�gd¡}|d }�qœW |j ¡ |_t	j
dddd�}t t|ƒ|jd g¡} tj| d d …< | t	j| |t| ¡ ƒd�¡}| |¡ t|ƒdk�rÎ||d |d … }t|ƒdk�rJ|\}!}"}#||!|"… }$t t |$j¡¡ d¡|#|$jd  k}|jd d …|f }|	| }	|
| }
|| }|| }t|ƒdk�rÆ|\}!}"}#||!|"… }$t t |$j¡¡ d¡|#|$jd  k}|jd d …|f }|	| }	|
| }
|| }|| }t|ƒdk�r,xV|D ]N}%t t| ¡ ƒ|%k¡}|jd d …|f }|	| }	|
| }
|| }|| }�qÚW ||	|
||fS )Nz'/work/data/saws/south_africa_2015.pr.ncÚlatitudeÚ	longituder   r   r   r   r   )r   z
1850-01-01z
2015-12-31ÚD)Úfreq)r   r   z%../data/bigsix/sawsupdate/alldata.csvÚrr   c             S   s   g | ]}|  ¡  d ¡‘qS )ú,)ÚstripÚsplit)Ú.0Úxr?   r?   r@   ú
<listcomp>a   s    zreadSAWS.<locals>.<listcomp>é   é   c             S   s   g | ]}|  ¡ ‘qS r?   )rH   )rJ   rK   r?   r?   r@   rL   i   s    ÚnanÚ ÚfloatzVILLIERSDORP-SOS ARSZVILLIERSDORPz
2016-01-01z
2017-12-31) r   r   r   r   r   r   r   r   r   r   Ú
date_ranger   ÚopenÚ	readlinesÚarrayÚuniquer   ÚastypeÚconcatr   Úzerosr!   rO   Úappendr#   r$   Úupdater   r   r   r    r"   )&r&   r'   r(   r)   r*   r%   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   ÚinpfZ_unamesZ_udatesZ_uprÚnÚ_nameÚselZseldatesÚtempÚprupdateZappenddatesÚfillerr:   r;   r<   r=   r>   r?   r?   r@   ÚreadSAWSG   s–     






&
&
rc   c             C   sÚ  t | ƒ}|jd d d … }|jd d d … }|jd d d … }	|jd d d … }
|jd d d … }t|ƒdkrÌ|\}}}}||k ||k@ ||k@ ||k @ }|| }|| }|	| }|
| }|d d …|f }nt |	¡}t |
¡}|jd }t|d d … |jd�}| ¡  tj 	|¡}tj
||dk < tj|t t |¡j¡|d	�}t|ƒdk�rb||d |d
 … }t|ƒdk�rÞ|\}}}|||… }t t |j¡¡ d¡||jd  k}|jd d …|f }|| }|| }|| }|| }t|ƒdk�rZ|\}}}|||… }t t |j¡¡ d¡||jd  k}|jd d …|f }|| }|| }|| }|| }t|ƒdk�rÌxb|D ]Z}tt t| ¡ ƒ|k¡ƒ}t|ƒ |jd d …|f }|| }|| }|| }|| }�qnW |||||fS )NrB   rC   r   r   r   r   r   )r   )r   r   r   )r   r   r   r   Úcopyr   r   r   r   r   rO   r   r   r   r   r   r   r   r    r!   r"   Úintr#   r$   Úprint)Z_ncfiler&   r'   r(   r)   r*   r+   r,   r-   Ú_ids0Ú_names0r0   r1   r2   r3   r4   r_   r.   r/   r6   r7   r8   r:   r;   r<   r=   r5   r>   r?   r?   r@   ÚreadDWS2£   sh     



&
&
ri   c       "   
      sX  d}d}t |ƒ}|jd d d … }|jd d d … }|jd d d … ‰ |jd d d … ‰|jd d d … }t| ƒdkrÔ| \}	}
}}||k ||k@ ||	k@ ||
k @ }|| }|| }ˆ | }ˆ| }|d d …|f }nt ˆ ¡}t ˆ¡}|jd	 }t|d d … |jd
�}| ¡  tj 	|¡}t
j|t
 t
 |¡j¡|d�}t|d ƒ t d¡}d}xÄ|D ]¼}tj |¡ d¡}t|dƒ�}| ¡ dd… }W d Q R X t dd„ |D ƒ¡}t
 |d d …df ¡}t
j|d d …df  t¡||gd�}|dk�rø| ¡ }nt
j||dddd�}|d }�qZW ‡ ‡fdd„t| ¡ ƒD ƒ}||_| |¡ t|ƒdk�rh||d |d … }t|ƒdk�rä|\}}}|||… }t t |j ¡¡ !d¡d|j"d  k} |j#d d …| f }||  }||  }||  }||  }t|ƒdk�rJxV|D ]N}!t t| ¡ ƒ|!k¡} |j#d d …| f }||  }||  }||  }||  }�qøW |||||fS )Nz./work/data/dws/pr_dws_day_19000101-20171208.ncz./work/data/dws/pr_dws_day_19000101-20181231.ncrB   rC   r   r   r   r   r   )r   )r   r   éÿÿÿÿz../data/bigsix/dwsupdate/*.txtz.txtrF   é   iïÿÿÿc             S   s   g | ]}|  ¡  ¡ ‘qS r?   )rH   rI   )rJ   rK   r?   r?   r@   rL     s    zreadDWS_old.<locals>.<listcomp>r   ÚouterT)ÚhowÚ
left_indexÚright_indexc                s&   g | ]}ˆt  ˆ |k¡d  d   ‘qS )r   )r   Úwhere)rJ   rK   )rg   rh   r?   r@   rL     s    gÍÌÌÌÌÌì?)$r   r   r   r   rd   r   r   r   r   r   r   r   r   r   rf   ÚglobÚosÚpathÚbasenamerH   rS   rT   rU   rW   rQ   Úmerger#   r$   r   r[   r   r   r   r    r!   r"   )"r&   r'   Ú_covr*   r%   r+   r,   r-   r0   r1   r2   r3   r4   r_   r.   r/   r6   r7   r8   Ú	filenamesÚiÚfnameÚstnamer\   Údatesr`   ra   Úupdatenamesr:   r;   r<   r=   r5   r>   r?   )rg   rh   r@   ÚreadDWS_oldá   sx     




$



&
r}   c       "   
      sH  d}t |ƒ}|jd d d … }|jd d d … }|jd d d … ‰ |jd d d … ‰|jd d d … }t| ƒdkrÐ| \}	}
}}||k ||k@ ||	k@ ||
k @ }|| }|| }ˆ | }ˆ| }|d d …|f }nt ˆ ¡}t ˆ¡}|jd }t|d d … |jd	�}| ¡  tj 	|¡}t
j|t
 t
 |¡j¡|d
�}t d¡}d}xÄ|D ]¼}tj |¡ d¡}t|dƒ�}| ¡ dd… }W d Q R X t dd„ |D ƒ¡}t
 |d d …df ¡}t
j|d d …df  t¡||gd
�}|dk�rè| ¡ }nt
j||dddd�}|d }�qJW ‡ ‡fdd„t| ¡ ƒD ƒ}||_| |¡ t|ƒdk�rX||d |d … }t|ƒdk�rÔ|\}}}|||… }t t |j¡¡  d¡d|j!d  k} |j"d d …| f }||  }||  }||  }||  }t|ƒdk�r:xV|D ]N}!t t| ¡ ƒ|!k¡} |j"d d …| f }||  }||  }||  }||  }�qèW |||||fS )Nz./work/data/dws/pr_dws_day_19000101-20171208.ncrB   rC   r   r   r   r   r   )r   )r   r   z../data/bigsix/dwsupdate/*.txtz.txtrF   rk   iïÿÿÿc             S   s   g | ]}|  ¡  ¡ ‘qS r?   )rH   rI   )rJ   rK   r?   r?   r@   rL   I  s    zreadCoCT.<locals>.<listcomp>r   rl   T)rm   rn   ro   c                s&   g | ]}ˆt  ˆ |k¡d  d   ‘qS )r   )r   rp   )rJ   rK   )rg   rh   r?   r@   rL   R  s    gÍÌÌÌÌÌì?)#r   r   r   r   rd   r   r   r   r   r   r   r   r   r   rq   rr   rs   rt   rH   rS   rT   rU   rW   rQ   ru   r#   r$   r   r[   r   r   r   r    r!   r"   )"r&   r'   rv   r*   r%   r+   r,   r-   r0   r1   r2   r3   r4   r_   r.   r/   r6   r7   r8   rw   rx   ry   rz   r\   r{   r`   ra   r|   r:   r;   r<   r=   r5   r>   r?   )rg   rh   r@   ÚreadCoCT)  st     




$



&
r~   ÚbluerM   c             C   s4  t dddd|d |d |d |d d	d
�	}|jt ddd¡ddddgddgddd� |jt ddd¡ddddgddgddd� |jddd� |jdddd� y| dd¡ W n   | dd¡ Y nX g }	x0t|j	|j
ƒD ]\}
}|	 tt |¡dƒ¡ qÚW |  t|	ddddd�¡ |j||||dd|ddd �	 |S )!NÚmercrx   iâÿÿÿé
   é   é   r   r   i­  )	Ú
projectionÚ
resolutionÚlat_0Úlon_0Ú	llcrnrlatÚ	urcrnrlatÚ	llcrnrlonÚ	urcrnrlonÚepsgg      IÀg        g      à?g      Ð?z0.5)ÚlabelsÚdashesÚ	linewidthÚcoloriöÿÿÿg      Y@ÚwhiteÚgray)Ú
fill_colorr�   z0.8)r�   Ú
lake_colorÚzorderz#/work/data/gis/southafrica/bigsix2dÚdamsz//work/orange/work/data/gis/southafrica/bigsix2dTÚdeepskyblueg      ð?)Ú	facecolorÚ	edgecolorÚ
linewidthsr•   rN   )r�   Ú
edgecolorsÚlatlonr�   Úsr•   Úalpha)r   Údrawparallelsr   ÚarangeÚdrawmeridiansÚdrawmapboundaryÚfillcontinentsÚreadshapefileÚzipZ	dams_infor–   rZ   r   rU   Úadd_collectionr   Úscatter)Úplr,   r-   Úextr�   r™   ÚcmapÚmsizeÚmÚpatchesÚinfor!   r?   r?   r@   Úplotmapo  s    ***r¯   Fc       	         sè   ddl m} ddlm} tj |¡}tj|| dd�‰ |rVt	d‡ fdd„t
d	d
ƒD ƒƒ |d d…  d¡}|d	d …  d¡}t || d ¡t |d ¡ }|r¨t	d|ƒ ||d	dd�\}}|rÐt	d|ƒ t	dƒ ‡ fdd„t
d	d
ƒD ƒS )Nr   )Úacorr_ljungbox)ÚacfT)r   rd   z%autocorrelation for first three lags:c                s   g | ]}ˆ   |¡‘qS r?   )Úautocorr)rJ   rx   )Úpdfr?   r@   rL   £  s    z!autocorr_test.<locals>.<listcomp>r   rM   rj   rQ   r‚   z;Durbin-Watson statistic (close to 2 if no autocorrelation):F)ÚlagsZ	boxpiercez+Ljung-Box p-value on lag 1 autocorrelation:rP   c                s   g | ]}ˆ   |¡‘qS r?   )r²   )rJ   rx   )r³   r?   r@   rL   ®  s    )Zstatsmodels.stats.diagnosticr°   Zstatsmodels.tsa.stattoolsr±   r   r   r   r   ÚSeriesrf   ÚrangerW   Únansum)	Z_xdataZ_ydataÚverboser°   r±   ÚaÚbÚ_statÚ_pvaluer?   )r³   r@   Úautocorr_test�  s     
 

r½   éè  é_   Úlinregç      à?ç333333ã?rƒ   Ú	bootstrapc       =   	   C   sž  ddl m} ddlm} ddlm} ddlm  m} ddlm	} ddl
m  m} ddlm} ddlm}m}m}m} ddlm}m} |	dkrœ|d	krœd
}	t | ¡} tj |¡}t|ƒ}d| d }d| }|d
krô|dt ttt|ƒƒƒ¡ƒ}n|t ttt|ƒƒƒ¡ƒ}|dk�r€|
�r:td|	 d t|ƒ d ƒ tj t !| |g¡ddgd�}| "d|¡}|j#|d�}|j$j%}|j$j&} |j'd }!| (¡ d d }"| (¡ d d }#| )|¡}$||$ }%t*| |%dƒ |	d
k�r€t +|$¡ ,dd¡}&g }'g }(x”| -|¡D ]†})|)d d }*| "d|j.|*dd…f ¡}yH|j#|d�}|'|j$j&g }'|(|j$j%g }(t /|&| )|¡ ,dd¡d¡}&W n   d}+Y nX �qöW |dk�rÒ|
�r¬td|	 d t|ƒ d ƒ | 0| ¡},|j||,ddd�}| #¡ }|j$\}} |j'd }!| (¡ d \}"}#| )|,¡}$||$ }%t*| |%ƒ |	d
k�rÒg }'g }(t +|$¡ ,dd¡}&xœ| -|¡D ]Ž})|)d d }*|j||* |,|*dd…f ddd�}yH| #¡ }|'|j$d g }'|(|j$d g }(t /|&| )|,¡ ,dd¡d¡}&W n   d}+Y nX �q@W |d	k�rö|
�rþtd|	 d t|ƒ d ƒ || |ƒ\}-}!|
�r td |-d!|!ƒ |j1|| d"d#�\} }.}"}#|.| |   }$||$ }%t*| |%ƒ |	d
k�rög }'g }(t +|$¡ ,dd¡}&xz| -|¡D ]l})|)d d }*|j1||* | |* d"d#�}|'|d g }'|(|d g }(t /|&|d |d |    ,dd¡d¡}&�q†W |d$k�rö|
�rtd%ƒ t2|j3|| ||dd&�ƒ}/t tt4|/j5| ƒƒ¡ 6d'¡ ,dd¡}$t +|$¡}&x | -|¡D ]’})|)d d }*ynt2|j3||* | |* ||dd&�ƒ}/t tt4|/j5| ƒƒ¡ 6d'¡ ,dd¡}/tj |/| d(�}0|0 7¡ j8}1t /|&|1d¡}&W n   d}+Y nX �q`W |d$k�rTtj9}"tj9}#tj9} tj9}tj9}!t :|&||gd¡}2|2dd…df }3|2dd…df }4�n2|	d
k�rÜt ;|'d)d*g¡\}"}#||'ƒ}5|5dƒ}!|!d+k�r”d|! }!|
�r¤t|&j<ƒ t :|&||gd¡ =¡ }2|2dd…df }3|2dd…df }4nªt | ¡d, }6|6t >|6¡ d }7d,t| ƒ |7t?|7ƒ  d+ }/t @t |¡t A|$¡ d ¡t| ƒ d+ }8dd|d-  d  }9| B|9t| ƒd ¡}:|:|8 |/ };|$|; }4|$|; }3| |#|"|!|$|3|4d.œ}<|<S )/aŽ  calculates bootstrap confidence interval and significance level for trend, ignoring autocorrelation or accounting for it
    Parameters
    ----------
    x_var : list
      independent variable
    y_var : list
      dependent variable, same length as x_var
    q : int, optional, only if trendtype==quantreg
      quantile for which regression is to be calculated
    n : int, optional
      number of bootstrap samples
    ci : int, optional
      confidence level. Default is for 95% confidence interval
    frac : int, optional, only if trendtype==lowess
      lowess parameter (fraction of time period length used in local regression)
    it : int, optional, only if trendtype==lowess
      lowess parameter (numbre of iterations)
    autocorr : str, optional
      way of accounting for autocorrelation, possible values: None, "bootstrap"
    trendtype : str, optional
      method of trend derivation, possible values: lowess, linreg, quantreg, TheilSen
    CItype : str, optional
      method of CI derivation, possible values: "analytical" and "bootstrap". 
      if trendtype is "lowess", CItype will be set to None
      if CItype is "analytical": autocorrelation will be set to None
      

    Results
    -------
    returns library with following elements:
    slope - slope of the trend
    CI_high - CI on the slope value
    CI_low - as above
    pvalue - trend's significance level
    trend - trend line, or rather its y values for all x_var
    trendCI_high - confidence interval for each value of y
    trendCI_low - as above

    Remarks
    -------
    the fit function ocassionally crashes on resampled data. The workaround is to use try statement
    r   N)ÚOLS)ÚQuantReg)ÚECDF)ÚmstatsÚmannwhitneyuÚtÚ
kendalltau)ÚStationaryBootstrapÚIIDBootstrapÚ
analyticalZTheilSenrÃ   éd   r‚   rƒ   ÚquantregzQuantile regression, CI type: z, autocorrelation adjustment: Ú
ÚXÚY)r   zY ~ X)Úqr   Frj   rÀ   zLinear regression, CI type: TÚdrop)ÚhasconstÚmissingzTheil-Sen slope, CI type: zraw MK tau:zraw MK pvalue:gffffffî?)rž   ÚlowesszLowess
)r<   ÚitrÖ   rQ   )r   rN   r¿   g      à?g      ð?g      Y@)ÚslopeÚCI_highÚCI_lowÚpvalueZtrendÚtrendCI_lowÚtrendCI_high)CZstatsmodels.apiÚapiZ#statsmodels.regression.linear_modelrÄ   Zstatsmodels.tsaÚtsaZstatsmodels.formula.apiZformulaZ*statsmodels.regression.quantile_regressionrÅ   Zstatsmodels.nonparametric.apiZnonparametricÚ0statsmodels.distributions.empirical_distributionrÆ   Úscipy.statsrÇ   rÈ   rÉ   rÊ   Úarch.bootstraprË   rÌ   r   rU   r   r   r   r#   r¶   rf   Ústrr   r   Úcolumn_stackrÏ   ÚfitÚparamsZ	InterceptrÑ   ÚpvaluesZconf_intZpredictr½   rd   ÚreshaperÃ   ÚixrZ   Zadd_constantÚtheilslopesÚdictr×   ÚmapÚgetrW   Úinterpolater   rO   ÚnanpercentileÚ
percentiler!   Ú	transposeÚmeanr    r·   ÚnanmeanÚppf)=Úx_varÚy_varZn_bootÚciZ	trendtyperÓ   r<   rØ   r²   ZCItyper¸   ÚsmrÄ   rà   ZsmfrÅ   ZnpsmrÆ   rÇ   rÈ   rÉ   rÊ   rË   rÌ   Zn_dataZci_lowZci_highÚbsZxydataÚmodelÚresZintcptrÙ   rÜ   rÛ   rÚ   Zy_predÚresidsZ	bs_trendsÚ	bs_slopesZ
bs_intcptsr0   ÚindZgoingdownquietlyZx_varOLSÚtauÚ	interceptr`   ÚpredZtemp_interpZconfintrÝ   rÞ   ÚecdfZxtempZsquanomZseeZci_adjZtcompZcintÚoutputr?   r?   r@   Útrend_CI°  s   ,




 






" 


,
$
 $




*r  rÍ   r�   c       !      C   sÚ  ddl m}m} ddlm}m} ddlm} d}t| ƒ}	|	| d }
t	 
|
|	g¡}t	j|d d …< t	 
|
|	g¡}t	j|d d …< �xRt||	d ƒD �]>}t|ƒ |d }|	| }|dt	 tt|ƒƒ¡ƒ}�xt||ƒD ]ø}||d  }|| }| ||… }t	 |¡}|d	k�r2|j||d
d�\}}}}|||ƒ\}}nxg }xF| |¡D ]8}|d d }|j|| || d
d�}||d g }�qBW t	 |¡}||ƒ} | dƒ}|dk�rªd| }|||| |f< |||| |f< qÒW qŽW ||gS )Nr   )rÇ   rÊ   )rË   rÌ   )rÆ   rÎ   r   r‚   rƒ   rÍ   gffffffî?)rž   g      à?)râ   rÇ   rÊ   rã   rË   rÌ   rá   rÆ   r   r   rY   rO   r¶   rf   rU   r#   r    rë   rÃ   Úmedian)!Ú_tsZ_howZ
_minwindowrÇ   rÊ   rË   rÌ   rÆ   Z_nbootZ_ntsÚ_nlevelsÚ_slopeÚ_pvalZ_windowÚ_firstÚ_lastrú   Ú_blockÚ_x0Ú_x1Z_subtsrö   Z_trendr  rÛ   rÚ   Z_taur¼   rþ   r0   rÿ   rü   r  r?   r?   r@   Útrendpyramid¢  sH    



r  c             C   s  |\}}}}|| d }t jdd�}t  ddd¡}	|	jt | d ¡dt jj||d�}
|	jt |¡dk ddd	gd
d� |	 	t
td|dƒƒ¡ |	jt
t|d |dƒƒdd� |	 t
td
|d dƒƒ¡ |	 t
t|ddƒƒ¡ |	 d¡ |	 d¡ |	 d¡ t j|
ddd� t  d¡ t  ¡  d S )Nr   )r�   r�   )Úfigsizer�   Únearest)Úinterpolationrª   ÚvminÚvmaxgš™™™™™©?rP   z///r   )Úhatchesrž   rN   éK   )ÚrotationiöÿÿÿgÍÌÌÌÌÌä?zcentered on yearzwindow width [years]g333333Ã?gš™™™™™Ù?)ÚfractionÚshrinkzrainfall trend [mm/decade])ÚpltÚfigureÚsubplotÚimshowr   ÚflipudÚcmZbwr_rÚcontourfÚ
set_xticksr#   r¶   Úset_xticklabelsÚ
set_yticksÚset_yticklabelsÚ
set_aspectÚ
set_xlabelÚ
set_ylabelÚcolorbarÚtitleÚshow)r	  r
  Z
plotparamsr:   r;   r  r  ÚnyÚfigr¨   Úaxr?   r?   r@   ÚplotpyramidÎ  s     " 



r/  )F)	r¾   r¿   rÀ   rÁ   rÂ   rƒ   NrÃ   F)rÍ   r�   )Únumpyr   Úpandasr   ÚnetCDF4r   r   r   rr   rq   Ú
matplotlibr   r  Úmpl_toolkits.basemapr   Úmatplotlib.patchesr   Úmatplotlib.collectionsr   rA   rc   ri   r}   r~   r   ZRdYlBu_rr¯   r½   r  r  r/  r?   r?   r?   r@   Ú<module>   s$   =\>HF!
 
 s
,