o
    Míh÷  ã                   @   s@   d dl Zd dlmZmZmZ dd„ Zdd„ Zdd„ Zd	d
„ Z	dS )é    N)Úget_dir_pathÚget_sectorsÚget_emis_vertintc	                 C   sf  ddddœ}	t |ƒ}
|	|d d…  }d}t |
d ¡d }t |ƒ}
g }d	}t|||||ƒD ]ƒ\}}}}}d
|v rBt |
d ¡d }n	t |
d ¡d }|}||krgt |
| ¡jtt|ƒt|ƒƒd}t|ƒ}|| j|| d}|d krŠtjdd | 	d¡ 
d¡}| ddi¡}| d¡| | d  ddg¡j| }|| d | k r©||  }| |¡ |}q-|S )NÚSO2_em_anthroÚBC_em_anthroÚOC_em_anthro©ÚsoÚbcÚpoé   çK‘|% ?zgridarea_CEDS.ncÚ	cell_areaÚ Z1850©Útime)ÚsectorT©Úuse_floxú
time.monthr   Úmonthé   ÚlatÚloné   )r   ÚxrÚopen_datasetÚzipÚselÚsliceÚstrr   Úset_optionsÚgroupbyÚmeanÚrenameÚsumÚvaluesÚappend)ÚyearsÚsectorsÚindirÚ	filenamesÚstartÚendÚvarr#   ÚfracsÚspecies_originnameÚin_dir_pathÚorig_varnameÚfactbbÚgridÚtotlistÚnew_fileÚsectÚfileÚfracÚsÚeZold_fileÚdataÚ
av_sectorsZ	data_sectÚval© r?   úQ/global/cfs/cdirs/e3sm/www/hass877/share/emis_processing/FlexEmis/src/checkers.pyÚorigSurfData_Checker   s<   þ$&
rA   c                 C   s´   t |ƒ}d}d}d| | }t| j ¡ ƒ}	|	 d¡ |	 d¡ |	 d¡ |	 d¡ t|	ƒ g }
|	D ]&}| | }||  d¡}t || ¡d	 }|
 	|| | d
 d  ¡ j
¡ q1|
S )NçêWôTáßDr   é
   Údater   r   Úlevr   Úareaç Èv•uÂBr   )r   ÚlistÚ	variablesÚkeysÚremoveÚprintr%   r   r   r'   r&   )ÚndataÚmwr*   r#   r4   r1   Úavgodr3   ÚfactorÚvarblsr5   ÚvÚccÚddÚne30arear?   r?   r@   ÚnewSurfData_Checker%   s"   



"rV   c                 C   sÌ  ddddœ}t |ƒ}d}d}g }t|||
|	||ƒD ]I\}}}}}}d| | }|dkrï||d d	…  }|d kr–t |d
 ¡d }|d }t || ¡jtt|ƒt|ƒƒd}|d krptjdd | d¡ 	d¡}| 
ddi¡}||  d¡}|| |  ¡ d | }|| d | k r||  }| |j¡ nYt |d ¡d }t || ¡jtt|ƒt|ƒƒd}|d krÊtjdd | d¡ 	d¡}| 
ddi¡}||  d¡}||  ¡ | d | }|| d | k ré||  }| |j¡ |dkrt |d ¡d }t || ¡| }t|ƒ d¡}|| | | d  ¡ }| |j¡ d|v rc| d¡d }t || ¡d }t || ¡}|| |  d¡}|| | d d  ¡ }|| d | k r]||  }| |j¡ q|S )NZSO2ZBCZOCr   rB   r   rC   ÚBBr   zGFED_gridarea_p25.ncr   z'_biomass_burning_emis_GFED_1997-2022.ncr   Tr   r   r   r   r   r   zBB_gridarea_p25.ncÚcontvolczgridarea_RLL.ncZ_ELEVÚ_r   rF   rG   )r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r'   r&   r   Úsplit)r(   r)   r*   ÚoutdirÚfilenamer,   r-   r.   r#   r/   ZmwsÚcgridZvar_originnamer1   rO   r3   r5   r7   r8   rN   r9   r:   r;   rP   r4   r<   rS   r>   Z	sect_namerU   Úbbr?   r?   r@   ÚorigElevData_Checker8   sj   þ$$$

€r_   c                 C   sÜ   t |ƒ}d}d}d| | }t| j ¡ ƒ}| d¡ | d¡ | d¡ | d¡ | d¡ g }	t| jƒd	 }
|D ]2}t| | ƒ}||  d
¡}t	 
|| ¡d }|| | d d	  ¡ j}|dkrf||
 }|	 |¡ q9|	S )NrB   r   rC   rD   r   r   ÚaltitudeZaltitude_intr   r   rF   rG   rX   )r   rH   rI   rJ   rK   Úlenr   r   r%   r   r   r&   r'   )rM   rN   r*   r4   r1   rO   r3   rP   rQ   r5   r(   rR   rS   rT   rU   r>   r?   r?   r@   ÚnewElevData_Checkero   s*   




rb   )
Úxarrayr   Ú	src.utilsr   r   r   rA   rV   r_   rb   r?   r?   r?   r@   Ú<module>   s     7