/gmao-utils

NASA/GMAO. Tools for working with data files in both BUFR and IODA (JEDI) format.

Primary LanguagePythonGNU Lesser General Public License v2.1LGPL-2.1

gmao-utils

NASA/GMAO. Tools for working with data files in both BUFR and IODA (JEDI) format.

Directory Structure (skeleton)

Installation and Environment Setup

  1. Clone the gmao-utils repo.
$ git clone https://github.com/cohen-seth/gmao-utils.git
  1. Next, open and edit config_gmao_utils.sh ONLY! :
$ cd gmao-utils
$ vim config_gmao_utils.sh
  1. Change the variable '$gmao_utils_dir' (line 8) in the config_gmao_utils.sh file. Change it to the path where you have cloned gmao-utils.

  2. OPTIONAL Then, you may want to inspect and verify LoadJedi.sh. You should NOT need to edit this file; HOWEVER, you may need to in the future if there is a more recent build of JEDI/IODA. The everything in this file must point to a current build of the JEDI IODA CONVERTERS.

  3. Run the configuration:

$ source config_gmao_utils.sh
  1. Verify that wrkdir/function-outputs/iodadir exists.

Important: You will need to run 'source config_gmao_utils.sh' every time you open a new session in order to load all the dependencies required to use gmao_utils. It will not overwrite any of your previous work.

  1. Run the following examples.

Function examples

  1. convert_bufr2ioda.py command structure:
$ python src/gpsro_utils/convert_bufr2ioda.py [PATH TO BUFR FILE(S)]

The PATH you give can EITHER be a path to a directory containing BUFR files with NO TRAILING '/' --OR-- the full path to a singular BUFR file you wish to convert.

Convert a single bufr file:

$ python src/gpsro_utils/convert_bufr2ioda.py /discover/nobackup/projects/gmao/geos-it/mchattop/GPSRO_SPIRE_reanalysis/GPSRO_final/Y2022/M01/gdas1_spnasa.220101.t00z.gpsro.tm00.bufr_d

-- Or -- Convert an entire directory of bufr files:

$ python src/gpsro_utils/convert_bufr2ioda.py /discover/nobackup/projects/gmao/geos-it/mchattop/GPSRO_SPIRE_reanalysis/GPSRO_final/Y2022/M01
  1. convert_ioda2df.py
$ python src/gpsro_utils/convert_ioda2df.py [PATH OF IODA FILE(S)]
  1. plot latitude counts by 5 degree bins
$ python src/gpsro_utils/plot_latitude_bins.py wrkdir/function-outputs/iodadir/GPSRO_final/Y2022/M01/gdas1_spnasa.220101.t00z.gpsro.tm00.ioda.nc4
  1. plot latitude counts by 5 degree bins by kx (~kx groups)
$ python src/gpsro_utils/plot_latitude_bins_kx.py wrkdir/function-outputs/iodadir/GPSRO_final/Y2022/M01/gdas1_spnasa.220101.t00z.gpsro.tm00.ioda.nc4
  1. nceplibs_sinv.py NOTE: NCEPLIBS-bufr is very picky. The current build of gmao-utils uses version: NCEPLIBS-bufr 12.0.0. It may not have Bufr Code Tables (i.e. definitions/reference tables) for newer satid's.
$ python src/bufr_utils/nceplibs_sinv.py /discover/nobackup/projects/gmao/input/dao_ops/obs/flk/ncep_g5obs/bufr/GPSRO/Y2020/M02/gdas1.200202.t00z.gpsro.tm00.bufr_d