Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

How to determine the k_zfac value when doing nudging?

aurorrmok

New member
Dear Sir or Madam,

I am interested in running a WRF simulation with grid nudging of temperature/UV/q above the PBL.
1) I know that "k" in these parameters specifies the vertical level number. But I'm not sure if I'm referring to the vertical layer of met_em.dXX file or the wrfout_XX file here. I have set 47 eta_levels in namelist.input. But the num_metgrid_levels of met_em.dXX file only have 33 levels (surface,10.0, 20.0, 30.0, 50.0, 70.0, 100.0, 125.0, 150.0, 175.0, 200.0, 225.0, 250.0, 300.0 ,350.0,400.0, 450.0, 500.0, 550.0, 600.0, 650.0, 700.0, 750.0, 775.0, 800.0, 825.0, 850.0, 875.0, 900.0, 925.0, 950.0, 975.0, 1000.0). I now want to control nudging on layers above 400hpa, is that what I should set k_zfac_uv= 16, k_zfac_t = 16, and k_zfac_ph =16 ?

2) If I set if_no_pbl_nudging_uv, if_no_pbl_nudging_t and if_no_pbl_nudging_q to 1, that means there is no nudging in PBL. But how can I know the exact PBL height here?

I have attach some part of my nameless.input. Looking forward to hearing back from you. Thank you so much.

43 eta_levels = 1.000, 0.997, 0.994, 0.991, 0.988, 0.985,
44 0.981, 0.976, 0.971, 0.965, 0.957, 0.945,
45 0.930, 0.915, 0.900, 0.885, 0.865,
46 0.830, 0.795, 0.760, 0.725, 0.690,
47 0.655, 0.620, 0.585, 0.550, 0.515,
48 0.480, 0.445, 0.410, 0.375, 0.340,
49 0.310, 0.280, 0.260, 0.240, 0.220,
50 0.200, 0.180, 0.160, 0.140, 0.120,
51 0.100, 0.075, 0.050, 0.026, 0.000,


98 &fdda
99 grid_fdda = 1, 0, 0,
100 gfdda_inname = "wrffdda_d<domain>",
101 gfdda_interval_m = 360, 360, 360,
102 gfdda_end_h = 99999, 99999, 99999,
103 if_zfac_uv = 0, 0, 0,
104 k_zfac_uv = 10, 10, 10,
105 if_zfac_t = 0, 0, 0,
106 k_zfac_t = 10, 10, 10,
107 if_zfac_ph = 0, 0, 0,
108 k_zfac_ph = 10, 10, 10,
109 if_no_pbl_nudging_uv = 1, 1, 1,
110 if_no_pbl_nudging_t = 1, 1, 1,
111 if_no_pbl_nudging_q = 1, 1, 1,
112 guv = 0.0006, 0.0000, 0.0000,
113 gt = 0.0000, 0.0000, 0.0000,
114 gq = 0.0000, 0.0000, 0.0000,
115 if_ramping = 0,
116 dtramp_min = 60.0,
117 io_form_gfdda = 2,
118 /

1729938115275.png
 

Attachments

  • 1729938075674.png
    1729938075674.png
    74.2 KB · Views: 1
Last edited:
Please see my answers below:
Dear Sir or Madam,

I am interested in running a WRF simulation with grid nudging of temperature/UV/q above the PBL.
1) I know that "k" in these parameters specifies the vertical level number. But I'm not sure if I'm referring to the vertical layer of met_em.dXX file or the wrfout_XX file here. I have set 47 eta_levels in namelist.input. But the num_metgrid_levels of met_em.dXX file only have 33 levels (surface,10.0, 20.0, 30.0, 50.0, 70.0, 100.0, 125.0, 150.0, 175.0, 200.0, 225.0, 250.0, 300.0 ,350.0,400.0, 450.0, 500.0, 550.0, 600.0, 650.0, 700.0, 750.0, 775.0, 800.0, 825.0, 850.0, 875.0, 900.0, 925.0, 950.0, 975.0, 1000.0). I now want to control nudging on layers above 400hpa, is that what I should set k_zfac_uv= 16, k_zfac_t = 16, and k_zfac_ph =16 ?

Here 'k' refers to the eta levels of WRF. There might not exist a 'k' level that is exactly located at 400 hPa. Thereby, nudging at levels exactly above 400hPa may not be feasible.
2) If I set if_no_pbl_nudging_uv, if_no_pbl_nudging_t and if_no_pbl_nudging_q to 1, that means there is no nudging in PBL. But how can I know the exact PBL height here?

PBLH is a diagnostic variable used as input for nudging.

I have attach some part of my nameless.input. Looking forward to hearing back from you. Thank you so much.

43 eta_levels = 1.000, 0.997, 0.994, 0.991, 0.988, 0.985,
44 0.981, 0.976, 0.971, 0.965, 0.957, 0.945,
45 0.930, 0.915, 0.900, 0.885, 0.865,
46 0.830, 0.795, 0.760, 0.725, 0.690,
47 0.655, 0.620, 0.585, 0.550, 0.515,
48 0.480, 0.445, 0.410, 0.375, 0.340,
49 0.310, 0.280, 0.260, 0.240, 0.220,
50 0.200, 0.180, 0.160, 0.140, 0.120,
51 0.100, 0.075, 0.050, 0.026, 0.000,


98 &fdda
99 grid_fdda = 1, 0, 0,
100 gfdda_inname = "wrffdda_d<domain>",
101 gfdda_interval_m = 360, 360, 360,
102 gfdda_end_h = 99999, 99999, 99999,
103 if_zfac_uv = 0, 0, 0,
104 k_zfac_uv = 10, 10, 10,
105 if_zfac_t = 0, 0, 0,
106 k_zfac_t = 10, 10, 10,
107 if_zfac_ph = 0, 0, 0,
108 k_zfac_ph = 10, 10, 10,
109 if_no_pbl_nudging_uv = 1, 1, 1,
110 if_no_pbl_nudging_t = 1, 1, 1,
111 if_no_pbl_nudging_q = 1, 1, 1,
112 guv = 0.0006, 0.0000, 0.0000,
113 gt = 0.0000, 0.0000, 0.0000,
114 gq = 0.0000, 0.0000, 0.0000,
115 if_ramping = 0,
116 dtramp_min = 60.0,
117 io_form_gfdda = 2,
118 /

View attachment 16048
 
Thank you for your reply, Ming Chen. If 'k' refers to the eta levels of WRF, what method or principle should I use to set the values of k_zfac_uv, k_zfac_t, and k_zfac_ph? If I set them to 10, which specific height does that refer to? Does the total number of nudging layers correspond to 47 eta_levels in namelist.input?
 
Last edited:
WRF predicts PH, which is perturbation geopotential. PH + PHB gives the geopotential of each model level. You can obtain the height of a specific 'k' level based on it.
you are right that grid nudging can be conducted over all the model levels.
 
Thank you, Ming. So for the WRF itself, how does it define the boundary layer? Because I only need to set "if_no_pbl_nudging_uv" but I don't tell him which height is PBL.
 
The PBL height 'PBLH' is diagnosed from WRF, which is used to roughly estimate the model levels within PBL.
 
Top