Skip to main content

Observation Sequence Diagnostics for DART

Reason this release was yanked:

not working

Project description

pyDARTdiag

pyDARTdiag is a python library for obsevation space diagnostics for the Data Assimilation Research Testbed (DART).

pyDARTdiag is under initial development, so please use caution. The MATLAB observation space diagnostics are available through DART.

  • obs_sequence to DataFrame

Example importing the obs_sequence and plots modules

import sys
import os
sys.path.append(os.path.abspath("/Users/hkershaw/DART/Projects/Diagnostics/pyDART/src/obs_sequence"))

import obs_sequence as dart_os
import plots as dart_plots

Examining the dataframe

obs_seq = dart_os.obs_sequence('obs_seq.final.ascii')
obs_seq.df.head()
obs_num observation prior_ensemble_mean prior_ensemble_spread prior_ensemble_member_1 prior_ensemble_member_2 prior_ensemble_member_3 prior_ensemble_member_4 prior_ensemble_member_5 prior_ensemble_member_6 ... latitude vertical vert_unit type seconds days time obs_err_var bias sq_err
0 1 230.16 231.310652 0.405191 231.304725 231.562874 231.333915 231.297690 232.081416 231.051063 ... 0.012188 23950.0 pressure (Pa) ACARS_TEMPERATURE 75603 153005 2019-12-01 21:00:03 1.00 1.150652 1.324001
1 2 18.40 15.720527 0.630827 14.217207 15.558196 15.805599 16.594644 14.877743 16.334438 ... 0.012188 23950.0 pressure (Pa) ACARS_U_WIND_COMPONENT 75603 153005 2019-12-01 21:00:03 6.25 -2.679473 7.179578
2 3 1.60 -4.932073 0.825899 -5.270562 -5.955998 -4.209766 -5.105016 -4.669405 -4.365305 ... 0.012188 23950.0 pressure (Pa) ACARS_V_WIND_COMPONENT 75603 153005 2019-12-01 21:00:03 6.25 -6.532073 42.667980
3 4 264.16 264.060532 0.035584 264.107192 264.097270 264.073212 264.047718 264.074140 264.019895 ... 0.010389 56260.0 pressure (Pa) ACARS_TEMPERATURE 75603 153005 2019-12-01 21:00:03 1.00 -0.099468 0.009894
4 5 11.60 10.134115 0.063183 10.067956 10.078798 10.120263 10.084885 10.135112 10.140610 ... 0.010389 56260.0 pressure (Pa) ACARS_U_WIND_COMPONENT 75603 153005 2019-12-01 21:00:03 6.25 -1.465885 2.148818

5 rows × 97 columns

dart_os.possible_vs_used(obs_seq.df)
type possible used
0 ACARS_TEMPERATURE 175429 128040
1 ACARS_U_WIND_COMPONENT 176120 126946
2 ACARS_V_WIND_COMPONENT 176120 127834
3 AIRCRAFT_TEMPERATURE 21335 13663
4 AIRCRAFT_U_WIND_COMPONENT 21044 13694
5 AIRCRAFT_V_WIND_COMPONENT 21044 13642
6 AIRS_SPECIFIC_HUMIDITY 6781 0
7 AIRS_TEMPERATURE 19583 7901
8 GPSRO_REFRACTIVITY 81404 54626
9 LAND_SFC_ALTIMETER 21922 0
10 MARINE_SFC_ALTIMETER 9987 0
11 MARINE_SFC_SPECIFIC_HUMIDITY 4196 0
12 MARINE_SFC_TEMPERATURE 8646 0
13 MARINE_SFC_U_WIND_COMPONENT 8207 0
14 MARINE_SFC_V_WIND_COMPONENT 8207 0
15 RADIOSONDE_SPECIFIC_HUMIDITY 14272 0
16 RADIOSONDE_SURFACE_ALTIMETER 601 0
17 RADIOSONDE_TEMPERATURE 29275 22228
18 RADIOSONDE_U_WIND_COMPONENT 36214 27832
19 RADIOSONDE_V_WIND_COMPONENT 36214 27975
20 SAT_U_WIND_COMPONENT 107212 82507
21 SAT_V_WIND_COMPONENT 107212 82647

Example plotting

rank histogram

  • Select only observations that were assimliated (QC === 0).
  • plot the rank histogram
df_qc0 = dart_os.select_by_dart_qc(obs_seq.df, 0)  # only qc 0
df_profile, figrmse, figbias = dart_plots.plot_profile(df_qc0, plevels)

Rank Histogram

plot profile of RMSE and Bias

  • Chose levels
  • Select only observations that were assimliated (QC === 0).
  • plot the profiles
hPalevels = [0.0, 100.0,  150.0, 200.0, 250.0, 300.0, 400.0, 500.0, 700, 850, 925, 1000]# float("inf")] # Pa?
plevels = [i * 100 for i in hPalevels]

df_qc0 = dart_os.select_by_dart_qc(obs_seq.df, 0)  # only qc 0
df_profile, figrmse, figbias = dart_plots.plot_profile(df_qc0, plevels)

RMSE Plot

Bias Plot

Contributing

Contributions are welcome! If you have a feature request, bug report, or a suggestion, please open an issue on our GitHub repository.

License

DartLabPlot is released under the Apache License 2.0. For more details, see the LICENSE file in the root directory of this source tree or visit Apache License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydartdiags-0.0.3.tar.gz (353.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydartdiags-0.0.3-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file pydartdiags-0.0.3.tar.gz.

File metadata

  • Download URL: pydartdiags-0.0.3.tar.gz
  • Upload date:
  • Size: 353.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for pydartdiags-0.0.3.tar.gz
Algorithm Hash digest
SHA256 131ccabffccddbda31dd9f95c5f0280313ad17ad2953faf9309420e09a8f5843
MD5 0245b4e55db26dc7cd02b0db490570ea
BLAKE2b-256 c5174cde767d5dedaa5b8e3e4cddff76597e15505179c5a80fd83bde7232f661

See more details on using hashes here.

File details

Details for the file pydartdiags-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pydartdiags-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for pydartdiags-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9a24f8eba82ba08b46d99a582ece56f5c46923d5f07c135c1a3816bb002f067b
MD5 cf1261dddda3694e7be9e5fc7e40e20c
BLAKE2b-256 73d3b5eda4f60d1ffbe18fd501c47906261d36f030f637214830a5338e61782b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page