Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GSI static B yaml to parm/berror #166

Closed
RussTreadon-NOAA opened this issue Oct 26, 2022 · 12 comments
Closed

Add GSI static B yaml to parm/berror #166

RussTreadon-NOAA opened this issue Oct 26, 2022 · 12 comments
Assignees

Comments

@RussTreadon-NOAA
Copy link
Contributor

fv3jedi_var.x may now be run with the GSI static B. This issue is opened to add staticb_gsi.yaml to parm/berror and confirm run_jedi_exe.py can execute 3dvar_hera.yaml and 3dvar_orion.yaml with GSI static B.

@CoryMartin-NOAA
Copy link
Contributor

@RussTreadon-NOAA have you been able to build GSI B within GDASApp? I feel like I remember it not working properly yet.

@RussTreadon-NOAA
Copy link
Contributor Author

@CoryMartin-NOAA , I am building GDASApp on Hera with GSI B. We need to add -DBUILD_GSIBEC=ON to CMAKE_OPTS in build.sh. I'll run the existing GSI-B ctests once the build completes. I have not tried Orion and won't for the time being given issues with the Orion /work fileset.

@CoryMartin-NOAA
Copy link
Contributor

@RussTreadon-NOAA sounds great. Wasn't sure where the GSI BEC in GDASApp stood, seems it was already resolved.

@RussTreadon-NOAA
Copy link
Contributor Author

RussTreadon-NOAA commented Oct 26, 2022

Both tier1 gsibec ctests pass on Hera

(gdasapp) [Russ.Treadon@hfe04 build]$ ctest -R gsibec_test_tier1
Test project /scratch1/NCEPDEV/da/Russ.Treadon/git/GDASApp/gsi_staticb/build
    Start 82: gsibec_test_tier1_geos
1/2 Test #82: gsibec_test_tier1_geos ...........   Passed    3.83 sec
    Start 83: gsibec_test_tier1_gfs
2/2 Test #83: gsibec_test_tier1_gfs ............   Passed    5.56 sec

100% tests passed, 0 tests failed out of 2

Label Time Summary:
gsibec    =   9.40 sec*proc (2 tests)
mpi       =   9.40 sec*proc (2 tests)
script    =   9.40 sec*proc (2 tests)

Total Test time (real) =   9.69 sec

Both tier1 fv3jedi_dirac tests pass

(gdasapp) [Russ.Treadon@hfe04 build]$ ctest -R  fv3jedi_test_tier1_dirac_geos_gsi_global
Test project /scratch1/NCEPDEV/da/Russ.Treadon/git/GDASApp/gsi_staticb/build
    Start 973: fv3jedi_test_tier1_dirac_geos_gsi_global
1/1 Test #973: fv3jedi_test_tier1_dirac_geos_gsi_global ...   Passed    9.55 sec

100% tests passed, 0 tests failed out of 1

Label Time Summary:
fv3-jedi    =   9.55 sec*proc (1 test)
fv3jedi     =   9.55 sec*proc (1 test)
mpi         =   9.55 sec*proc (1 test)
script      =   9.55 sec*proc (1 test)

Total Test time (real) =   9.85 sec
(gdasapp) [Russ.Treadon@hfe04 build]$ ctest -R fv3jedi_test_tier1_dirac_gfs_gsi_global
Test project /scratch1/NCEPDEV/da/Russ.Treadon/git/GDASApp/gsi_staticb/build
    Start 976: fv3jedi_test_tier1_dirac_gfs_gsi_global
1/1 Test #976: fv3jedi_test_tier1_dirac_gfs_gsi_global ...   Passed   11.10 sec

100% tests passed, 0 tests failed out of 1

Label Time Summary:
fv3-jedi    =  11.10 sec*proc (1 test)
fv3jedi     =  11.10 sec*proc (1 test)
mpi         =  11.10 sec*proc (1 test)
script      =  11.10 sec*proc (1 test)

Total Test time (real) =  11.40 sec

@RussTreadon-NOAA
Copy link
Contributor Author

Create GDASApp branch feature/gsibec to contain changes for this issue. In doing so, I see that the name of this feature branch name is dangerously close to feature/gsibc. Hopefully feature/gsibec will be short lived to avoid confusion.

@RussTreadon-NOAA
Copy link
Contributor Author

