o Lg@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}||krq||k||k@re|d 7}|| j d d }||ksYt dt |dd}|j dd | j d d}||krT||k||k@rH||| j d d kr|d}t |jd }n|| j d d}|d}t |jdd }| d|d|dd}t ||j|rHt d|||}|dkr"|jd||fd}|jd||f}|j\}}|j|||ftd}||} |jdj}!| |!}"|jddd| |<|jdd||f||ddddf<|d 7}||| j d d }||ks| |"|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_jZsshFunZsshD1ZBIASrQD/lfs/h1/ops/prod/packages/nosofs.v3.6.7/ush/pysh/adt_rtofs_offset.pyadt_rtofs_offsets                &""" rSN)__doc__rSrQrQrQrRs