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

Questions on WRF Typhoon Simulation Setup

Hello everyone,

I am currently working on a typhoon simulation project using the WRF model and would appreciate some guidance on a few concerns I have.

  1. Data Selection for Driving the Model: I have identified NCEP's ds083.3 and ds084.1 as potential datasets for driving the model. My question is whether the main difference between these two datasets is that the ds083.3 includes assimilation analysis. For typhoon simulations, is one dataset preferable over the other?
  2. Sensitivity Analysis for Parameterization Schemes: I plan to conduct a sensitivity analysis on PBL, MP, CU, grid_fdda, and isftcflx parameterization schemes. Could anyone provide feedback on whether my other settings are correct? My current namelist.input file is configured to use the ds083.3 dataset as shown in appendix 1.
  3. NaN Value Errors with ds083.3 Data: When using the ds083.3 dataset, I encounter NaN value errors when setting the time step to 6 times the outer grid resolution, whereas I didn't face this issue with the ds084.1 dataset for a relatively smaller domain. I suspect this might be due to fewer options being enabled in my previous test( appendix 2). Could anyone provide insight into this? (which can see all my files in this url:crush with 'Domain average of dpsdt, dmudt NAN')
appendix:
Q2:namelist.input setting:
Code:
 &time_control
 run_days                            = 4,
 run_hours                           = 0,
 run_minutes                         = 0,
 run_seconds                         = 0,

 start_year                          = 2021, 2021,
 start_month                         = 07,   07,
 start_day                           = 21,   21,
 start_hour                          = 12,   12,
 start_minute                        = 00,   00,   
 start_second                        = 00,   00, 
 end_year                            = 2021, 2021,
 end_month                           = 07,   07,   
 end_day                             = 25,   25,   
 end_hour                            = 12,   12,   
 end_minute                          = 00,   00,
 end_second                          = 00,   00,   

 interval_seconds                    = 21600,
 input_from_file                     = .true.,.true.,
 adjust_output_times                 = .false.
 history_interval_h                  = 3,   3,
 history_begin_h                     = 6,
 frames_per_outfile                  = 1000,  1000,
 restart                             = .false.,
 override_restart_timers             = .false.,
 output_ready_flag                   = .true.,
 restart_interval                    = 1440,
 io_form_history                     = 2,
 io_form_restart                     = 2,
 io_form_input                       = 2,
 io_form_boundary                    = 2,
 debug_level                         = 0,
 auxinput4_inname = "wrflowinp_d<domain>",
 auxinput4_interval = 360,
 io_form_auxinput4 = 2,
 io_form_auxinput2 = 2,
 diag_print = 2,
 output_diagnostics = 1,
 auxhist3_outname = "wrfxtrm_d<domain>_<date>"
 auxhist3_interval = 1440, 1440
 frames_per_auxhist3 = 100, 100
 io_form_auxhist3 = 2
 /

 &domains
 time_step                           = 90,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 2,
 e_we                                = 259,   445,
 e_sn                                = 223,   445,
 e_vert                              = 47,   47,
 eta_levels(1:47)                    = 1.000, 0.995, 0.990,
                                       0.985, 0.980, 0.970,
                                       0.960, 0.945, 0.930,
                                       0.910, 0.890, 0.855,
                                       0.820, 0.785, 0.750,
                                       0.715, 0.680, 0.645,
                                       0.610, 0.575, 0.540,
                                       0.505, 0.470, 0.440,
                                       0.410, 0.380, 0.350,
                                       0.325, 0.300, 0.275,
                                       0.250, 0.230, 0.210,
                                       0.190, 0.170, 0.155,
                                       0.140, 0.125, 0.110,
                                       0.095, 0.080, 0.065,
                                       0.050, 0.035, 0.020,
                                       0.010, 0.000,
 p_top_requested                     = 5000,
 num_metgrid_levels                  = 34,
 num_metgrid_soil_levels             = 4,
 dx                                  = 15000, 5000
 dy                                  = 15000, 5000
 grid_id                             = 1,     2,
 parent_id                           = 1,     1,
 i_parent_start                      = 1,     74, 
 j_parent_start                      = 1,     37,
 parent_grid_ratio                   = 1,     3, 
 parent_time_step_ratio              = 1,     3,   
 feedback                            = 1,
 smooth_option                       = 0,
/

 &physics
 mp_physics = 6, 6, 6,
 !wsm6 wsm7 new Thompson 6 24 38
 do_radar_ref                        = 1,
 acc_phy_tend                        = 1,     1,
 ra_lw_physics                       = 1,     1,         
 ra_sw_physics                       = 4,     4,           
 radt                                = 15,    5,       
 sf_sfclay_physics = 2, 2, 2,           
 sf_surface_physics                  = 2,     2,
 sf_urban_physics                    = 1,     1,   
 num_soil_layers                     = 4,
 ifsnow                              = 1,
 sst_update                          = 1,
 bl_pbl_physics = 2, 2, 2,
 cu_physics = 11, 11, 11,
 sf_ocean_physics                    = 1,
 isftcflx                            = 0,
 /

 &fdda
 grid_fdda = 0, 0, 0,
 /

 &dynamics
 w_damping                           = 0,
 diff_opt                            = 1,      1,
 km_opt                              = 4,      4,   
 mix_isotropic                       = 0,      0,
 diff_6th_factor                     = 0.12,   0.12,
 base_temp                           = 290.
 damp_opt                            = 3,
 zdamp                               = 5000.,  5000.,
 dampcoef                            = 0.2,    0.2,
 non_hydrostatic                     = .true., .true.,
 moist_adv_opt                       = 1,      1,
 scalar_adv_opt                      = 1,      1,
 /

 &bdy_control
 spec_bdy_width                      = 5,
 spec_zone                           = 1,
 relax_zone                          = 4,
 specified                           = .true., .false.,
 nested                              = .false., .true.,
 /

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,
 /

