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

Feature/gsibec #170

Merged
merged 10 commits into from
Nov 7, 2022
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ case ${BUILD_TARGET} in
module purge
module use $dir_root/modulefiles
module load GDAS/$BUILD_TARGET
CMAKE_OPTS+=" -DMPIEXEC_EXECUTABLE=$MPIEXEC_EXEC -DMPIEXEC_NUMPROC_FLAG=$MPIEXEC_NPROC"
CMAKE_OPTS+=" -DMPIEXEC_EXECUTABLE=$MPIEXEC_EXEC -DMPIEXEC_NUMPROC_FLAG=$MPIEXEC_NPROC -DBUILD_GSIBEC=ON"
module list
set -e
;;
Expand Down
29 changes: 29 additions & 0 deletions parm/atm/berror/staticb_gsibec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
covariance model: SABER
full inverse: true
saber blocks:
- saber block name: gsi covariance
saber central block: true
input variables: &control_vars [eastward_wind,northward_wind,air_temperature,surface_pressure,
specific_humidity,cloud_liquid_ice,cloud_liquid_water,
mole_fraction_of_ozone_in_air]
output variables: *control_vars
gsi akbk: &akbk $(fv3jedi_fix_dir)/akbk.nc4
gsi error covariance file: &gsiberr $(fv3jedi_staticb_dir)/gsi-coeffs-gfs-global.nc4
# gsi error covariance file: &gsiberr $(fv3jedi_staticb_dir)/global_berror.f77
RussTreadon-NOAA marked this conversation as resolved.
Show resolved Hide resolved
gsi berror namelist file: &gsibnml $(fv3jedi_staticb_dir)/gfs_gsi_global.nml
processor layout x direction: &layout_gsib_x 3
processor layout y direction: &layout_gsib_y 2
debugging mode: false
- saber block name: gsi interpolation to model grid
input variables: *control_vars
output variables: *control_vars
gsi akbk: *akbk
gsi error covariance file: *gsiberr
gsi berror namelist file: *gsibnml
processor layout x direction: *layout_gsib_x
processor layout y direction: *layout_gsib_y
debugging mode: false
linear variable change:
linear variable change name: Control2Analysis
input variables: *control_vars
output variables: &3dvars_anal [ua,va,t,ps,sphum,ice_wat,liq_wat,o3mr]
5 changes: 3 additions & 2 deletions ush/examples/run_jedi_exe/3dvar_hera.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ working directory: /scratch2/NCEPDEV/stmp1/Cory.R.Martin/gdas_single_test_3dvar
GDASApp home: /scratch1/NCEPDEV/da/Cory.R.Martin/GDASApp/work/GDASApp
GDASApp mode: variational
executable options:
berror_yaml: /scratch1/NCEPDEV/da/Cory.R.Martin/GDASApp/work/GDASApp/parm/atm/berror/staticb_bump.yaml
berror_yaml: /scratch1/NCEPDEV/da/Cory.R.Martin/GDASApp/work/GDASApp/parm/atm/berror/staticb_gsibec.yaml
obs_yaml_dir: /scratch1/NCEPDEV/da/Cory.R.Martin/GDASApp/work/GDASApp/parm/atm/obs/config
yaml_template: /scratch1/NCEPDEV/da/Cory.R.Martin/GDASApp/work/GDASApp/parm/atm/variational/3dvar_dripcg.yaml
executable: /scratch1/NCEPDEV/da/Cory.R.Martin/GDASApp/work/GDASApp/build/bin/fv3jedi_var.x
Expand All @@ -15,7 +15,8 @@ executable options:
valid_time: 2021-12-21T06:00:00Z
dump: gdas
case: C96
case_anl: C48
case_anl: C96
staticb_type: gsibec
dohybvar: false
levs: 128
interp_method: barycentric
Expand Down
5 changes: 3 additions & 2 deletions ush/examples/run_jedi_exe/3dvar_orion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ working directory: /work2/noaa/stmp/cmartin/gdas_single_test_3dvar
GDASApp home: /work2/noaa/da/cmartin/GDASApp/work/GDASApp
GDASApp mode: variational
executable options:
berror_yaml: /work2/noaa/da/cmartin/GDASApp/work/GDASApp/parm/atm/berror/staticb_bump.yaml
berror_yaml: /work2/noaa/da/cmartin/GDASApp/work/GDASApp/parm/atm/berror/staticb_gsibec.yaml
obs_yaml_dir: /work2/noaa/da/cmartin/GDASApp/work/GDASApp/parm/atm/obs/config
yaml_template: /work2/noaa/da/cmartin/GDASApp/work/GDASApp/parm/atm/variational/3dvar_dripcg.yaml
executable: /work2/noaa/da/cmartin/GDASApp/work/GDASApp/build/bin/fv3jedi_var.x
Expand All @@ -15,7 +15,8 @@ executable options:
valid_time: 2021-12-21T06:00:00Z
dump: gdas
case: C96
case_anl: C48
case_anl: C96
staticb_type: gsibec
dohybvar: false
levs: 128
interp_method: barycentric
Expand Down
1 change: 1 addition & 0 deletions ush/run_jedi_exe.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ def run_jedi_exe(yamlconfig):
single_exec = True
var_config = {
'BERROR_YAML': executable_subconfig.get('berror_yaml', './'),
'STATICB_TYPE': executable_subconfig.get('staticb_type', 'gsibec'),
'OBS_YAML_DIR': executable_subconfig['obs_yaml_dir'],
'OBS_LIST': executable_subconfig['obs_list'],
'atm': executable_subconfig.get('atm', False),
Expand Down
12 changes: 9 additions & 3 deletions ush/ufsda/stage.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,15 @@ def gdas_fix(input_fix_dir, working_dir, config):
else:
case_anl = config['CASE_ANL']
layers = int(config['LEVS'])-1
# link static B files
ufsda.disk_utils.symlink(os.path.join(input_fix_dir, 'bump', case_anl),
config['fv3jedi_staticb_dir'])

# figure out staticb source
staticb_source = config.get('STATICB_TYPE', 'gsibec')

RussTreadon-NOAA marked this conversation as resolved.
Show resolved Hide resolved
# link staticb
if staticb_source in ['bump', 'gsibec']:
ufsda.disk_utils.symlink(os.path.join(input_fix_dir, staticb_source, case_anl),
config['fv3jedi_staticb_dir'])

# link akbk file
ufsda.disk_utils.symlink(os.path.join(input_fix_dir, 'fv3jedi',
'fv3files', f"akbk{layers}.nc4"),
Expand Down