U e@sdZddZdS)zA Created on Thu Oct 31 15:22:02 2019 @author: Alexander.Kurapov c7Csddl}ddl}ddl}ddl} ddl} ddlm} ddlm} |jd} t dd}t dd}|| j d d }|| j d d }|| j d d }|j dd | j d d}d}||kr||k||k@r|d 7}|| j d d }qt dt |dd}|j dd | j d d}||kr||k||k@r||| j d d krZ|d}t |jd }n.|| j d d}|d}t |jdd }| d|d|dd}t ||j|rt d|||}|dkr@|jd||fd}|jd||f}|j\}}|j|||ftd}||} |jdj}!| |!}"|jddd| |<|jdd||f||ddddf<|d 7}||| j d d }q | |"|j7} |dj\}#}$||d| dk|d| d k@|d!|d"d#k@|d!|d"|#d dfk@|d$|dd%k@|d$d&|dd#|dd%k@}%| ||d'j|%}&| t |t |\}'}(|!|'||d f})|!|(||d f}*t |j|!|||d f}+|!|||d f},|"|+|,g}-|#|&d(d }.|#|&d)d }/|#|&dd }0|"|.|/g}1| |-|)|1d*d+}2| |-|*|1d*d+}3| | t |t |f|d*d,d-}4|4|"|0|3|2g}5|$|&d'|5}6|6S).N)griddata)RegularGridInterpolatorZ COMINrtofs_2diiii )hours )hour)dayszrtofs time ser is z time recordsz%Y%m%dz/rtofs.z/rtofs_glo_2ds_fZ _3hrly_diagz.nczread Z LongitudeihZLatitude)dtypeZMTsshx_rhoobs_timeobs_yy_rho)rrobs_x)r2g@ obs_valueobs_lonobs_latlinear)methodF)r bounds_error)%osnetCDF4numpydatetimeakPyscipy.interpolaterrenvironrange timedeltareplaceprintstrstrftimerzfillpathisfileDataset variablesshapezerosfloatunitsfindDateInStringcloser argwheresqueeze subsampleDictsizemeshgridreshapehstack expand_dimsmean)7DdSTRdEND romsRefDatesatIDsgrdrn4npdtrrrZrtofsdirZiNEPZjNEPZddInSTRZddInENDZddSTOPddZNTitymdZfffZdm1fnamencZLonZLatZNYNXr tr/Z rtofsRefDateeta_rhoxi_rhoiiD1ZIIZJJZII1ZJJ1ZLon1ZLat1ZllRTOFSZlonD1ZlatD1ZtD1ZllD1obs_iobs_jZsshFunZsshD1ZBIASrQE/lfs/h1/ops/prod/packages/nosofs.v3.5.14/ush/pysh/adt_rtofs_offset.pyadt_rtofs_offsets               &""  rSN)__doc__rSrQrQrQrRs