From f5fcc986520ab4b81ae0795545f71619e8ad6595 Mon Sep 17 00:00:00 2001 From: Sho Yokota Date: Wed, 31 May 2023 14:36:46 -0500 Subject: [PATCH 1/2] modify to assimilate radar reflectivity simultaneously with the conventional data and to tune weights of mixed ensemble in EnVar --- fix/gsi/gsiparm.anl.sh | 5 +++-- scripts/exregional_run_analysis.sh | 12 ++++++++---- ush/config_defaults.sh | 8 +++++--- ush/set_rrfs_config_SDL_VDL_MixEn.sh | 9 +++++++-- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/fix/gsi/gsiparm.anl.sh b/fix/gsi/gsiparm.anl.sh index 8a07b901b..28c7b1759 100755 --- a/fix/gsi/gsiparm.anl.sh +++ b/fix/gsi/gsiparm.anl.sh @@ -3,7 +3,7 @@ gsi_namelist=" miter=${miter},niter(1)=${niter1},niter(2)=${niter2}, write_diag(1)=.true.,write_diag(2)=${write_diag_2},write_diag(3)=.true., qoption=2,print_obs_para=.true.,diag_radardbz=${diag_radardbz}, - if_model_dbz=${if_model_dbz}, static_gsi_nopcp_dbz=0.0, + if_model_dbz=${if_model_dbz},static_gsi_nopcp_dbz=0.0,if_use_w_vr=.false., rmesh_dbz=4.0,rmesh_vr=4.0,zmesh_dbz=1000.0,zmesh_vr=1000.0, missing_to_nopcp=.false.,radar_no_thinning=.true., gencode=78,factqmin=0.0,factqmax=0.0, @@ -151,6 +151,7 @@ OBS_INPUT:: aniso_a_en=.false.,generate_ens=.false., n_ens=${nummem}, l_both_fv3sar_gfs_ens=${l_both_fv3sar_gfs_ens},n_ens_gfs=${nummem_gfs},n_ens_fv3sar=${nummem_fv3sar}, + weight_ens_gfs=${weight_ens_gfs},weight_ens_fv3sar=${weight_ens_fv3sar}, beta_s0=${beta1_inv},s_ens_h=${ens_h},s_ens_v=${ens_v}, regional_ensemble_option=${regional_ensemble_option}, pseudo_hybens = .false., @@ -163,7 +164,7 @@ OBS_INPUT:: readin_localization=${readin_localization}, parallelization_over_ensmembers=${ens_fast_read}, nsclgrp=${nsclgrp},l_timloc_opt=.false.,ngvarloc=${ngvarloc},naensloc=${naensloc}, - i_ensloccov4tim=${i_ensloccov4tim},i_ensloccov4var=${i_ensloccov4var},i_ensloccov4scl=${i_ensloccov4scl}, + r_ensloccov4tim=${r_ensloccov4tim},r_ensloccov4var=${r_ensloccov4var},r_ensloccov4scl=${r_ensloccov4scl}, global_spectral_filter_sd=.false.,assign_vdl_nml=${assign_vdl_nml},vdl_scale=${vdl_scale}, vloc_varlist(1,1)='sf ',vloc_varlist(2,1)='w ',vloc_varlist(3,1)='sf ',vloc_varlist(4,1)='w ', vloc_varlist(1,2)='vp ',vloc_varlist(2,2)='qr ',vloc_varlist(3,2)='vp ',vloc_varlist(4,2)='qr ', diff --git a/scripts/exregional_run_analysis.sh b/scripts/exregional_run_analysis.sh index b6948f287..f9e16fac7 100755 --- a/scripts/exregional_run_analysis.sh +++ b/scripts/exregional_run_analysis.sh @@ -367,6 +367,9 @@ if [ ${regional_ensemble_option:-1} -eq 5 ] && [ ${BKTYPE} != 1 ]; then if [ ${l_both_fv3sar_gfs_ens} = ".true." ]; then nummem_gfs=$(more filelist03 | wc -l) nummem_gfs=$((nummem_gfs - 3 )) + else + weight_ens_gfs=1.0 + weight_ens_fv3sar=1.0 fi nummem_fv3sar=$NUM_ENS_MEMBERS nummem=`expr ${nummem_gfs} + ${nummem_fv3sar}` @@ -377,6 +380,8 @@ if [ ${regional_ensemble_option:-1} -eq 5 ] && [ ${BKTYPE} != 1 ]; then grid_ratio_ens="1" ens_fast_read=.true. else + weight_ens_gfs=1.0 + weight_ens_fv3sar=1.0 nummem_gfs=$(more filelist03 | wc -l) nummem_gfs=$((nummem_gfs - 3 )) nummem=${nummem_gfs} @@ -666,15 +671,14 @@ if [[ ${gsi_type} == "ANALYSIS" && ${anav_type} == "radardbz" ]]; then ens_v=${ens_v_radardbz} nsclgrp=1 ngvarloc=1 - i_ensloccov4tim=0 - i_ensloccov4var=0 - i_ensloccov4scl=0 + r_ensloccov4tim=1.0 + r_ensloccov4var=1.0 + r_ensloccov4scl=1.0 q_hyb_ens=.true. if_model_dbz=.true. fi if [[ ${gsi_type} == "ANALYSIS" && ${anav_type} == "conv_dbz" ]]; then ANAVINFO=${FIX_GSI}/${ANAVINFO_CONV_DBZ_FN} - beta1_inv=0.0 if_model_dbz=.true. fi naensloc=`expr ${nsclgrp} \* ${ngvarloc} + ${nsclgrp} - 1` diff --git a/ush/config_defaults.sh b/ush/config_defaults.sh index f5c0308e9..dc01cd371 100644 --- a/ush/config_defaults.sh +++ b/ush/config_defaults.sh @@ -683,6 +683,8 @@ binary_diag=.true. # &HYBRID_ENSEMBLE l_both_fv3sar_gfs_ens=.false. +weight_ens_gfs=1.0 +weight_ens_fv3sar=1.0 readin_localization=.true. #if true, it overwrites the "beta1_inv/ens_h/ens_v" setting beta1_inv=0.15 #beata_inv is 1-ensemble_wgt ens_h=110 #horizontal localization scale of "Gaussian function=exp(-0.5)" for EnVar (km) @@ -691,9 +693,9 @@ ens_h_radardbz=4.10790 #horizontal localization scale of "Gaussian funct ens_v_radardbz=-0.30125 #vertical localization scale of "Gaussian function=exp(-0.5)" for radardbz EnVar (positive:grids, negative:lnp) nsclgrp=1 ngvarloc=1 -i_ensloccov4tim=0 -i_ensloccov4var=0 -i_ensloccov4scl=0 +r_ensloccov4tim=1.0 +r_ensloccov4var=1.0 +r_ensloccov4scl=1.0 regional_ensemble_option=1 #1 for GDAS ; 5 for FV3LAM ensemble grid_ratio_fv3=2.0 #fv3 resolution 3km, so analysis=3*2=6km grid_ratio_ens=3 #if analysis is 3km, then ensemble=3*3=9km. GDAS ensemble is 20km diff --git a/ush/set_rrfs_config_SDL_VDL_MixEn.sh b/ush/set_rrfs_config_SDL_VDL_MixEn.sh index 6d8deb457..6b6947abb 100644 --- a/ush/set_rrfs_config_SDL_VDL_MixEn.sh +++ b/ush/set_rrfs_config_SDL_VDL_MixEn.sh @@ -4,6 +4,11 @@ nsclgrp=1 #number of scales for scale-dependent localization ngvarloc=1 #number of scales for variable-dependent localization (VDL) assign_vdl_nml=.false. #if true, vdl_scale and vloc_varlist are used to set VDL +if [ ${l_both_fv3sar_gfs_ens} = ".true." ]; then + weight_ens_gfs=0.5 + weight_ens_fv3sar=0.5 +fi + if [[ ${ngvarloc} == "1" ]] && [[ ${nsclgrp} == "2" ]]; then readin_localization=.false. ens_h="328.632,82.1580,82.1580" @@ -18,7 +23,7 @@ elif [[ ${ngvarloc} == "2" ]] && [[ ${nsclgrp} == "1" ]]; then if [ ${assign_vdl_nml} = ".true." ]; then vdl_scale="2,2" else - i_ensloccov4var=1 + r_ensloccov4var=0.05 fi elif [[ ${ngvarloc} == "2" ]] && [[ ${nsclgrp} == "2" ]]; then DO_ENVAR_RADAR_REF_ONCE="TRUE" @@ -30,6 +35,6 @@ elif [[ ${ngvarloc} == "2" ]] && [[ ${nsclgrp} == "2" ]]; then else ens_h="328.632,82.1580,4.10790,4.10790,82.1580" ens_v="-0.30125,-0.30125,-0.30125,-0.30125,0.0" - i_ensloccov4var=1 + r_ensloccov4var=0.05 fi fi From aa6d3de89572565d370c93a6ccef262caddf9c2f Mon Sep 17 00:00:00 2001 From: Sho Yokota Date: Fri, 2 Jun 2023 13:26:50 -0500 Subject: [PATCH 2/2] remove unnecessary forcing of weights of mixed ensemble in scripts/exregional_run_analysis.sh --- scripts/exregional_run_analysis.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/scripts/exregional_run_analysis.sh b/scripts/exregional_run_analysis.sh index f9e16fac7..6e0fb0b9b 100755 --- a/scripts/exregional_run_analysis.sh +++ b/scripts/exregional_run_analysis.sh @@ -367,9 +367,6 @@ if [ ${regional_ensemble_option:-1} -eq 5 ] && [ ${BKTYPE} != 1 ]; then if [ ${l_both_fv3sar_gfs_ens} = ".true." ]; then nummem_gfs=$(more filelist03 | wc -l) nummem_gfs=$((nummem_gfs - 3 )) - else - weight_ens_gfs=1.0 - weight_ens_fv3sar=1.0 fi nummem_fv3sar=$NUM_ENS_MEMBERS nummem=`expr ${nummem_gfs} + ${nummem_fv3sar}` @@ -380,8 +377,6 @@ if [ ${regional_ensemble_option:-1} -eq 5 ] && [ ${BKTYPE} != 1 ]; then grid_ratio_ens="1" ens_fast_read=.true. else - weight_ens_gfs=1.0 - weight_ens_fv3sar=1.0 nummem_gfs=$(more filelist03 | wc -l) nummem_gfs=$((nummem_gfs - 3 )) nummem=${nummem_gfs}