I am trying to run a fv3-jedi experiment. I am starting simple with 3D Var using the Skylab v1 release of JEDI. I am struggling to create and read in the static BE required for a 3D Var run. Unfortunately the documentation is not up to date for the yaml required to do this for Skylab v1 as the formatting etc has changed since the last JEDI Academy (which i attended).
Could someone please provide a working yaml for 1) creating a static BE (calling fv3jedi_error_covariance_training.x), 2) reading the static BE and running JEDI in 3D var mode (calling fv3jedi_var.x).
You can also use fv3-jedi 3dvar test yamls as examples for your experiment. In
v3-jedi/test/CMakeLists.txt you can see details of each test including yaml, executable, and dependent tests.
For example for
fv3jedi_test_tier1_3dvar_geos-cf we have:
ecbuild_add_test( TARGET fv3jedi_test_tier1_3dvar_geos-cf
TEST_DEPENDS fv3jedi_test_tier1_bumpparameters_nicas_geos-cf )
This test depends on outputs from
fv3jedi_test_tier1_bumpparameters_nicas_geos-cf test which uses
testinput/bumpparameters_nicas_geos-cf.yaml. So you can use
testintpu/bumpparameters_nicas_geos-cf.yaml as a template for your experiment when creating B. After that you can use
testinput/3dvar_geos-cf.yaml as a template for the next step of your experiment.
I hope this is helpful. Please let me know if you have any further questions.
Thanks for your advice but I was hoping to get an example that didn’t use the GOES model as I don’t have access to that model, I only have FV3-GFS. I was also hoping to get an example that didn’t use aerosols as well but I don’t see one in the tester directory you pointed to. The closest I could find was 3dvar_gfs_aero.yaml but again it uses aerosols only when I wanted to use the normal atmospheric variables (e.g. temperature and sfc pressure). Please let me know if I am missing a yaml that would be better for me in that tester directory.
I also wanted to point out that after closely examining the GOES tester you pointed me to, there seems to be an error. The CMakeLists.txt says is only depends on fv3jedi_test_tier1_bumpparameters_nicas_geos-cf but that test doesn’t create the StdDev files that are required by the testinput/3dvar_geos-cf.yaml. Am I confused? If so how are the StdDev files required for this test made? They must be created or the test will fail as far as I can tell from poking around at yamls.
Digging deeper on the 3dvar_gfs_aero.yaml, after following the chain of yamls outlined in the CMakeList file it seems like the first step to run this and make the StdDev files required by it is run staticb_var-mom_DATE_aero.yaml first and create the files need to make the StdDev files. Is this correct or am I missing some prior step? How does one run this script with automation, as it appears to be build for automation and looping through dates. Is there a trick to this and/or any documentation on doing this? Is not clear at all to me. I could just try to fill in dates but would like to take advantage of the automation for myself if possible.
Hi @mjm, I’ll try to answer some of your questions:
- The dependencies in
test/CMakeLists.txt are not up-to-date. Tests are passing only because they are executed in the correct order when running
ctest, but they might fail with
ctest -jN where
N is the number of tasks run in parallel.
- If you want to run FV3-GFS with normal atmospheric variables, you have two sets of yamls you can look at:
Simplified test case: run
bumpparameters_nicas_gfs.yaml to generate a correlation operator with fixed length-scales and then
dirac_gfs.yaml to run the Dirac test with this operator.
Full test case: run the
staticb_[...]_gfs.yaml tests in the order they appear in
test/CMakeLists.txt (or running
ctest -N) to generate the different static B operators (vertical balance, standard-deviation, correlation operator) and
staticb_dirac_local_gfs_12pe.yaml to run the Dirac test with all these elements combined.
If you want to learn more about the static B training in FV3-JEDI, you can watch this video where I present the full workflow, based on this presentation. I think some of your questions might be answered there. Please let me know if you need any further explanations after watching the video.