Plotting Options#
Setting up eva interactive and data collection
from eva.eva_interactive import EvaInteractive
amsua_file = '../../../data/ioda_obs_space.amsua_n19.hofx.2020-12-14T210000Z.nc4'
aircraft_file = '../../../data/ioda_obs_space.aircraft.hofx.2020-12-14T210000Z.nc4'
eva = EvaInteractive()
eva.load_collection('aircraft', aircraft_file, 'IodaObsSpace')
eva.load_collection('amsua', amsua_file, 'IodaObsSpace')
INFO EvaInteractive: Initializing eva IodaObsSpace object
INFO DataCollections: --------------------------------------------------------------------------------
INFO DataCollections: Collections available:
INFO DataCollections:
INFO DataCollections: Collection name: aircraft
INFO DataCollections:
INFO DataCollections: Dimensions:
INFO DataCollections: Location: 99
INFO DataCollections:
INFO DataCollections: Coordinates:
INFO DataCollections: Location
INFO DataCollections:
INFO DataCollections: Data (group::variable):
INFO DataCollections: EffectiveError::airTemperature (float32) | Min=+1.0000e+00, Max=+1.4706e+00, RMS=+1.0771e+00
INFO DataCollections: EffectiveError::windEastward (float32) | Min=+2.5000e+00, Max=+2.5000e+00, RMS=+2.5000e+00
INFO DataCollections: EffectiveError::windNorthward (float32) | Min=+2.5000e+00, Max=+2.5000e+00, RMS=+2.5000e+00
INFO DataCollections: EffectiveQC::airTemperature (int32 ) | Min= +0, Max= +0
INFO DataCollections: EffectiveQC::windEastward (int32 ) | Min= +0, Max= +0
INFO DataCollections: EffectiveQC::windNorthward (int32 ) | Min= +0, Max= +0
INFO DataCollections: GsiAdjustObsError::airTemperature (float32) | Min=+1.0000e+00, Max=+2.7137e+00, RMS=+1.2265e+00
INFO DataCollections: GsiAdjustObsError::windEastward (float32) | Min=+2.5000e+00, Max=+5.1534e+00, RMS=+2.7953e+00
INFO DataCollections: GsiAdjustObsError::windNorthward (float32) | Min=+2.5000e+00, Max=+5.1534e+00, RMS=+2.7953e+00
INFO DataCollections: GsiEffectiveQC::airTemperature (int32 ) | Min= +0, Max= +1
INFO DataCollections: GsiEffectiveQC::windEastward (int32 ) | Min= +0, Max= +1
INFO DataCollections: GsiEffectiveQC::windNorthward (int32 ) | Min= +0, Max= +1
INFO DataCollections: GsiFinalObsError::airTemperature (float32) | Min=+1.0000e+00, Max=+1.4548e+01, RMS=+1.9612e+00
INFO DataCollections: GsiFinalObsError::windEastward (float32) | Min=+2.5000e+00, Max=+9.0386e+00, RMS=+2.9692e+00
INFO DataCollections: GsiFinalObsError::windNorthward (float32) | Min=+2.5000e+00, Max=+9.0386e+00, RMS=+2.9692e+00
INFO DataCollections: GsiHofX::airTemperature (float32) | Min=+2.1099e+02, Max=+2.9181e+02, RMS=+2.5772e+02
INFO DataCollections: GsiHofX::windEastward (float32) | Min=-3.9112e+00, Max=+5.3673e+01, RMS=+2.3508e+01
INFO DataCollections: GsiHofX::windNorthward (float32) | Min=-4.5300e+01, Max=+2.8187e+01, RMS=+1.3531e+01
INFO DataCollections: GsiHofXBc::airTemperature (float32) | Min=+2.1134e+02, Max=+2.9142e+02, RMS=+2.5761e+02
INFO DataCollections: GsiHofXBc::windEastward (float32) | Min=-3.9112e+00, Max=+5.3673e+01, RMS=+2.3508e+01
INFO DataCollections: GsiHofXBc::windNorthward (float32) | Min=-4.5300e+01, Max=+2.8187e+01, RMS=+1.3531e+01
INFO DataCollections: GsiInputObsError::windEastward (float32) | Min=+2.5000e+00, Max=+2.5000e+00, RMS=+2.5000e+00
INFO DataCollections: GsiInputObsError::windNorthward (float32) | Min=+2.5000e+00, Max=+2.5000e+00, RMS=+2.5000e+00
INFO DataCollections: GsiQCWeight::airTemperature (float32) | Min=+4.0000e+00, Max=+4.0000e+00, RMS=+4.0000e+00
INFO DataCollections: GsiQCWeight::windEastward (float32) | Min=+4.0000e+00, Max=+4.0000e+00, RMS=+4.0000e+00
INFO DataCollections: GsiQCWeight::windNorthward (float32) | Min=+4.0000e+00, Max=+4.0000e+00, RMS=+4.0000e+00
INFO DataCollections: GsiUseFlag::airTemperature (int32 ) | Min= -1, Max= +1
INFO DataCollections: GsiUseFlag::windEastward (int32 ) | Min= -1, Max= +1
INFO DataCollections: GsiUseFlag::windNorthward (int32 ) | Min= -1, Max= +1
INFO DataCollections: MetaData::dateTime (int64 ) | Min=+1607979779, Max=+1608000419
INFO DataCollections: MetaData::latitude (float32) | Min=+1.9650e+01, Max=+4.4647e+01, RMS=+3.5280e+01
INFO DataCollections: MetaData::longitude (float32) | Min=+2.3754e+02, Max=+2.8530e+02, RMS=+2.6559e+02
INFO DataCollections: MetaData::pressure (float32) | Min=+1.7870e+04, Max=+1.0173e+05, RMS=+6.4129e+04
INFO DataCollections: MetaData::stationElevation (float32) | Min=-7.8000e+01, Max=+1.2497e+04, RMS=+7.1935e+03
INFO DataCollections: MetaData::height (float32) | Min=-3.4000e+01, Max=+1.2497e+04, RMS=+6.5524e+03
INFO DataCollections: MetaData::stationIdentification (object )
INFO DataCollections: ObsBias::airTemperature (float32) | Min=+0.0000e+00, Max=+0.0000e+00, RMS=+0.0000e+00
INFO DataCollections: ObsBias::windEastward (float32) | Min=+0.0000e+00, Max=+0.0000e+00, RMS=+0.0000e+00
INFO DataCollections: ObsBias::windNorthward (float32) | Min=+0.0000e+00, Max=+0.0000e+00, RMS=+0.0000e+00
INFO DataCollections: ObsError::airTemperature (float32) | Min=+1.0000e+00, Max=+1.4706e+00, RMS=+1.0771e+00
INFO DataCollections: ObsError::windEastward (float32) | Min=+2.5000e+00, Max=+2.5000e+00, RMS=+2.5000e+00
INFO DataCollections: ObsError::windNorthward (float32) | Min=+2.5000e+00, Max=+2.5000e+00, RMS=+2.5000e+00
INFO DataCollections: ObsType::airTemperature (int32 ) | Min= +133, Max= +133
INFO DataCollections: ObsType::windEastward (int32 ) | Min= +233, Max= +233
INFO DataCollections: ObsType::windNorthward (int32 ) | Min= +233, Max= +233
INFO DataCollections: ObsValue::airTemperature (float32) | Min=+2.0815e+02, Max=+2.9125e+02, RMS=+2.5780e+02
INFO DataCollections: ObsValue::windEastward (float32) | Min=-6.1000e+00, Max=+5.5300e+01, RMS=+2.3130e+01
INFO DataCollections: ObsValue::windNorthward (float32) | Min=-4.7000e+01, Max=+3.0400e+01, RMS=+1.4299e+01
INFO DataCollections: PreQC::airTemperature (int32 ) | Min= +1, Max= +13
INFO DataCollections: PreQC::windEastward (int32 ) | Min= +1, Max= +13
INFO DataCollections: PreQC::windNorthward (int32 ) | Min= +1, Max= +13
INFO DataCollections: PreUseFlag::airTemperature (int32 ) | Min= +0, Max= +101
INFO DataCollections: PreUseFlag::windEastward (int32 ) | Min= +0, Max= +101
INFO DataCollections: PreUseFlag::windNorthward (int32 ) | Min= +0, Max= +101
INFO DataCollections: hofx::airTemperature (float32) | Min=+2.1094e+02, Max=+2.9195e+02, RMS=+2.5773e+02
INFO DataCollections: hofx::windEastward (float32) | Min=-3.8279e+00, Max=+5.3992e+01, RMS=+2.3526e+01
INFO DataCollections: hofx::windNorthward (float32) | Min=-4.6586e+01, Max=+2.8748e+01, RMS=+1.3622e+01
INFO DataCollections: --------------------------------------------------------------------------------
INFO EvaInteractive: Initializing eva IodaObsSpace object
INFO DataCollections: --------------------------------------------------------------------------------
INFO DataCollections: Collections available:
INFO DataCollections:
INFO DataCollections: Collection name: amsua
INFO DataCollections:
INFO DataCollections: Dimensions:
INFO DataCollections: Channel: 15
INFO DataCollections: Location: 100
INFO DataCollections:
INFO DataCollections: Coordinates:
INFO DataCollections: Channel
INFO DataCollections: Location
INFO DataCollections:
INFO DataCollections: Data (group::variable):
INFO DataCollections: EffectiveError::brightnessTemperature (float32) | Min=+2.3000e-01, Max=+6.5943e+00, RMS=+2.1473e+00
INFO DataCollections: MetaData::channelNumber (float64) | Min=+1.0000e+00, Max=+1.5000e+01, RMS=+9.0921e+00
INFO DataCollections: EffectiveQC::brightnessTemperature (int32 ) | Min= +0, Max= +19
INFO DataCollections: GsiBc::brightnessTemperature (float32) | Min=-9.8679e+00, Max=+4.3491e+01, RMS=+3.3058e+00
INFO DataCollections: GsiEffectiveQC::brightnessTemperature (int32 ) | Min= +0, Max= +1
INFO DataCollections: GsiFinalObsError::brightnessTemperature (float32) | Min=+2.3000e-01, Max=+8.3878e+00, RMS=+2.2078e+00
INFO DataCollections: GsiHofX::brightnessTemperature (float32) | Min=+1.4130e+02, Max=+2.8025e+02, RMS=+2.3076e+02
INFO DataCollections: GsiHofXBc::brightnessTemperature (float32) | Min=+1.4369e+02, Max=+2.8025e+02, RMS=+2.3102e+02
INFO DataCollections: GsiHofXClr::brightnessTemperature (float32) | Min=+0.0000e+00, Max=+0.0000e+00, RMS=+0.0000e+00
INFO DataCollections: MetaData::sensorZenithAngle (float32) | Min=-4.4800e+01, Max=+4.4800e+01, RMS=+2.8209e+01
INFO DataCollections: MetaData::sensorCentralFrequency (float32) | Min=+2.3800e+01, Max=+8.9010e+01, RMS=+5.5628e+01
INFO DataCollections: MetaData::sensorScanPosition (float32) | Min=+4.0000e+00, Max=+2.7000e+01, RMS=+1.6427e+01
INFO DataCollections: MetaData::ObsError (float32) | Min=+2.3000e-01, Max=+5.0000e+00, RMS=+1.7767e+00
INFO DataCollections: MetaData::mean_lapse_rate (float32) | Min=-8.1909e+00, Max=+4.7830e+00, RMS=+3.9322e+00
INFO DataCollections: MetaData::longitude (float32) | Min=+8.4916e+00, Max=+3.5774e+02, RMS=+2.0666e+02
INFO DataCollections: MetaData::gsi_use_flag (int32 ) | Min= -1, Max= +4
INFO DataCollections: MetaData::latitude (float32) | Min=-8.6511e+01, Max=-5.4103e+01, RMS=+6.9190e+01
INFO DataCollections: MetaData::sensorViewAngle (float32) | Min=-3.8334e+01, Max=+3.8325e+01, RMS=+2.4368e+01
INFO DataCollections: MetaData::clw_retrieved_from_observation (float32) | Min=-1.5052e-01, Max=+2.8662e-01, RMS=+7.1686e-02
INFO DataCollections: MetaData::clw_retrieved_from_background (float32) | Min=+0.0000e+00, Max=+0.0000e+00, RMS=+0.0000e+00
INFO DataCollections: MetaData::solarZenithAngle (float32) | Min=+6.7860e+01, Max=+8.4950e+01, RMS=+7.6098e+01
INFO DataCollections: MetaData::sensorPolarizationDirection (int32 ) | Min= +9, Max= +10
INFO DataCollections: MetaData::scat_retrieved_from_observation (float32) | Min=+0.0000e+00, Max=+0.0000e+00, RMS=+0.0000e+00
INFO DataCollections: MetaData::sensorCentralWavenumber (float32) | Min=+7.9387e-01, Max=+2.9691e+00, RMS=+1.8555e+00
INFO DataCollections: MetaData::sensorChannelNumber (int32 ) | Min= +1, Max= +15
INFO DataCollections: MetaData::sensorAzimuthAngle (float32) | Min=+3.0200e+00, Max=+3.5661e+02, RMS=+2.0913e+02
INFO DataCollections: MetaData::dateTime (int64 ) | Min=+1607983897, Max=+1607997115
INFO DataCollections: MetaData::solarAzimuthAngle (float32) | Min=+9.7600e+01, Max=+2.4965e+02, RMS=+1.7693e+02
INFO DataCollections: MetaData::height (float32) | Min=+0.0000e+00, Max=+3.9396e+03, RMS=+1.5339e+03
INFO DataCollections: ObsBias::brightnessTemperature (float32) | Min=-1.0442e+01, Max=+4.4369e+01, RMS=+3.5998e+00
INFO DataCollections: ObsError::brightnessTemperature (float32) | Min=+2.3000e-01, Max=+5.0000e+00, RMS=+1.7767e+00
INFO DataCollections: ObsValue::brightnessTemperature (float32) | Min=+1.4472e+02, Max=+2.8050e+02, RMS=+2.3172e+02
INFO DataCollections: PreQC::brightnessTemperature (int32 ) | Min= -51, Max= +51
INFO DataCollections: cloud_liquid_waterPredictor::brightnessTemperature (float32) | Min=-1.2171e-01, Max=+2.8752e-01, RMS=+5.3735e-02
INFO DataCollections: constantPredictor::brightnessTemperature (float32) | Min=+0.0000e+00, Max=+1.0000e+00, RMS=+9.6609e-01
INFO DataCollections: emissivityPredictor::brightnessTemperature (float32) | Min=+0.0000e+00, Max=+2.6238e+02, RMS=+9.9499e+01
INFO DataCollections: hofx::brightnessTemperature (float32) | Min=+1.4351e+02, Max=+2.8025e+02, RMS=+2.3099e+02
INFO DataCollections: lapse_ratePredictor::brightnessTemperature (float32) | Min=-7.1894e+00, Max=+4.0331e+00, RMS=+2.2956e+00
INFO DataCollections: lapse_rate_order_2Predictor::brightnessTemperature (float32) | Min=+0.0000e+00, Max=+5.1687e+01, RMS=+1.0174e+01
INFO DataCollections: scan_anglePredictor::brightnessTemperature (float32) | Min=-6.6905e-01, Max=+6.6890e-01, RMS=+4.1088e-01
INFO DataCollections: scan_angle_order_2Predictor::brightnessTemperature (float32) | Min=+0.0000e+00, Max=+4.4763e-01, RMS=+2.3045e-01
INFO DataCollections: scan_angle_order_3Predictor::brightnessTemperature (float32) | Min=-2.9949e-01, Max=+2.9928e-01, RMS=+1.3946e-01
INFO DataCollections: scan_angle_order_4Predictor::brightnessTemperature (float32) | Min=+0.0000e+00, Max=+2.0038e-01, RMS=+8.7428e-02
INFO DataCollections: --------------------------------------------------------------------------------
eva.arithmetic('ObsValueMinusGsiHofXBc', 'ObsValue-GsiHofXBc', 'amsua')
eva.arithmetic('ObsValueMinusHofX', 'ObsValue-hofx', 'amsua')
INFO EvaInteractive: Added 'ObsValueMinusGsiHofXBc' to data collection 'amsua'.
INFO EvaInteractive: Added 'ObsValueMinusHofX' to data collection 'amsua'.
eva.accept_where('EffectiveErrorPassedQc', 'EffectiveError', ['EffectiveQC == 0'], 'aircraft')
eva.accept_where('FinalObsErrorPassedQc', 'GsiFinalObsError', ['GsiEffectiveQC == 0'], 'aircraft')
INFO EvaInteractive: Added 'EffectiveErrorPassedQc' to data collection 'aircraft'.
INFO EvaInteractive: Added 'FinalObsErrorPassedQc' to data collection 'aircraft'.
Plot Types#
Scatter plot
eva.scatter('amsua::ObsValueMinusGsiHofXBc::brightnessTemperature::5',
'amsua::ObsValueMinusHofX::brightnessTemperature::5')
Density plot
plot_list = ['amsua::ObsValueMinusGsiHofXBc::brightnessTemperature::7',
'amsua::ObsValueMinusHofX::brightnessTemperature::7']
eva.density_plot(plot_list)
Map scatter plot
eva.map_scatter('aircraft::ObsValue::windEastward')
Histogram
eva.histogram(plot_list)
Line plot
eva.line_plot(plot_list)
This web page was generated from a Jupyter notebook and not all interactivity will work on this website. Right click to download and run locally for full Python-backed interactivity.