Q3: Differences between two namelist.input
1723545648105.png

Thank you all for your assistance and looking forward to your valuable suggestions!

Best regards,
Junius
 
Please see my asnwers below:
Hello everyone,

I am currently working on a typhoon simulation project using the WRF model and would appreciate some guidance on a few concerns I have.

  1. Data Selection for Driving the Model: I have identified NCEP's ds083.3 and ds084.1 as potential datasets for driving the model. My question is whether the main difference between these two datasets is that the ds083.3 includes assimilation analysis. For typhoon simulations, is one dataset preferable over the other?
Both datasets should work fine for WRF. FNL data may contain more observational information, which makes it slightly better than GFS.
  1. Sensitivity Analysis for Parameterization Schemes: I plan to conduct a sensitivity analysis on PBL, MP, CU, grid_fdda, and isftcflx parameterization schemes. Could anyone provide feedback on whether my other settings are correct? My current namelist.input file is configured to use the ds083.3 dataset as shown in appendix 1.
I would suggest that you run the case with 12-3km nesting, which is better than 15-5km nesting. This is because 5km is a grey-zone resolution, which is hard to handle. Besides, 5km resolution cannot well represent detailed typhoon structure and intensity.
  1. NaN Value Errors with ds083.3 Data: When using the ds083.3 dataset, I encounter NaN value errors when setting the time step to 6 times the outer grid resolution, whereas I didn't face this issue with the ds084.1 dataset for a relatively smaller domain. I suspect this might be due to fewer options being enabled in my previous test( appendix 2). Could anyone provide insight into this? (which can see all my files in this url:crush with 'Domain average of dpsdt, dmudt NAN')
How long did WRF run before it crashed with NaN value? When and where the first NaN occurred?
appendix:
Q2:namelist.input setting:
Code:
 &time_control
 run_days                            = 4,
 run_hours                           = 0,
 run_minutes                         = 0,
 run_seconds                         = 0,

 start_year                          = 2021, 2021,
 start_month                         = 07,   07,
 start_day                           = 21,   21,
 start_hour                          = 12,   12,
 start_minute                        = 00,   00,  
 start_second                        = 00,   00,
 end_year                            = 2021, 2021,
 end_month                           = 07,   07,  
 end_day                             = 25,   25,  
 end_hour                            = 12,   12,  
 end_minute                          = 00,   00,
 end_second                          = 00,   00,  

 interval_seconds                    = 21600,
 input_from_file                     = .true.,.true.,
 adjust_output_times                 = .false.
 history_interval_h                  = 3,   3,
 history_begin_h                     = 6,
 frames_per_outfile                  = 1000,  1000,
 restart                             = .false.,
 override_restart_timers             = .false.,
 output_ready_flag                   = .true.,
 restart_interval                    = 1440,
 io_form_history                     = 2,
 io_form_restart                     = 2,
 io_form_input                       = 2,
 io_form_boundary                    = 2,
 debug_level                         = 0,
 auxinput4_inname = "wrflowinp_d<domain>",
 auxinput4_interval = 360,
 io_form_auxinput4 = 2,
 io_form_auxinput2 = 2,
 diag_print = 2,
 output_diagnostics = 1,
 auxhist3_outname = "wrfxtrm_d<domain>_<date>"
 auxhist3_interval = 1440, 1440
 frames_per_auxhist3 = 100, 100
 io_form_auxhist3 = 2
 /

 &domains
 time_step                           = 90,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 2,
 e_we                                = 259,   445,
 e_sn                                = 223,   445,
 e_vert                              = 47,   47,
 eta_levels(1:47)                    = 1.000, 0.995, 0.990,
                                       0.985, 0.980, 0.970,
                                       0.960, 0.945, 0.930,
                                       0.910, 0.890, 0.855,
                                       0.820, 0.785, 0.750,
                                       0.715, 0.680, 0.645,
                                       0.610, 0.575, 0.540,
                                       0.505, 0.470, 0.440,
                                       0.410, 0.380, 0.350,
                                       0.325, 0.300, 0.275,
                                       0.250, 0.230, 0.210,
                                       0.190, 0.170, 0.155,
                                       0.140, 0.125, 0.110,
                                       0.095, 0.080, 0.065,
                                       0.050, 0.035, 0.020,
                                       0.010, 0.000,
 p_top_requested                     = 5000,
 num_metgrid_levels                  = 34,
 num_metgrid_soil_levels             = 4,
 dx                                  = 15000, 5000
 dy                                  = 15000, 5000
 grid_id                             = 1,     2,
 parent_id                           = 1,     1,
 i_parent_start                      = 1,     74,
 j_parent_start                      = 1,     37,
 parent_grid_ratio                   = 1,     3,
 parent_time_step_ratio              = 1,     3,  
 feedback                            = 1,
 smooth_option                       = 0,
