I am trying to confirm how the FORTRAN code implements nudging in WRF (v4.3.1). In my case my namelist for &fdda is shown below (with lines numbered). For this case, my original intent was to spectrally nudge only two of the three components (i.e., uv and q) and not nudge the PBL for any of them. Following the README.namelist and other information I found, I thought using if_zfac_t=1 with k_zfac_t=46 (e_vert +1) would prevent those components from being nudged, but I now believe that is wrong based on this previous WRF Forum post (Spectral- vs. Grid Nudging Namelist Options). Can you help me confirm my suspicion that using if_zfac_t and k_zfac_t in the way I did did not prevent nudging of "t" like I thought it did? Thanks in advance!
A follow-up to the post that I shared that previously covered this topic, it mentions that setting if_no_pbl_nudging_t=1 leads to the IF statement in /WRF/phys/module_fdda_spnuding.F only setting the weighting of the nudging to 0 in the PBL (wpbl) and ignores the settings in the namelist with if_zfac_t and k_zfac_t and does not set wzfac like is done in /WRF/phys/module_ffda_psufddagd.F, which seems like it should behave the same way for sfdda and fdda. This leads to the nudging tendency for "t" to not ignore the nudging based on k_zfac_t. I now realize setting gt = 0.0000 would short circuit all of this but this is not clear from the User Guide nor the README.namelist.
RTHNDGDTEN(i,k,j) = gt * wpbl(i,k,j,3) * wzfac(k,3) * tfac * &
grid%dif_analysis(i,k,j)
I have also added to the right after "------->" how I changed the namelist to hopefully correct my issue by changing gt=0.000.
1 &fdda
2 grid_fdda = 2, 0,
3 gfdda_inname = "wrffdda_d<domain>",
4 gfdda_end_h = 408, 0,
5 gfdda_interval_m = 180, 0,
6 fgdt = 0, 0,
7 if_no_pbl_nudging_uv = 1, 1,
8 if_no_pbl_nudging_t = 1, 1,
9 if_no_pbl_nudging_q = 1, 1,
10 if_zfac_uv = 0, 0,
11 k_zfac_uv = 10, 10,
12 if_zfac_t = 1, 0, ------> = 0, 0, ! does not matter with gt = 0.0000
13 k_zfac_t = 46, 10, ------> = 10, 10, ! does not matter with gt = 0.0000
14 if_zfac_q = 0, 0,
15 k_zfac_q = 10, 10,
16 guv = 0.0003, 0.0003,
17 gt = 0.0003, 0.0003, ------> = 0., 0., ! stops nudging of this variable, regardless off the other setting
18 gq = 0.0003, 0.0003,
19 if_ramping = 0,
20 dtramp_min = 60.0,
21 io_form_gfdda = 2,
22 xwavenum = 3, 0,
23 ywavenum = 4, 0
24 /
A follow-up to the post that I shared that previously covered this topic, it mentions that setting if_no_pbl_nudging_t=1 leads to the IF statement in /WRF/phys/module_fdda_spnuding.F only setting the weighting of the nudging to 0 in the PBL (wpbl) and ignores the settings in the namelist with if_zfac_t and k_zfac_t and does not set wzfac like is done in /WRF/phys/module_ffda_psufddagd.F, which seems like it should behave the same way for sfdda and fdda. This leads to the nudging tendency for "t" to not ignore the nudging based on k_zfac_t. I now realize setting gt = 0.0000 would short circuit all of this but this is not clear from the User Guide nor the README.namelist.
RTHNDGDTEN(i,k,j) = gt * wpbl(i,k,j,3) * wzfac(k,3) * tfac * &
grid%dif_analysis(i,k,j)
I have also added to the right after "------->" how I changed the namelist to hopefully correct my issue by changing gt=0.000.
1 &fdda
2 grid_fdda = 2, 0,
3 gfdda_inname = "wrffdda_d<domain>",
4 gfdda_end_h = 408, 0,
5 gfdda_interval_m = 180, 0,
6 fgdt = 0, 0,
7 if_no_pbl_nudging_uv = 1, 1,
8 if_no_pbl_nudging_t = 1, 1,
9 if_no_pbl_nudging_q = 1, 1,
10 if_zfac_uv = 0, 0,
11 k_zfac_uv = 10, 10,
12 if_zfac_t = 1, 0, ------> = 0, 0, ! does not matter with gt = 0.0000
13 k_zfac_t = 46, 10, ------> = 10, 10, ! does not matter with gt = 0.0000
14 if_zfac_q = 0, 0,
15 k_zfac_q = 10, 10,
16 guv = 0.0003, 0.0003,
17 gt = 0.0003, 0.0003, ------> = 0., 0., ! stops nudging of this variable, regardless off the other setting
18 gq = 0.0003, 0.0003,
19 if_ramping = 0,
20 dtramp_min = 60.0,
21 io_form_gfdda = 2,
22 xwavenum = 3, 0,
23 ywavenum = 4, 0
24 /