o qg@sdZddlZddlZddlZddlZddlZddlZddlmZm Z ej dZ ej dej e ddlZddZddZd d ZdS) a, Program Name: prune_stat_files.py Contact(s): Marcel Caron, Mallory Row, and L. Gwen Chen (lichuan.chen@noaa.gov) Abstract: This script is run by all scripts in the verif_plotting software. This prunes the MET stat files for the specific plotting job to help decrease wall time. N)datetime timedeltaUSH_DIRccs,|}||kr|V||7}||ksdSdS)N)startendtdcurrrrH/lfs/h1/ops/prod/packages/evs.v1.0.19/ush/global_ens/prune_stat_files.py dateranges r c Csht|ttj|tj|fidt|dt| dt| dt|dt| dt| dt|dt| d t| d t|d t| d t| d t|dt| dt| dt|dt| dt| dt| dt|  dt|  dt| dt|  dt|  d| d| f} | S)NZRUN_CASEZRUN_CASE_UPPERZRUN_CASE_LOWERZRUN_TYPEZRUN_TYPE_UPPERZRUN_TYPE_LOWER LINE_TYPEZLINE_TYPE_UPPERZLINE_TYPE_LOWERVX_MASKZ VX_MASK_UPPERZ VX_MASK_LOWERZVAR_NAMEZVAR_NAME_UPPERZVAR_NAME_LOWERMODELZ MODEL_UPPERZ MODEL_LOWEROBTYPEZ OBTYPE_UPPERZ OBTYPE_LOWER EVAL_PERIODZEVAL_PERIOD_UPPERZEVAL_PERIOD_LOWERVALIDvalid) np concatenateglobospathjoinstring_template_substitutionZ do_string_substrupperlower) met_stat_filesdata_diroutput_base_templateRUN_caseRUN_type line_typevx_maskvar_namemodelobtype eval_periodrZmet_stat_files_outrrr expand_met_stat_filess|                    r(cCsftdtjt| D]}g}t|d|dtddD]}t||||||| | || || }qtj||d| d| d||}tj |sOt |t |dkrVq t |d }| }Wdn1skwYd}|dkrd| vrtd |d |d | d d | d|dtjdd| dd| d|dtjdd}n*td |d |d | d d | d|d| dd| d|d}|D] }tjd|d||dtjtjdd}|d}||}qtj||d}t |d}|||Wdn 1s!wYq tdtjtdS)NzBEGIN: r)days_anomHGTzPruning z files for model z , vx_mask z , variable /z , line_type z , interp INTERPz | grep "z " | grep "z\|"z grep -R "z" TzUTF-8)shellstdoutstderrencodingz.statwzEND: )printrrbasename__file__r rr(rexistsmakedirslenopenreadlineenviron subprocessPopenPIPESTDOUT communicatewrite)rZ prune_dirZtmp_dirrZ valid_ranger'r r!r"r#fcst_var_namesr$ model_listr&r%rrZpruned_data_dirZmsfZmet_header_colsZall_grep_outputZ filter_cmdZ met_stat_filepsZ grep_outputZpruned_met_stat_fileZpmsfrrr prune_data:s         rI)__doc__rr@rresysnumpyrrrrr? SETTINGS_DIRrinsertabspathrr r(rIrrrr s