/

 &physics
 mp_physics = 6, 6, 6,
 !wsm6 wsm7 new Thompson 6 24 38
 do_radar_ref                        = 1,
 acc_phy_tend                        = 1,     1,
 ra_lw_physics                       = 1,     1,        
 ra_sw_physics                       = 4,     4,          
 radt                                = 15,    5,      
 sf_sfclay_physics = 2, 2, 2,          
 sf_surface_physics                  = 2,     2,
 sf_urban_physics                    = 1,     1,  
 num_soil_layers                     = 4,
 ifsnow                              = 1,
 sst_update                          = 1,
 bl_pbl_physics = 2, 2, 2,
 cu_physics = 11, 11, 11,
 sf_ocean_physics                    = 1,
 isftcflx                            = 0,
 /

 &fdda
 grid_fdda = 0, 0, 0,
 /

 &dynamics
 w_damping                           = 0,
 diff_opt                            = 1,      1,
 km_opt                              = 4,      4,  
 mix_isotropic                       = 0,      0,
 diff_6th_factor                     = 0.12,   0.12,
 base_temp                           = 290.
 damp_opt                            = 3,
 zdamp                               = 5000.,  5000.,
 dampcoef                            = 0.2,    0.2,
 non_hydrostatic                     = .true., .true.,
 moist_adv_opt                       = 1,      1,
 scalar_adv_opt                      = 1,      1,
 /

 &bdy_control
 spec_bdy_width                      = 5,
 spec_zone                           = 1,
 relax_zone                          = 4,
 specified                           = .true., .false.,
 nested                              = .false., .true.,
 /

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,
 /

Q3: Differences between two namelist.input
View attachment 15201

Thank you all for your assistance and looking forward to your valuable suggestions!

Best regards,
Junius
 
Dear Ming,
Thank you very much for your reply, it has brought hope and motivation to my research. Here are some of my responses.
I would suggest that you run the case with 12-3km nesting, which is better than 15-5km nesting. This is because 5km is a grey-zone resolution, which is hard to handle. Besides, 5km resolution cannot well represent detailed typhoon structure and intensity.
I think you’re right. I also considered avoiding the gray areas in the beginning, such as:
1: nesting 15km-3km, but I was worried the simulation would be poor with a 5x factor;
2: for nesting 12km-3km, does the even ratio affect calculations in any way?
3: 9km-3km.

My questions are: 1: based on your experience, which of the three nesting options would you recommend? 2: if I choose 9km-3km, do I need to consider CU or PBL for 9km? 3: if I later need a 1km simulation, should I consider the PBL option?

Below are some adjustments I made to the relevant parameters based on the 12km-3km case. Could you please check if there are any other points I should pay attention to?
Code:
&domains
 time_step                                 = 72(if crush happened,36 will be chosen),
 dx                                              = 12000, 3000
 dy                                              = 12000, 3000
 parent_grid_ratio                   = 1,     4,
 parent_time_step_ratio         = 1,     4,   
/

 &physics
 ra_lw_physics                       = 4,     4,         
 ra_sw_physics                       = 4,     4,           
 radt                                          = 12,    12,       
 bl_pbl_physics                       = 2,     2,
 cu_physics                              = 11,      0,
 /
How long did WRF run before it crashed with NaN value? When and where the first NaN occurred?
For a time step of 90 seconds (6 times dx), the simulation starting at 12 PM on the 22nd encountered NaN at:
Code:
Timing for main: time 2021-07-22_18:45:00 on domain   2:    0.73642 elapsed seconds
Timing for main: time 2021-07-22_18:45:00 on domain   1:    2.69181 elapsed seconds
 d01   Domain average of dpsdt, dmudt (mb/3h):    405.0000                NaN            NaN
For a time step of 60 seconds (4 times dx), the simulation starting at noon on the 22nd encountered NaN at:
Code:
Timing for main: time 2021-07-24_08:30:00 on domain   2:    0.74259 elapsed seconds
Timing for main: time 2021-07-24_08:30:00 on domain   1:    2.70604 elapsed seconds
 d01   Domain average of dpsdt, dmudt (mb/3h):    2670.000                NaN            NaN
When I changed the time step to 45 seconds (3 times dx), there were no NaN values.
 
Hi,
Please see answers below:

1: based on your experience, which of the three nesting options would you recommend?

I believe 9-3km nesting is appropriate for your case.

2: if I choose 9km-3km, do I need to consider CU or PBL for 9km?

Please turn on cumulus for 9km and turn it off for 3km. However, PBL should be turned on for both domains.

3: if I later need a 1km simulation, should I consider the PBL option?

Yes PBL should be on even if your resolution is 1km.
 
Top