Following changes committed to feature/gsibec at efcd201

  • add -DBUILD_GSIBEC=ON to build.sh to include GSIBEC to jedi build
  • add staticb_type keyword to 3dvar_hera.yaml. staticb_type allows the user to select the type (source) of the staticb file used by fv3jedi_var.x. Two self-explanatory options are currently valid: bump and gsibec.
  • add logic to stage.py to link to the run directory the staticb fix files corresponding to staticb_type. If staticb_type is not specified, gsibec is the default staticb_type.
  • add new file parm/atm/berror/staticb_gsibec.yaml to use gsibec for staticb in 3dvar fv3jedi_var.x

@RussTreadon-NOAA
Copy link
Contributor Author

@CoryMartin-NOAA , with the addition of GSIBEC as a static B option, we need to add a gsibec fix directory to gdas_fix_root. We have gsibec fix files for three resolutions: C96, C192, and C384. Each gsibec directory contains two files: (1) GSI static B netcdf file, (2) namelist consistent with given GSI static B file.

Below are the paths to the gsibec fix directories I have on Hera and Orion:

  • Hera: /scratch1/NCEPDEV/da/Russ.Treadon/GDASApp/fix/gsibec
  • Orion: /work2/noaa/da/rtreadon/GDASApp/fix/gsibec

Would you please cp -rp gsibec from the above directories to your gdas_fix_root on Hera and Orion? Thank you!

@RussTreadon-NOAA
Copy link
Contributor Author

RussTreadon-NOAA commented Oct 28, 2022

While working on this issue it was discovered that the Hera and Orion 3dvar tests fail when using BUMP static B. It is not yet clear if the problem with with the BUMP files or parm/atm/berror/staticb_bump.yaml. Changes in SABER likely necessitate updating staticb_bump.yaml or regenerating the BUMP files used by the 3dvar tests.

Note: fv3jedi_var.x cycling tests to date use the identity matrix for static B. That is,

  background error:
    covariance model: FV3JEDI-ID
    date: $(window_begin)

As separate issue will be opened to address the use of BUMP static B in the 3dvar tests.

@CoryMartin-NOAA
Copy link
Contributor

CoryMartin-NOAA commented Oct 28, 2022

Would you please cp -rp gsibec from the above directories to your gdas_fix_root on Hera and Orion? Thank you!

@RussTreadon-NOAA done, note that the workflow points to fix directories by default maintained by EIB. But this should be sufficient for testing.

@RussTreadon-NOAA
Copy link
Contributor Author

Would you please cp -rp gsibec from the above directories to your gdas_fix_root on Hera and Orion? Thank you!

@RussTreadon-NOAA done, note that the workflow points to fix directories by default maintained by EIB. But this should be sufficient for testing.

Thanks, @CoryMartin-NOAA . Good point about g-w. Let me contact @KateFriedman-NOAA

@RussTreadon-NOAA
Copy link
Contributor Author

@KateFriedman-NOAA , GMAO added the ability to use the GSI background error covariance file (staticb) in JEDI applications. This issue (#166) adds the use of the GSI staticb to the GDASApp.

In order to use GSI staticb in fv3jedi_var.x from g-w we need to populate the g-w gdas fix directory with the gsibec fix directory. Below are the source and target directories and action to take on each machine.

Hera

  • SRCDIR=/scratch1/NCEPDEV/da/Cory.R.Martin/GDASApp/fix/gsibec
  • TARGET=/scratch1/NCEPDEV/global/glopara/fix/gdas
  • action: cp -rp $SRCDIR $TARGET/

Orion

  • SRCDIR=/work2/noaa/da/cmartin/GDASApp/fix/gsibec
  • TARGET=/work/noaa/global/glopara/fix/gdas
  • action: cp -rp $SRCDIR $TARGET/

This request has been formally made via g-w issue #1103.

@RussTreadon-NOAA RussTreadon-NOAA self-assigned this Oct 28, 2022
CoryMartin-NOAA pushed a commit that referenced this issue Nov 7, 2022
* Add gsibec as a staticb option for fv3jedi_var.x (#166)

* Add missing whitespace (python coding norm) (#166)

* Add cloud liquid water and ice to gsibec control vector (#166)

* add staticb_type to 3dvar_orion.yaml (#166)

* configure hera and orion 3dvar yaml to use gsibec, add identity staticb to stage.py (#166)

* Streamline coding in stage.py (#166)

* Clean up gsibec staticb yaml (#166)
@RussTreadon-NOAA
Copy link
Contributor Author

Work for this issue has been completed and merged into develop. Close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants