From 10ecf5580e53aaae010098bf4d5ad45178245aff Mon Sep 17 00:00:00 2001 From: Brett Hoover Date: Mon, 20 May 2024 15:28:14 -0500 Subject: [PATCH 1/2] Overhaul satwnd parm/ioda/bufr2ioda/ .json and ush/ioda/bufr2ioda/ .py files to update name-conventions: satwind->satwnd, qualityInformationWithoutForecast->qiWithoutForecast --- ...ahi.json => bufr2ioda_satwnd_amv_ahi.json} | 0 ...r.json => bufr2ioda_satwnd_amv_avhrr.json} | 0 ...es.json => bufr2ioda_satwnd_amv_goes.json} | 0 ....json => bufr2ioda_satwnd_amv_leogeo.json} | 0 ...s.json => bufr2ioda_satwnd_amv_modis.json} | 0 ....json => bufr2ioda_satwnd_amv_seviri.json} | 0 ...s.json => bufr2ioda_satwnd_amv_viirs.json} | 0 ...amv_ahi.py => bufr2ioda_satwnd_amv_ahi.py} | 24 ++++++------ ...avhrr.py => bufr2ioda_satwnd_amv_avhrr.py} | 24 ++++++------ ...v_goes.py => bufr2ioda_satwnd_amv_goes.py} | 24 ++++++------ ...ogeo.py => bufr2ioda_satwnd_amv_leogeo.py} | 2 +- ...modis.py => bufr2ioda_satwnd_amv_modis.py} | 4 +- ...viri.py => bufr2ioda_satwnd_amv_seviri.py} | 38 +++++++++---------- ...viirs.py => bufr2ioda_satwnd_amv_viirs.py} | 4 +- 14 files changed, 60 insertions(+), 60 deletions(-) rename parm/ioda/bufr2ioda/{bufr2ioda_satwind_amv_ahi.json => bufr2ioda_satwnd_amv_ahi.json} (100%) rename parm/ioda/bufr2ioda/{bufr2ioda_satwind_amv_avhrr.json => bufr2ioda_satwnd_amv_avhrr.json} (100%) rename parm/ioda/bufr2ioda/{bufr2ioda_satwind_amv_goes.json => bufr2ioda_satwnd_amv_goes.json} (100%) rename parm/ioda/bufr2ioda/{bufr2ioda_satwind_amv_leogeo.json => bufr2ioda_satwnd_amv_leogeo.json} (100%) rename parm/ioda/bufr2ioda/{bufr2ioda_satwind_amv_modis.json => bufr2ioda_satwnd_amv_modis.json} (100%) rename parm/ioda/bufr2ioda/{bufr2ioda_satwind_amv_seviri.json => bufr2ioda_satwnd_amv_seviri.json} (100%) rename parm/ioda/bufr2ioda/{bufr2ioda_satwind_amv_viirs.json => bufr2ioda_satwnd_amv_viirs.json} (100%) rename ush/ioda/bufr2ioda/{bufr2ioda_satwind_amv_ahi.py => bufr2ioda_satwnd_amv_ahi.py} (98%) rename ush/ioda/bufr2ioda/{bufr2ioda_satwind_amv_avhrr.py => bufr2ioda_satwnd_amv_avhrr.py} (98%) rename ush/ioda/bufr2ioda/{bufr2ioda_satwind_amv_goes.py => bufr2ioda_satwnd_amv_goes.py} (98%) rename ush/ioda/bufr2ioda/{bufr2ioda_satwind_amv_leogeo.py => bufr2ioda_satwnd_amv_leogeo.py} (99%) rename ush/ioda/bufr2ioda/{bufr2ioda_satwind_amv_modis.py => bufr2ioda_satwnd_amv_modis.py} (98%) rename ush/ioda/bufr2ioda/{bufr2ioda_satwind_amv_seviri.py => bufr2ioda_satwnd_amv_seviri.py} (97%) rename ush/ioda/bufr2ioda/{bufr2ioda_satwind_amv_viirs.py => bufr2ioda_satwnd_amv_viirs.py} (98%) diff --git a/parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_ahi.json b/parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_ahi.json similarity index 100% rename from parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_ahi.json rename to parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_ahi.json diff --git a/parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_avhrr.json b/parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_avhrr.json similarity index 100% rename from parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_avhrr.json rename to parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_avhrr.json diff --git a/parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_goes.json b/parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_goes.json similarity index 100% rename from parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_goes.json rename to parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_goes.json diff --git a/parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_leogeo.json b/parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_leogeo.json similarity index 100% rename from parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_leogeo.json rename to parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_leogeo.json diff --git a/parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_modis.json b/parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_modis.json similarity index 100% rename from parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_modis.json rename to parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_modis.json diff --git a/parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_seviri.json b/parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.json similarity index 100% rename from parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_seviri.json rename to parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.json diff --git a/parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.json b/parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_viirs.json similarity index 100% rename from parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.json rename to parm/ioda/bufr2ioda/bufr2ioda_satwnd_amv_viirs.json diff --git a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_ahi.py b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_ahi.py similarity index 98% rename from ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_ahi.py rename to ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_ahi.py index 3f897e61d..e4260184c 100755 --- a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_ahi.py +++ b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_ahi.py @@ -391,8 +391,8 @@ def bufr_to_ioda(config, logger): .write_data(ogce2) # Quality: Percent Confidence - Quality Information Without Forecast - obsspace.create_var('MetaData/qualityInformationWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ - .write_attr('long_name', 'Quality Information Without Forecast') \ + obsspace.create_var('MetaData/qiWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ + .write_attr('long_name', 'QI Without Forecast') \ .write_data(qifn2) # Wind Computation Method @@ -400,16 +400,6 @@ def bufr_to_ioda(config, logger): .write_attr('long_name', 'Satellite-derived Wind Computation Method') \ .write_data(swcm2) - # ObsType based on computation method/spectral band - obsspace.create_var('ObsType/windEastward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ - .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ - .write_data(obstype2) - - # ObsType based on computation method/spectral band - obsspace.create_var('ObsType/windNorthward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ - .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ - .write_data(obstype2) - # Pressure obsspace.create_var('MetaData/pressure', dtype=pressure2.dtype, fillval=pressure2.fill_value) \ .write_attr('units', 'pa') \ @@ -428,6 +418,16 @@ def bufr_to_ioda(config, logger): .write_attr('long_name', 'Station Elevation') \ .write_data(stnelev2) + # ObsType based on computation method/spectral band + obsspace.create_var('ObsType/windEastward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ + .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ + .write_data(obstype2) + + # ObsType based on computation method/spectral band + obsspace.create_var('ObsType/windNorthward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ + .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ + .write_data(obstype2) + # U-Wind Component obsspace.create_var('ObsValue/windEastward', dtype=uob2.dtype, fillval=wspd2.fill_value) \ .write_attr('units', 'm s-1') \ diff --git a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_avhrr.py b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_avhrr.py similarity index 98% rename from ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_avhrr.py rename to ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_avhrr.py index 6ad0bee4d..9ad22a55b 100755 --- a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_avhrr.py +++ b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_avhrr.py @@ -386,8 +386,8 @@ def bufr_to_ioda(config, logger): .write_data(ogce2) # Quality: Percent Confidence - Quality Information Without Forecast - obsspace.create_var('MetaData/qualityInformationWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ - .write_attr('long_name', 'Quality Information Without Forecast') \ + obsspace.create_var('MetaData/qiWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ + .write_attr('long_name', 'QI Without Forecast') \ .write_data(qifn2) # Wind Computation Method @@ -395,16 +395,6 @@ def bufr_to_ioda(config, logger): .write_attr('long_name', 'Satellite-derived Wind Computation Method') \ .write_data(swcm2) - # ObsType based on computation method/spectral band - obsspace.create_var('ObsType/windEastward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ - .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ - .write_data(obstype2) - - # ObsType based on computation method/spectral band - obsspace.create_var('ObsType/windNorthward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ - .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ - .write_data(obstype2) - # Pressure obsspace.create_var('MetaData/pressure', dtype=pressure2.dtype, fillval=pressure2.fill_value) \ .write_attr('units', 'pa') \ @@ -423,6 +413,16 @@ def bufr_to_ioda(config, logger): .write_attr('long_name', 'Station Elevation') \ .write_data(stnelev2) + # ObsType based on computation method/spectral band + obsspace.create_var('ObsType/windEastward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ + .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ + .write_data(obstype2) + + # ObsType based on computation method/spectral band + obsspace.create_var('ObsType/windNorthward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ + .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ + .write_data(obstype2) + # U-Wind Component obsspace.create_var('ObsValue/windEastward', dtype=uob2.dtype, fillval=uob2.fill_value) \ .write_attr('units', 'm s-1') \ diff --git a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_goes.py b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_goes.py similarity index 98% rename from ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_goes.py rename to ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_goes.py index 594e5f008..7ab41d63b 100755 --- a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_goes.py +++ b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_goes.py @@ -383,8 +383,8 @@ def bufr_to_ioda(config, logger): .write_data(ogce2) # Quality: Percent Confidence - Quality Information Without Forecast - obsspace.create_var('MetaData/qualityInformationWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ - .write_attr('long_name', 'Quality Information Without Forecast') \ + obsspace.create_var('MetaData/qiWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ + .write_attr('long_name', 'QI Without Forecast') \ .write_data(qifn2) # Quality: Percent Confidence - Expected Error @@ -408,16 +408,6 @@ def bufr_to_ioda(config, logger): .write_attr('long_name', 'Wind Height Assignment Method') \ .write_data(eham2) - # ObsType based on computation method/spectral band - obsspace.create_var('ObsType/windEastward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ - .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ - .write_data(obstype2) - - # ObsType based on computation method/spectral band - obsspace.create_var('ObsType/windNorthward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ - .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ - .write_data(obstype2) - # Pressure obsspace.create_var('MetaData/pressure', dtype=pressure2.dtype, fillval=pressure2.fill_value) \ .write_attr('units', 'pa') \ @@ -436,6 +426,16 @@ def bufr_to_ioda(config, logger): .write_attr('long_name', 'Station Elevation') \ .write_data(stnelev2) + # ObsType based on computation method/spectral band + obsspace.create_var('ObsType/windEastward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ + .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ + .write_data(obstype2) + + # ObsType based on computation method/spectral band + obsspace.create_var('ObsType/windNorthward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ + .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ + .write_data(obstype2) + # U-Wind Component obsspace.create_var('ObsValue/windEastward', dtype=uob2.dtype, fillval=wspd2.fill_value) \ .write_attr('units', 'm s-1') \ diff --git a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_leogeo.py b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_leogeo.py similarity index 99% rename from ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_leogeo.py rename to ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_leogeo.py index 1fc69e2a5..d879293b6 100755 --- a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_leogeo.py +++ b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_leogeo.py @@ -360,7 +360,7 @@ def bufr_to_ioda(config, logger): .write_data(ogce2) # Quality: Percent Confidence - Quality Information Without Forecast - obsspace.create_var('MetaData/qualityInformationWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ + obsspace.create_var('MetaData/qiWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ .write_attr('long_name', 'Quality Information Without Forecast') \ .write_data(qifn2) diff --git a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_modis.py b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_modis.py similarity index 98% rename from ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_modis.py rename to ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_modis.py index b67086b76..ff9706b8b 100755 --- a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_modis.py +++ b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_modis.py @@ -389,8 +389,8 @@ def bufr_to_ioda(config, logger): .write_data(ogce2) # Quality: Percent Confidence - Quality Information Without Forecast - obsspace.create_var('MetaData/qualityInformationWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ - .write_attr('long_name', 'Quality Information Without Forecast') \ + obsspace.create_var('MetaData/qiWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ + .write_attr('long_name', 'QI Without Forecast') \ .write_data(qifn2) # Wind Computation Method diff --git a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_seviri.py b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py similarity index 97% rename from ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_seviri.py rename to ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py index dc873d962..ff157b11e 100755 --- a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_seviri.py +++ b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py @@ -364,8 +364,8 @@ def bufr_to_ioda(config, logger): .write_data(ogce2) # Quality: Percent Confidence - Quality Information Without Forecast - obsspace.create_var('MetaData/qualityInformationWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ - .write_attr('long_name', 'Quality Information Without Forecast') \ + obsspace.create_var('MetaData/qiWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ + .write_attr('long_name', 'QI Without Forecast') \ .write_data(qifn2) # Wind Computation Method @@ -373,34 +373,34 @@ def bufr_to_ioda(config, logger): .write_attr('long_name', 'Satellite-derived Wind Computation Method') \ .write_data(swcm2) - # ObsType based on computation method/spectral band - obsspace.create_var('ObsType/windEastward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ - .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ - .write_data(obstype2) - - # ObsType based on computation method/spectral band - obsspace.create_var('ObsType/windNorthward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ - .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ - .write_data(obstype2) - - # Pressure + # Pressure obsspace.create_var('MetaData/pressure', dtype=pressure2.dtype, fillval=pressure2.fill_value) \ .write_attr('units', 'pa') \ .write_attr('long_name', 'Pressure') \ - .write_data(pressure2) - - # Height (mimic prepbufr) + .write_data(pressure2) + + # Height (mimic prepbufr) obsspace.create_var('MetaData/height', dtype=height2.dtype, fillval=height2.fill_value) \ .write_attr('units', 'm') \ .write_attr('long_name', 'Height of Observation') \ - .write_data(height2) - - # Station Elevation (mimic prepbufr) + .write_data(height2) + + # Station Elevation (mimic prepbufr) obsspace.create_var('MetaData/stationElevation', dtype=stnelev2.dtype, fillval=stnelev2.fill_value) \ .write_attr('units', 'm') \ .write_attr('long_name', 'Station Elevation') \ .write_data(stnelev2) + # ObsType based on computation method/spectral band + obsspace.create_var('ObsType/windEastward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ + .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ + .write_data(obstype2) + + # ObsType based on computation method/spectral band + obsspace.create_var('ObsType/windNorthward', dtype=obstype2.dtype, fillval=swcm2.fill_value) \ + .write_attr('long_name', 'Observation Type based on Satellite-derived Wind Computation Method and Spectral Band') \ + .write_data(obstype2) + # U-Wind Component obsspace.create_var('ObsValue/windEastward', dtype=uob2.dtype, fillval=wspd2.fill_value) \ .write_attr('units', 'm s-1') \ diff --git a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.py b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_viirs.py similarity index 98% rename from ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.py rename to ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_viirs.py index 18f87db04..4941ff977 100755 --- a/ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.py +++ b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_viirs.py @@ -385,8 +385,8 @@ def bufr_to_ioda(config, logger): .write_data(ogce2) # Quality: Percent Confidence - Quality Information Without Forecast - obsspace.create_var('MetaData/qualityInformationWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ - .write_attr('long_name', 'Quality Information Without Forecast') \ + obsspace.create_var('MetaData/qiWithoutForecast', dtype=qifn2.dtype, fillval=qifn2.fill_value) \ + .write_attr('long_name', 'QI Without Forecast') \ .write_data(qifn2) # Wind Computation Method From 10dcc629094c71e493e53b0e469197f8fc8ecbd2 Mon Sep 17 00:00:00 2001 From: Brett Hoover Date: Mon, 20 May 2024 15:48:58 -0500 Subject: [PATCH 2/2] cleaned up trailing whitespace in ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py --- ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py index ff157b11e..9f2db7fdd 100755 --- a/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py +++ b/ush/ioda/bufr2ioda/bufr2ioda_satwnd_amv_seviri.py @@ -373,19 +373,19 @@ def bufr_to_ioda(config, logger): .write_attr('long_name', 'Satellite-derived Wind Computation Method') \ .write_data(swcm2) - # Pressure + # Pressure obsspace.create_var('MetaData/pressure', dtype=pressure2.dtype, fillval=pressure2.fill_value) \ .write_attr('units', 'pa') \ .write_attr('long_name', 'Pressure') \ - .write_data(pressure2) - - # Height (mimic prepbufr) + .write_data(pressure2) + + # Height (mimic prepbufr) obsspace.create_var('MetaData/height', dtype=height2.dtype, fillval=height2.fill_value) \ .write_attr('units', 'm') \ .write_attr('long_name', 'Height of Observation') \ - .write_data(height2) - - # Station Elevation (mimic prepbufr) + .write_data(height2) + + # Station Elevation (mimic prepbufr) obsspace.create_var('MetaData/stationElevation', dtype=stnelev2.dtype, fillval=stnelev2.fill_value) \ .write_attr('units', 'm') \ .write_attr('long_name', 'Station Elevation') \