Step-by-step guide

Building and executing hofx test with fv3-bundle on the gnssro branch


In these notes, we assumed that:

The code will be checked out in: $HOME/data/JCSDA/src

The code will be build and executed in: $HOME/data/JCSDA/build

Make sure fv3-bundle has been checked out

mkdir -p $HOME/data/JCSDA/src; cd $HOME/data/JCSDA/src;

git clone https://github.com/JCSDA/fv3-bundle.git

git clone https://github.com/UCAR/ecbuild.git

Make sure to be on the feature/gnssro branch

cd fv3-bundle

git checkout feature/gnssro

Build the code: with this script

If you are in singularity see:

Build JEDI environment with Singularity

Make sure specify: export "FC=mpif90" before running the "ecbuild" command.

If you are in docker see:

Build JEDI environment with Docker

Or on native OS and Homebrew with the script provided in the gnssro branch:

./build_fv3_bundle_gnssro.csh

Edit file fv3-bundle/fv3-jedi/test/testinput/hofx.json and make sure that:

1) Test with Radiosonde file: 

ObsType points to Radiosonde

"ObsType": "Radiosonde",

obsfile points to the Radiosonde file provided in ufo/test, eg:

"obsfile": "../../ufo/test/Data/diag_t_01_wprofiles.nc4"

2) Test with Gnssro diag file:

ObsType points to Gnssro

 "ObsType": "Gnssro",

obsfile points to the Gnssro file provided in ufo/test, eg:

"obsfile": "../../ufo/test/Data/diag_conv_gps_ges.2016010900_control.nc4"

Run the hofx test with:

In bash:

export BUILD=$HOME/data/JCSDA/build

In tcsh:

setenv BUILD $HOME/data/JCSDA/build

And (all shells):

cd $BUILD/fv3-bundle/fv3-jedi/test

echo "localhost slots=6" > hostfile

/usr/local/bin/mpiexec -n 6 --hostfile hostfile $BUILD/fv3-bundle/bin/fv3jedi_hofx.x testinput/hofx.json


Notes:

1) fv3 requires at least 6 MPI tasks

2) Netcdf files in fv3-jedi/test/Data can be corrupted at checkout with git, use "ncdump -h" to verify the integrity of the files.