Skip to content

Commit

Permalink
Adding Static B and Hybrid option (#247)
Browse files Browse the repository at this point in the history
## Description
>This PR adds the Static B which is generated from the global Static B
and the capability of Hybrid DA.
  • Loading branch information
Junjun-NOAA authored Jan 29, 2025
1 parent d7172d4 commit 063f369
Show file tree
Hide file tree
Showing 5 changed files with 145 additions and 0 deletions.
1 change: 1 addition & 0 deletions fix/B_static/L55_20241204
2 changes: 2 additions & 0 deletions rrfs-test/scripts/link_mpasjedi_expr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ cp ${RDASApp}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_bumploc.yaml ./b
cp ${RDASApp}/rrfs-test/testinput_expr/namelist.atmosphere .
cp ${RDASApp}/rrfs-test/testinput_expr/streams.atmosphere .
cp ${RDASApp}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_Ens3Dvar.yaml .
cp ${RDASApp}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_Hybrid.yaml .
cp ${RDASApp}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_letkf.yaml .
cp ${RDASApp}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_getkf.yaml .
cp ${RDASApp}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_getkf_observer.yaml .
Expand All @@ -50,6 +51,7 @@ mkdir -p data
cd data
mkdir -p bumploc obs ens
ln -snf ${RDASApp}/fix/bumploc/${BUMPLOC} bumploc/${BUMPLOC}
ln -snf ${RDASApp}/fix/B_static/L55_20241204 B_static
ln -snf ${RDASApp}/fix/expr_data/${exprname}/bkg/mpasout.2024-05-27_00.00.00.nc .
ln -snf ${RDASApp}/fix/expr_data/${exprname}/invariant.nc invariant.nc
ln -snf ${RDASApp}/fix/expr_data/${exprname}/obs/* obs/
Expand Down
2 changes: 2 additions & 0 deletions rrfs-test/scripts/setup_experiment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ elif [[ $DYCORE == "MPAS" ]]; then
cp ${YOUR_PATH_TO_RDASAPP}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_bumploc.yaml .
cp ${YOUR_PATH_TO_RDASAPP}/rrfs-test/testinput_expr/namelist.atmosphere .
cp ${YOUR_PATH_TO_RDASAPP}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_Ens3Dvar.yaml .
cp ${YOUR_PATH_TO_RDASAPP}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_Hybrid.yaml .
cp ${YOUR_PATH_TO_RDASAPP}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_letkf.yaml .
cp ${YOUR_PATH_TO_RDASAPP}/rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_getkf.yaml .
cp ${YOUR_PATH_TO_RDASAPP}/rrfs-test/testinput_expr/streams.atmosphere .
Expand All @@ -98,6 +99,7 @@ elif [[ $DYCORE == "MPAS" ]]; then
mkdir -p data; cd data
mkdir -p bumploc bkg obs ens
ln -snf ${YOUR_PATH_TO_RDASAPP}/fix/bumploc/* bumploc/.
ln -snf ${YOUR_PATH_TO_RDASAPP}/fix/B_static/L55_20241204 B_static
ln -snf ${YOUR_PATH_TO_RDASAPP}/fix/expr_data/${TEST_DATA}/bkg/mpasout.2024-05-27_00.00.00.nc .
ln -snf ${YOUR_PATH_TO_RDASAPP}/fix/expr_data/${TEST_DATA}/invariant.nc invariant.nc
ln -snf ${YOUR_PATH_TO_RDASAPP}/fix/expr_data/${TEST_DATA}/obs/* obs/
Expand Down
1 change: 1 addition & 0 deletions rrfs-test/scripts/templates/mpasjedi_expr/run_jedi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
RDASApp=@RDASApp@

inputfile=./rrfs_mpasjedi_2024052700_Ens3Dvar.yaml # FOR ENVAR
#inputfile=./rrfs_mpasjedi_2024052700_Hybrid.yaml # FOR 3DHybrid
#inputfile=./rrfs_mpasjedi_2024052700_letkf.yaml # FOR LETKF
#inputfile=./rrfs_mpasjedi_2024052700_getkf.yaml # FOR GETKF

Expand Down
139 changes: 139 additions & 0 deletions rrfs-test/testinput_expr/rrfs_mpasjedi_2024052700_Hybrid.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
_member: &memberConfig
date: &analysisDate '2024-05-27T00:00:00Z'
state variables: &incvars [spechum,surface_pressure,temperature,uReconstructMeridional,uReconstructZonal]
stream name: ensemble

output:
filename: ./ana.$Y-$M-$D_$h.$m.$s.nc
stream name: analysis
variational:
minimizer:
algorithm: DRPCG
iterations:
- geometry:
nml_file: ./namelist.atmosphere
streams_file: ./streams.atmosphere
deallocate non-da fields: true
interpolation type: unstructured
gradient norm reduction: 1e-3
ninner: 50
- geometry:
nml_file: ./namelist.atmosphere
streams_file: ./streams.atmosphere
deallocate non-da fields: true
interpolation type: unstructured
gradient norm reduction: 1e-3
ninner: 50
cost function:
cost type: 3D-Var
time window:
begin: '2024-05-26T21:00:00Z'
length: PT6H
jb evaluation: false
geometry:
nml_file: ./namelist.atmosphere
streams_file: ./streams.atmosphere
deallocate non-da fields: true
interpolation type: unstructured
analysis variables: *incvars
background:
state variables: [spechum,surface_pressure,temperature,uReconstructMeridional,uReconstructZonal,theta,rho,u,qv,pressure,landmask,xice,snowc,skintemp,ivgtyp,isltyp,snowh,vegfra,u10,v10,lai,smois,tslb,pressure_p,qc,qi,qg,qr,qs,cldfrac]
filename: data/mpasout.2024-05-27_00.00.00.nc
date: *analysisDate
background error:
covariance model: hybrid
components:
- covariance:
covariance model: SABER
saber central block:
saber block name: BUMP_NICAS
active variables: &ctlvars [stream_function,velocity_potential,temperature,spechum,surface_pressure]
read:
io:
data directory: data/B_static/nicas
files prefix: mpas
drivers:
multivariate strategy: univariate
read local nicas: true
saber outer blocks:
- saber block name: StdDev
read:
model file:
filename: data/B_static/stddev/conus12km.mpas.stddev.nc
date: *analysisDate
stream name: control
- saber block name: BUMP_VerticalBalance
read:
io:
data directory: data/B_static/vbal
files prefix: mpas_vbal
drivers:
read local sampling: true
read vertical balance: true
vertical balance:
vbal:
- balanced variable: velocity_potential
unbalanced variable: stream_function
diagonal regression: true
- balanced variable: temperature
unbalanced variable: stream_function
- balanced variable: surface_pressure
unbalanced variable: stream_function
linear variable change:
linear variable change name: Control2Analysis
input variables: *ctlvars
output variables: *incvars
weight:
value: 0.15
- covariance:
covariance model: ensemble
localization:
localization method: SABER
saber central block:
saber block name: BUMP_NICAS
active variables: *incvars
read:
io:
data directory: data/bumploc/conus12km-401km11levels
files prefix: bumploc_401km11levels
drivers:
multivariate strategy: duplicated
read local nicas: true
model:
level for 2d variables: last
members from template:
template:
<<: *memberConfig
filename: ./data/ens/mem%iMember%/mpasout.2024-05-27_00.00.00.nc
pattern: "%iMember%"
start: 1
zero padding: 3
nmembers: 30
weight:
value: 0.85
observations:
observers:
- obs space:
name: sonde
obsdatain:
engine:
type: H5File
obsfile: data/obs/rap.t00z.singleobs.ADPUPA.tm00.nc4
obsdataout:
engine:
type: H5File
obsfile: ./jdiag_adpupa.nc4
simulated variables: [airTemperature]
observed variables: [airTemperature]
obs operator:
name: VertInterp
obs error:
covariance model: diagonal
obs filters:
- filter: Perform Action
filter variables:
- name: airTemperature
action:
name: assign error
error parameter: 1.2 # K
defer to post: true

0 comments on commit 063f369

Please sign in to comment.