3 ��O`�������������������@���sF���d�dl�Z�d�dlZd�dlZdd��Zdd��Zdd��Zdd ��Zdd d�ZdS�) �����Nc�������������C���s���|�j�j��s|�j�jddd��d�S�)NT)�parents�exist_ok)�parent�exists�mkdir)�output_path��r����Y/gpfs/hps/nco/ops/nwprod/ens_tracker.v1.2.2/ush/FSUgenesisPY/genesis_guidance/io_utils.py� mkparents���s���� r ���c�������������C���s���t�j|�d||�S�)NZtracker)�pathlib�Path)�data_dir�model�basinr���r���r ����tracker_output_dir���s����r���c�������������C���s.���t�jt|�||�dj||||d��}t|��|S�)Nz5{rundate:%Y%m%d%H}_{model}_{storm_id:02}_{suffix}.txt)�rundate�suffixr����storm_id)r���r���r����formatr ���)r ���r���r���r���r���r���r���r���r���r ����tracker_output_path���s���� r���c�������������C���s,���t�jt|�||�dj|||d��}t|��|S�)Nz6{prefix}cases.{rundate:%y%m%d}.{model}{rundate:%H}.txt)r����prefixr���)r���r���r���r���r ���)r ���r���r���r���r���r���r���r���r ����cases_output_path���s���� r���c�������������C���s����t�|tj�r|jjddd��t�|�tj�s,d�S�tjdj |d���|d�krJd}|�j dkrf|�tjd�d��f�}�tj||�j d�|d��d�S�) NT)r���r���zSaving info to {filepath})�filepathzI%10.0f%5.0f%12.0f%10.2f%10.2f%10.2f%10.2f%10.2f%10.2f%5.0f%5.0f%5.0f%3.0f�����float)�fmt)� isinstancer���r���r���r����np�ndarray�logging�infor����ndim�newaxis�savetxt�astype)�datar���Zstr_fmtr���r���r ����save_output_text'���s���� r&���)N) r���r����numpyr���r ���r���r���r���r&���r���r���r���r ����<module>���s���