o LgT@sdZddZdS)za Created on Thu Jul 25 10:18:45 2019 @author: Alexander.Kurapov Modified by Zheng on 05/02/2023 c8 Csddl}ddl}ddl}ddl} ddl} ddlm} ddl} | jdd} | }| }|| dd}|| dd}|dd}| ||||}|d}|d}|dddf}|dddf}|d }d|dddf<d|ddd f<d|dddf<d|d ddf<| ||f|d d d }| d| d| d| d| d| d| dd}|D]}|j }t||dD]}|j|d}| |d|d|jd}td|| j|r[||} | jddd}!| jdj}"| |"}#||# dd}$|!dd|$}!||!|k|!|k@}%|%d}%|%jdkrV| jddd}&| jddd}'||&|'\}&}'|&j\}(})|&|(|)d}&|'|(|)d}'| |&|'d}*|*d}+|*d},|||,|+g}-d|-||-<|!|%}.| jd|%}/|jdkrtd|jd| jd|%}0|/|0}/tdt |%dD]}1tdt!|1|/|1ddddf}2|2|(|)}2|-d k}3||2}4|"|3|4@#}5|5jdkrT|$|%||.|1}6||6}7|&||6}|'|d!d"|(|5j|d!<|'|d#|2|5|d#<|'|d$|&|5|d$<|'|d%|'|5|d%<|'|d&|)|5j|d&<|'|d'|7|(|5j|d'<|'|d(||(|5j|d(<q| *qtd)|d*qq|S)+N)RegularGridInterpolatorDATAz/SST/ix_rhoy_rhomask_rholinearF)methodZ bounds_error)obs_type obs_valueobs_lonobs_lat obs_depthobs_timeobs_provenancez%Y%m%d/Z_sst_z_NEP.nczreading timelonlatxyZsea_surface_temperaturel3sz z: subtract sses_bias... sses_biaszit=g?r r r rrrrz WARNING: z does not exist!)+netCDF4numpydatetimewcofs_lonlat_2_xyakPyZscipy.interpolaterosenviron toordinal total_secondsarangeempty provenancerange fromordinalstrftimesatNameprintpathisfileDatasetZ variablesunitsZfindDateInStringwheresizemeshgridshapereshapehstackisnanlenstrargwheresqueezeargminabsdeleteappendoneszerosclose)8dSTRdENDgrddtSecsstSets romsRefDaten4npdtwcofsr rr!ZsstPathZday1Zday2t1t2ZdtDayZttrrZx_rho_1Zy_rho_1ZmaskWithBordersZmskFunDsatprovZdayIZymdfnamenctZ timeUnitsZ obsRefDateZ romsObsOffsetiirrnxZnyxyrrmskZt_inZsstritZsst1Zlogi1Zlogi2ZiiiZiobsZtRomsObsrZ>/lfs/h1/ops/prod/packages/nosofs.v3.6.7/ush/pysh/get_sst_L3.py get_sst_L3 s                  Mr\N)__doc__r\rZrZrZr[s