U
    Xax                     @   s   d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d dlZd dlmZ d dlZedZeej e
 ZG dd dZdS )	    N)	Namespace)make_run_list)PathFind)message_rsmasZ
matplotlibc                   @   s   e Zd Zdd Zdd ZdS )	CreateRunc                 C   sB  |j | _ |j| _|jdkr&|jd | _tj| j tj| _	tj| j tj
| _|| _|j| j_g | _|jD ]}|dkr|j| dkr| jd|  qj|dkr| jd|  | jd|j|  qj|j| rj| jd|  | j|j|  qjt }|d D ]6}tjtj|j |rttj|j | qd S )	NtopsztopsStack.workflow)useGPUrmFilternofocuszeroZapplyWaterMask)TrueTz--)bbox	swath_numz"{}"r   )work_dirprefixtemplateworkflowospathjoinpathObjgeoreferencedirZgeo_reference_dir	minopydirZ
minopy_dirinpscustom_template_filecommand_optionsStack_templateappendformatisce_clean_listisdirshutilrmtree)selfr   itemZ
clean_list r%   =/home/centos/operations/rsmas_insar/minsar/utils/stack_run.py__init__   s0    



zCreateRun.__init__c                 C   s   | j dkr6t| jdd| j  dd| j }n*t| jdd| j  dd| j }td}t| t	j
|dd	 }|d
k	rtd|tjd< t| jd }|D ]}t| qd S )Nr   zstackSentinel.py  z:export PATH=$ISCE_STACK/topsStack:$PATH; stackSentinel.py zstackStripMap.py z>export PATH=$ISCE_STACK/stripmapStack:$PATH; stackStripMap.py PATHT)shellr   zERROR in create_runfiles.pyz/run_files/*.job)r   r   logr   r   r   r   getenvprint
subprocessPopenwait	Exceptionenvironglobremove)r#   cmdZsystem_pathstatusZwoke_PBS_job_filesfr%   r%   r&   run_stack_workflow9   s    


zCreateRun.run_stack_workflowN)__name__
__module____qualname__r'   r8   r%   r%   r%   r&   r      s   r   )r   sysr.   argparser   r!   r3   minsar.utils.process_utilitiesr   minsar.objects.auto_defaultsr   
contextlibminsar.objectsr   ZloggingZ	getLoggerZ
mpl_loggerZsetLevelZWARNINGr   r   r%   r%   r%   r&   <module>   s   
