o qg-@sxddlmZmZddlZddlZGdddZGdddZGdddZGd d d Z Gd d d Z Gd ddZ dS))datetime timedeltaNc@eZdZddZdS)TogglecCsxiddddddddddd dd d d d ddddddddddddddddddddi|_dS)zx Dictionary with values that can be adjusted by the user to change a particular plot setting. Z x_min_limitgZ x_max_limitg@Z x_lim_lockF y_min_limit y_max_limit y_lim_lockci_levgffffff?bs_nrepi bs_methodZ FORECASTS bs_min_sampdisplay_averagessample_equalizationTkeep_shared_events_onlyclear_prune_directoryplot_logo_leftplot_logo_rightzoom_logo_leftg?zoom_logo_rightN) plot_settingsselfrd#d$dd?d%d&dd@d'd(ddAdAdBddCddddDddddEd d didFd d ddGddddHddddIddddJd d ddKd d ddLddddMdNdOddPdQdRddSdQdRddTdQdRddUdQdRddVdQdRddWdXdWddYdXdWddZdXdWdd[dXdWdid\dXdWdd]d^d_dd`d^d_ddad^d_ddbd^d_ddcd^d_dddddddddeddfddddgdhdhddidhdhddjdkdkddldmdmddndmdmddododpddqdodrddsdodtddoduddodvddwdxddydyddz|_ id{d|d}d~ddddddddddddddddddddddddddd}d~dddddd}d~ddddddd~ddddddd~ddddddd~dddddd}d~dddddddddddXdd}d~ddddNdd}d~dddd^dddddddQddddddddd}d~dddddd}d~dddiddd}d~dddddd}d~dddd dd}d~ddddd|d}d~dddddd}d~dddd#dd}d~dddd!dd}d~dddd'd|ddddddhdd}d~ddddkdd}d~dddddd}d~ddddodd}d~ddddwdddddddd|d}d~ddddd|d}d~ddddd|d}d~ddddAd|d}d~ddddd}d~ddddd}d~ddddd}d~ddddd}d~dddd|_dS)a The model_alias dictionary defines the appropriate key to be used when finding settings and the long name for certain requested models that may have several possible names in MET .stat files and file names. e.g., AKARW and CONUSARW, although they are different, may use the same line/marker settings and the same long name on plots, and so both can be defined here as aliases of the same model settings, if desired. ZARWZHRW_ARWz HiResW ARW) settings_key plot_nameZARW2ZHRW_ARW2z HiResW ARW2ZFV3ZHRW_FV3z HiResW FV3ZNMMBZHRW_NMMBz HiResW NMMBZAKARWZAKARW2ZAKFV3ZAKNESTZNAM_NESTzNAM NestZAKNMMBZCONUSARWZ CONUSARW2ZCONUSFV3Z CONUSNESTZ CONUSNMMBZ hireswarwZ hireswarwmem2Z hireswfv3Z HREF_MEANz HREF MeanZ HREF_AVRGzHREF Average of MEAN and PMMNZ HREF_LPMMz#HREF Local Probability-Matched MeanZ HREF_PMMNzHREF Probability-Matched MeanZ HREF_PROBzHREF ProbabilityZ HREFX_MEANz HREF-X MeanZCONUSHREF_MEANZCONUSHREF_AVRGZCONUSHREF_LPMMZCONUSHREF_PMMNZCONUSHREF_PROBZCONUSHREFX_MEANZ AKHREF_MEANZ AKHREF_AVRGZ AKHREF_LPMMZ AKHREF_PMMNZ AKHREF_PROBZ AKHREFX_MEANZ PRHREF_MEANZ PRHREF_AVRGZ PRHREF_LPMMZ PRHREF_PMMNZ PRHREF_PROBZ PRHREFX_MEANZ HIHREF_MEANZ HIHREF_AVRGZ HIHREF_LPMMZ HIHREF_PMMNZ HIHREF_PROBZ HIHREFX_MEANZ NARRE_MEANz NARRE MeanZHIARWZHIARW2ZHIFV3ZHINMMBZ HAWAIINESTZPRARWZPRARW2ZPRFV3ZPRNMMBZ PRICONESTZFV3LAMDAZLAMDAz FV3LAM-DAZ FV3LAMDAXZLAMDAXz FV3LAM-DAXZ FV3LAMDAXAKZ FV3LAMDAXHIZ FV3LAMDAXNAZ FV3LAMDAXPRZFV3LAMZLAMZFV3LAMAKZFV3LAMHIZFV3LAMNAZFV3LAMPRZFV3LAMXZLAMXzFV3LAM-XZ FV3LAMXAKZ FV3LAMXHIZ FV3LAMXNAZ FV3LAMXPRZNAM_FIREWXNESTzNAM Fire Wx NestZnamnestZHRRRAKZHRRRZhrrrZNAMNAZNAMZRAPAKZRAPZRAPNAZRRFS_AzRRFS-AZ RRFS_A_AKz RRFS-A AlaskaZ RRFS_A_PRzRRFS-A Puerto Ricoz RRFS-A Hawaiiz RRFS-A CONUSZ RRFS_A_NAzRRFS-A N. AmericaZWAFS)Z RRFS_A_HIZ RRFS_A_CONUSZRRFS_A_NACONUSZwafsZmodel1z#000000o solidg@)colormarker markersize linestyle linewidthZmodel2z#fb2020^Zmodel3z#1e3cffXZmodel4z#00dc00PZmodel5z#e69f00Zmodel6z#56b4e9Zmodel7z#696969sZmodel8z#8400c8DZmodel9z#d269c1Zmodel10z#f0e492obsz#aaaaaaNonerg@dashedZHWRFZHMONZGFS@Z GFS_DASHEDZGEFS)ZECZCMCZCTCXZOFCLN) model_aliasmodel_settingsrrrrrs   !%)-159=AEIMQUY]aeimquy} "&*.26:>BFJNRVZ^bfjnrvz~ #'+/37;?CGKOSX i   "%(+.147:=@CFILORUX[^adgzModelSpecs.__init__cCs|j|}|S)N)rM)rnameZ color_dictrrrget_color_dicts zModelSpecs.get_color_dictN)rrrrrOrrrrr7s  ur7c@s"eZdZddZGdddZdS) Referencec&Csd|jjdd|jjdd|jjdd|_ idddddd d d d d ddddddddddddddddddd d!d"d#d$d%id&d'd(d)d*d*d+d,d-d.d/d0d1d2d3d4d5d4d6d4d7d4d8d4d9d:d;d<d=d>d?d@dAdBidCdDdEdFdGdHdIdJdKdHdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`da|_ idbdcdddedfdgdhdidjdkdldmdndodpdodqdrdsdrdtdudvdwdxdwdydzd{dzd|d}d~diddddddddddddddddddddddddddddddddddiddddddddddddddddddddddddddddddddddidddddddd“ddēddƓddȓddʓdd̓ddΓddГddғddӓddՓddדddٓddۓdddޜ|_idgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgdgdgdgdgdgdd|_ ddgddggdd d dggdd d d d dggdd d dggdd d d d dggdd d dggdd d d d dggdd d dggdd d d d dggdd d dggdd d d d dggd d d dggd d d d d dggd d d dggd d d d d dggd d d dggd d d d d d$gd gd d d$gd gd d d d d dddgdddggd d d dggd d d d d iddddgddggdd d dggdd d d d dggdd d dggdd d d d dggdd d dggdd d d d dggdd d dggdd d d d d&ggdd d d&ggdd d d d ddddgdddggdd d dggdd d d d idddddgdiddgdgd d dgdgd d d d ddgd gd d dgd gd d d d ddgdgd ddgdgd dd d ddgdgd d dgdgd d d d ddgdgd d dgdgd d d d d+d+gdgd d d+gdgd d d d d d"gd gd d d"gd gd d d d d!d"gdgd dd"gdgd dd d d$d$gd gd d d$gd gd d d d d"dgd#gd d dgd#gd d d d d$dgd#gd d dgd#gd d d d d%d-gd&gd d d-gd&gd d d d d'd/gd&gd d d/gd&gd d d d d1d1gd gd d d1gd gd d d(d d d gd gd d d gd gd d d)d d9d9gdgd d d9gdgd d d d d;d;gdgd d d;gdgd d d d dgdgd ddgdgd dd d d(gdgd d d(gdgd d d d d*didd+d,gd-d\gdgd.d d/gd0gd.d d1d d`gdd2gd.d d3gdd0gd.d d1d d^gdd2gd.d d4gdd0gd.d d1d d5didd+d,gd-d\gdgd.d d/gd0gd.d d1d d`gdd2gd.d d3gdd0gd.d d1d d^gdd2gd.d d4gdd0gd.d d1d d5did6d7gd8dggd9d d dggd9d d d d dggd9d d dggd9d d d d dggd9d d dggd9d d d d dggd9d d dd:ggd9d d d d d;dd6d7gd8ddggd9d d dggd9d d d d iddd6d7gd<dgdgd d dgdgd d d d dgdgd d dgdgd d d d dgdgd d dgdgd d d d d=gdgd d=d=gdgd d d d d$gd gd d d$gd gd d d d dAgdgd d dAgdgd d d>d dgdgd d?d@dgdgd d d>d d gdgd d d gdAgd d d)d dgd gd d dgd gd d d d d+gdgd d d+gdgd d d d dgd#gd d dgd#gd d d d dgd#gd d dgd#gd d d d dB dd6d7gd<dCdgd#gd d dgd#gd d d d iddDd7gdEdgdgdFd dgdgdFd d d dgdgdGd dHgdgdGd d d dAgdgdId dAgdgdId d>d dgdgdJd?d@dgdgdKd d>d d gdgdLd d gdAgdLd d)d dMddNddDdOgd<d*gdPgdQd dRgdPgdQd dSd dTgdUgdQd dRgdUgdQd dSd dVdiddWddgdgdgd d dgdgd d d d dgd gd d dgd gd d d d d"gd gd d d"gd gd d d d dXdidYdgdZdCgd[gd d d\gd[gd d d]d dIgd[gd d dIgd^gd d d]d dEgd[gd d d_gd[gd d d]d dGgd[gd d d`gd[gd d d]d dadddgdbdCgd[gd d d\gd[gd d d]d dIgd[gd d dIgd^gd d d]d dEgd[gd d d_gd[gd d d]d dGgd[gd d d`gd[gd d d]d daddcdgdZdCgd[gddd d\gd[gddd d]d dGgd[gded d`gd[gded d]d dfddgd6dgdhd3d5gdidPgd d gdjdidPgd d d(d d3d6gdkdlgd d gdmdkdlgd d d(d d3d7gdndogd d gdpdndogd d d(d d3d8gdqgd d gdrdqgd d d(d dsddtdgdhd3d5gdidPgdud gdjdidPgdud d(d d3d6gdkdlgdvd gdmdkdlgdvd d(d d3d7gdndogdwd gdpdndogdwd d(d d3d8gdqgdxd gdrdqgdxd d(d dsddyddzdgd{dgd gd d d\gd gd d d d dKgd gd d d|gd gd d d d d}diddzdgd{dgd gd d d\gd gd d d d dKgd gd d d|gd gd d d d d}didd~dgddLdLggddd dLggddd dd ididddgdPgdgd d dPgdgd d dd dRgdgd d dRgdgd d dd dTgdgd d dTgdgd d dd dVgdgd d dVgdgd d dd dXgdgd d dXgdgd d dd dZgdgd d dZgdgd d dd dNgdgd d dNgd#gd d dd dddddgdPgdgdd dPgdgdd dd dPgdgdd dPgdgdd dd dRgdgdd dRgdgdd dd dRgdgdd dRgdgdd dd dTgdgdd dTgdgdd dd dTgdgdd dTgdgdd dd dVgdgdd dVgdgdd dd dVgdgdd dVgdgdd dd dNgdgdd dNgd#gdd dd dNgdgdd dNgd#gdd dd d ddddgdPgdgdd dPgdgdd dd dPgdgdd dPgdgdd dd dRgdgdd dRgdgdd dd dRgdgdd dRgdgdd dd dTgdgdd dTgdgdd dd dTgdgdd dTgdgdd dd dVgdgdd dVgdgdd dd dVgdgdd dVgdgdd dd dNgdgdd dNgd#gdd dd dNgdgdd dNgd#gdd dd d ddd|_dS(a The plotting scripts will convert MET units if they are listed below. The name of the unit must match one of the keys in the unit_conversions dictionary. The name of the new unit will become the value of the 'convert_to' key, and if necessary, the data and axis labels will be converted according to the value of the 'formula' key. Formulas are defined as regular functions in the formulas() subclass of the Reference() class (i.e., below...) in) convert_toformulaF)zkg/m^2KCTMPZ TemperatureZ TMP_Z0_meanHGTzGeopotential Height HGT_WV1_0-3zGeopotential Height: Waves 0-3 HGT_WV1_4-9zGeopotential Height: Waves 4-9 HGT_WV1_10-20z Geopotential Height: Waves 10-20 HGT_WV1_0-20zGeopotential Height: Waves 0-20RHzRelative HumiditySPFHzSpecific HumidityZDPTzDewpoint TemperatureUGRDzZonal Wind SpeedVGRDzMeridional Wind SpeedZ UGRD_VGRDzVector Wind SpeedZGUSTz Wind GustZCAPEz%Convective Available Potential EnergyZPRESZPressurePRMSLzPressure Reduced to MSLO3MRzOzone Mixing RatioZTOZNEz Total OzoneOZCON1HPBLzPlanetary Boundary Layer HeightTSOILzSoil TemperatureSOILWz Volumetric Soil Moisture ContentZWEASDzAccum. Snow Depth Water Equiv.APCPzAccumulated PrecipitationAPCP_01APCP_03APCP_06APCP_24ZPWATzPrecipitable WaterZCWATz Cloud WaterTCDCzCloud Area Fraction HGTCLDCEILzCloud Ceiling HeightZVISZ VisibilityZsstzSea Surface TemperatureZsshzSea Surface HeightZ ice_coveragezSea Ice ConcentrationZssszSea Surface SalinityZ ICEC_Z0_meanZICESEVzIcing SeverityWINDz10m Wind SpeedHTSGWz3Significant Height of Combined Wind Waves and SwellPERPWzPrimary Wave Mean PeriodWVHGTz Significant Height of Wind WavesWVPERzMean Period of Wind WavesSWELLz!Significant Height of Swell WavesSWPERzMean Period of Swell WavesREFCzComposite ReflectivityREFDzAbove Ground Level ReflectivityRETOPzEcho Top HeightNHXzNorthern Hemisphere 20N-80NSHXzSouthern Hemisphere 20S-80STROzTropics 20S-20NPNAzPacific North AmericaN60z60N-90NS60z60S-90S North_PacificzNorthern Pacific OceanNPO South_PacificzSouthern Pacific OceanSPOEquatorial_PacificzEquatorial Pacific OceanNorth_AtlanticzNorthern Atlantic OceanNAOSouth_AtlanticzSouthern Atlantic OceanSAOEquatorial_AtlanticzEquatorial Atlantic OceanIndianz Indian OceanSouthernzSouthern Ocean MediterraneanzMediterranean SeaNHzNorthern Hemisphere 20N-90NSHzSouthern Hemisphere 20S-90SAR2ASIAZAsiaAUNZzAustralia and New ZealandNAMRz North AmericaNHMzNorthern HemisphereNPCFzNorth Pacific OceanSHMzSouthern HemisphereTRPZG002GlobalZG003ZFULLz Global, 0p25G130zCONUS - NCEP Grid 130ZG211zCONUS - NCEP Grid 211G221zCONUS - NCEP Grid 221G236zCONUS - NCEP Grid 236ZG223zCONUS - NCEP Grid 223CONUSPOLARzPolar 60-90 N/SARCTICArcticz Arctic Ocean AntarcticzAntarctic OceanEASTz Eastern US CONUS_EastWESTz Western US CONUS_West CONUS_Centralz Central US CONUS_Southz Southern USNWCzNorthwest CoastSWCzSouthwest CoastNMTzNorthern Mountain RegionGRBz Great BasinSMTzSouthern Mountain RegionSWDzSouthwest DesertNPLzNorthern PlainsSPLzSouthern PlainsMDWZMidwestLMVzLower Mississippi ValleyAPLZ AppalachiansNECzNortheast CoastSECzSoutheast CoastGACzGulf of America CoastAlaskaNAKzNorthern AlaskaSAKzSouthern AlaskaSEA_ICEzGlobal - Sea Ice SEA_ICE_FREEzGlobal - Sea Ice FreezPolar - Sea IcezPolar - Sea Ice Free) SEA_ICE_POLARSEA_ICE_FREE_POLARZFHO)TOTALF_RATEZH_RATEO_RATECTC)rZFY_OYZFY_ONZFN_OYZFN_ONZCTS)]rBASER BASER_NCL BASER_NCUZ BASER_BCLZ BASER_BCUZFMEANZ FMEAN_NCLZ FMEAN_NCUZ FMEAN_BCLZ FMEAN_BCUACCACC_NCLACC_NCUACC_BCLACC_BCUFBIASZ FBIAS_BCLZ FBIAS_BCUZPODYZPODY_NCLZPODY_NCUZPODY_BCLZPODY_BCUZPODNZPODN_NCLZPODN_NCUZPODN_BCLZPODN_BCUZPOFDZPOFD_NCLZPOFD_NCUZPOFD_BCLZPOFD_BCUZFARZFAR_NCLZFAR_NCUZFAR_BCLZFAR_BCUZCSIZCSI_NCLZCSI_NCUZCSI_BCLZCSI_BCUZGSSZGSS_BCLZGSS_BCUHKZHK_NCLZHK_NCUHK_BCLHK_BCUZHSSZHSS_BCLZHSS_BCUZODDSZODDS_NCLZODDS_NCUZODDS_BCLZODDS_BCUZLODDSZ LODDS_NCLZ LODDS_NCUZ LODDS_BCLZ LODDS_BCUZORSSZORSS_NCLZORSS_NCUZORSS_BCLZORSS_BCUZEDSZEDS_NCLZEDS_NCUZEDS_BCLZEDS_BCUZSEDSZSEDS_NCLZSEDS_NCUZSEDS_BCLZSEDS_BCUZEDIZEDI_NCLZEDI_NCUZEDI_BCLZEDI_BCUZSEDIZSEDI_NCLZSEDI_NCUZSEDI_BCLZSEDI_BCUZBAGSSZ BAGSS_BCLZ BAGSS_BCUZCNT)arFBARZFBAR_NCLZFBAR_NCUZFBAR_BCLZFBAR_BCUFSTDEVZ FSTDEV_NCLZ FSTDEV_NCUZ FSTDEV_BCLZ FSTDEV_BCUOBARZOBAR_NCLZOBAR_NCUZOBAR_BCLZOBAR_BCUOSTDEVZ OSTDEV_NCLZ OSTDEV_NCUZ OSTDEV_BCLZ OSTDEV_BCUZPR_CORRZ PR_CORR_NCLZ PR_CORR_NCUZ PR_CORR_BCLZ PR_CORR_BCUZSP_CORRZKT_CORRZRANKSZ FRANK_TIESZ ORANK_TIESMEZME_NCLZME_NCUZME_BCLZME_BCUZESTDEVZ ESTDEV_NCLZ ESTDEV_NCUZ ESTDEV_BCLZ ESTDEV_BCUZMBIASZ MBIAS_BCLZ MBIAS_BCUMAEZMAE_BCLZMAE_BCUZMSEZMSE_BCLZMSE_BCUZBCMSEZ BCMSE_BCLZ BCMSE_BCURMSEZRMSE_BCLZRMSE_BCUZE10ZE10_BCLZE10_BCUZE25ZE25_BCLZE25_BCUZE50ZE50_BCLZE50_BCUZE75ZE75_BCLZE75_BCUZE90ZE90_BCLZE90_BCUZIQRZIQR_BCLZIQR_BCUZMADZMAD_BCLZMAD_BCUZ ANOM_CORRZ ANOM_CORR_NCLZ ANOM_CORR_NCUZ ANOM_CORR_BCLZ ANOM_CORR_BCUZME2ZME2_BCLZME2_BCUZMSESSZ MSESS_BCLZ MSESS_BCUZRMSFAZ RMSFA_BCLZ RMSFA_BCUZRMSOAZ RMSOA_BCLZ RMSOA_BCUZANOM_CORR_UNCNTRZANOM_CORR_UNCNTR_BCLZANOM_CORR_UNCNTR_BCUZMCTC)rN_CATZFi_OjZMCTS) rrrrrrrrrrZGERZGER_BCLZGER_BCUZPCT)rN_THRESHTHRESH_iZOY_iZON_iTHRESH_nZPSTD)rrrrrZ RELIABILITY RESOLUTIONZ UNCERTAINTYZROC_AUCZBRIERZ BRIER_NCLZ BRIER_NCUZBRIERCLZ BRIERCL_NCLZ BRIERCL_NCUZBSSZBSS_SMPLrZPJC) rrrZOY_TP_iZON_TP_iZ CALIBRATION_iZ REFINEMENT_iZ LIKELIHOOD_iZBASER_irPRC)rrrZPODY_iZPOFD_irZECLV)rrZ VALUE_BASERZN_PNTZCL_iZVALUE_iSL1L2)rrrZFOBARZFFBARZOOBARrSAL1L2)rZFABARZOABARZFOABARZFFABARZOOABARrVL1L2) rZUFBARZVFBARZUOBARZVOBARZUVFOBARZUVFFBARZUVOOBARZ F_SPEED_BARZ O_SPEED_BARVAL1L2)rZUFABARZVFABARZUOABARZVOABARZUVFOABARZUVFFABARZUVOOABARZVCNT)rrrZFS_RMSZOS_RMSZMSVERMSVErrZFDIRZODIR FBAR_SPEEDZ OBAR_SPEED VDIFF_SPEEDZ VDIFF_DIR SPEED_ERRZ SPEED_ABSERRDIR_ERRZ DIR_ABSERRZMPR) rZINDEXZOBS_SIDZOBS_LATZOBS_LONZOBS_LVLZOBS_ELVZFCSTZOBSZOBS_QCZ CLIMO_MEANZ CLIMO_STDEVZ CLIMO_CDF)rZFBSZFBS_BCLZFBS_BCUZFSSZFSS_BCLZFSS_BCUZAFSSZAFSS_BCLZAFSS_BCUZUFSSZUFSS_BCLZUFSS_BCUrZ F_RATE_BCLZ F_RATE_BCUrZ O_RATE_BCLZ O_RATE_BCU) rZFGBARZOGBARZMGBARZEGBARS1ZS1_OGZ FGOG_RATIOZDXZDY)rZFYZOYrZBADDELEYZ HAUSDORFFZMED_FOZMED_OFZMED_MINZMED_MAXZMED_MEANZFOM_FOZFOM_OFZFOM_MINZFROM_MAXZFOM_MEANZZHU_FOZZHU_OFZZHU_MINZZHU_MAXZZHU_MEAN)ZNBRCTCZNBRCTSZNBRCNTZGRADZDMAPaccNEAREST)rxryr{rz)P1000P700P500P250 sfc_upper) fcst_var_namesfcst_var_levelsfcst_var_thresholdsZfcst_var_options obs_var_namesobs_var_levelsobs_var_thresholdsZobs_var_options plot_group)P850rrZ0) rXr\rYrZr[rWr_r`ra)plot_stats_listinterp vx_mask_listvar_dict)rrz(bias, rmse, msess, rsd, rmse_md, rmse_pv) rrrrP200P100P50P20P10P5P1)rZP70rZP30rrrr)rXrWr_r`rb)rrZfbar) rxryr|r}rzrrrrrrTMP2mZ2TMPsfcZTMPtropsL0zGRIB_lvl_typ = 7;RH2mZSPFH2mPRESsfcZ PREStropsUGRD10mZ10VGRD10mZTSOILtopzZ10-0ZSOILWtopZprecipZcape)ZHGTtropsZTOZNEclmz%fss, csi, fbias, pod, faratio, sratiozNEAREST, NBRHD_CIRCLE, BILIN)rrrrrrrrrrrrrrrrZDAY1_1200_TSTMZDAY2_1730_TSTMz>=20, >=30, >=40, >=50ZMergedReflectivityQCCompositeZZ500ZradarZZ1000Z EchoTop18Z SeamlessHSR)rurwrvz)bias, rmse, bcrmse, fbar_obar, fbar, obarzNEAREST, BILIN) rrrrrzrrrrr)rZP925rrrP400ZP300rrZP150rrrrrZZOB)rWr]r^rX)rrG214rrrrrrrrrrrrrrrrrrzGRIB_lvl_typ = 200;Zceil_viszGRIB_lvl_typ = 215;CEILINGz L100000-0) rrDPT2mrlraVISsfc HGTcldceilCAPEsfcZGUSTsfcrdrrZ UGRD_VGRD10mz%csi, fbias, fss, pod, faratio, sratio)rrrrrrrrrrrrrrrrrrrrrrz <=15, <=20, <=25, <=30z >=4.4, >=10, >=15.55, >=21.11ZTDOzQ<=800, <805, <=1600, <1609, <=4800, <4828, <=8000, <8045, >=8045, <=16000, <16090zK<152, <=152, <305, <=305, <914, >=914, <=916, <1520, <=1524, <3040, <=3048zJ<152, <=152, <305, <=305, <914, >=914, <=916, <1520, <=1524, <3040, <=3048z'>500, >1000, >1500, >2000, >3000, >4000)rrr r r )rrrZBILINA1z,>50, >60, >65, >70,>75, >85, >105,>125, >150ZCOPOZaqOZCON8ZA8)rcr zbias, rmse, fbar_obar)rrrzbias, rmse, fbar_obar, estdev) rrrrr~rrrrrrrz0,*,*Z analysed_sst rtofs_sfcz0,0,*,*ZadtZice_conc)SSTZSSSZSSHSIC) rrrrr~rrrrrrzsratio, pod, csi, hssz >=0, >=26.5z>=15, >=40, >=80)rr)rrr)rrrrrrrrrrrrrrrrrrrrrrrrrrZA01)rgrh APCP_01_Z0ZA03ZA3)rgrirZA06ZA6)rgrjrZA24)rgrkr)rhrirjrkzDbias, ets, fss, csi, fbias, fbar, obar, pod, faratio, farate, sratioz9>=0.254, >=1.27, >=2.54, >=6.35, >=12.7, >=19.05, >=25.4,zA>=0.254, >=1.27, >=2.54, >=6.35, >=12.7, >=19.05, >=25.4, >=50.8,zQ>=0.254, >=2.54, >=6.35, >=12.7, >=19.05, >=25.4, >=38.1, >=50.8, >=76.2, >=101.6zP>=0.254, >=2.54, >=6.35, >=12.7, >=25.4, >=38.1, >=50.8, >=76.2, >=101.6 >=152.4)rrz bias, rmse)rrrrrrrrZsea_ice_fraction)rZICECzDbias, ets, fss, csi, fbias, fbar, obar, pod, farate, faratio, sratio) rrrrrrrrr)ZP812zP696.8zP595.2ZP506zP392.7z>=1, >=2, >=3, >=4)ZP800rZP600rrZaviationz+me, esd, rmse, bcrmse, pcor, si, fbar, obarZsfc_wave)rorprqrrrsrtrnzBme, ets, fss, csi, fbias, fbar, obar, pod, farate, faratio, sratioz<=3.0z>=8.0z<=8.0z>12.0z <10.0, <20.0z >33.0, >49.4) ZHTSGW_loZHTSGW_hiZPERPW_loZPERPW_hiZWVHGT_loZWVHGT_hiZWVPER_loZWVPER_hiZWIND_loZWIND_hi)rrr)Zgrid2grid_anomZgrid2grid_presZ grid2grid_sfcZgrid2grid_mrmsZ radar_mrmsZgrid2obs_upper_airZgrid2obs_conus_sfcZ grid2obs_aqZgrid2obs_polar_sfcZgrid2grid_rtofs_sfcZ precip_ccpaZsatellite_ghrsst_ncei_avhrr_anlZ"satellite_ghrsst_ospo_geopolar_anlZaviation_analysisZ grid2obs_waveN) formulasmm_to_inK_to_FC_to_Funit_conversionsvariable_translatordomain_translatorZ linetype_cols case_typerrrrrs       "$&()*+,-./0123456789:;<>      !"#$%&'()*+,-./0123456789:;<=>?@ABCD G>?CEKNPRTVY\ ae         mTo %.7@IR[dmv  9    2    3Pq           z  d )  &   0   0        2                  G         c         zReference.__init__c@s$eZdZddZddZddZdS)zReference.formulascCst|d}|S)Ngffffff9@)npdivide)Zmm_valsZ inch_valsrrrr s zReference.formulas.mm_to_incCst|dddd}|S)Ngfffffq@"@rK@@rarray)ZK_valsF_valsrrrr szReference.formulas.K_to_FcCst|ddd}|S)NrrKrr)ZC_valsr rrrr szReference.formulas.C_to_FN)rrrrrrrrrrr s rN)rrrrrrrrrrPs"rP) rrr4r$numpyrrr!r#r(r7rPrrrrs" Tz