[Wrf-users] Using diff_opt=2 in complex terrain

Daniel Steinhoff steinhoff.9 at buckeyemail.osu.edu
Sat Sep 11 16:54:17 MDT 2010


Dear wrf-users,

I am running simulations over the McMurdo Dry Valleys in Antarctica, a region of complex terrain (mountain peaks approaching 4000 m, deep valleys, coastal).  In order to properly simulate cold pools and other features in the valleys, I'd like to treat diffusion truly horizontally, as Zangl (2002) did in Alpine simulations with MM5.  I've seen in the model documentation and tutorial presentation that diff_opt=2 should only be used with grid spacing < 2 km and without PBL parameterization.  Running a 32-8-2 km, 40 vertical levels nested simulation, I'd like to keep the PBL scheme.  Has anyone had success using diff_opt=2 for real data cases with a PBL scheme?

When I try diff_opt=2, with km_opt=2, 3, or 4, the simulations are more sensitive than otherwise to CFL violations or NaN errors at points on steep slopes (this is after extensive terrain smoothing of a 200 m terrain dataset).  km_opt=2 runs the longest before crashing (about a half hour), whereas the other options crash within minutes.  Interestingly, these CFL violations and NaN errors are more prevalent in the outer grids (for example, either the 32 km or 8 km grids along steep slopes).  Might I be better off running the 32 km and 8 km outer grids with diff_opt=1, and then using ndown for an inner grid of 2 km and using diff_opt=2?  Or is an extremely short timestep required?  I've been down to 60 sec on the 32 km grid.  I have similar problems to above with a 27-9-3-1 km nested grid, 51 vertical levels (default spacing) setup also.  

If anyone has any ideas or advice I'd appreciate it.  I am running WRF 3.2.1 on NCAR bluefire.  I've pasted the namelist below from the 32-8-2 km simulations. 

Dan


&time_control
 run_days                            = 0,
 run_hours                           = 60,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2006, 2006, 2006,
 start_month                         = 04, 04, 04,
 start_day                           = 15, 15, 15,
 start_hour                          = 12, 12, 12,
 start_minute                        = 00,   00,   00,
 start_second                        = 00,   00,   00,
 end_year                            = 2006, 2006, 2006,
 end_month                           = 04, 04, 04,
 end_day                             = 18, 18, 18,
 end_hour                            = 00, 00, 00,
 end_minute                          = 00,   00,   00,
 end_second                          = 00,   00,   00,
 interval_seconds                    = 21600,
 input_from_file                     = .true.,.true.,.true.,
 history_interval                    = 360,   360,   360,
 frames_per_outfile                  = 1, 1, 1,
 restart                             = .False.,
 restart_interval                    = 720,
 reset_simulation_start              = .false.,
 auxinput4_inname                    = "wrflowinp_d<domain>",
 auxinput4_interval                  = 360, 360, 360,
 io_form_history                     = 2,
 auxinput4_interval                  = 360, 360, 360,
 io_form_history                     = 2,
 io_form_restart                     = 2,
 io_form_input                       = 2,
 io_form_boundary                    = 2,
 io_form_auxinput4                   = 2,
 nocolons                            = .false.,
 debug_level                         = 0,
 auxhist2_outname                    = "surface_d<domain>_<date>",
 auxhist2_interval                   = 0, 0, 60,
 io_form_auxhist2                    = 2,
 /

 &domains
 time_step                           = 120,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 3,
 e_we                                = 200, 161,  193,
 e_sn                                = 200, 121,  165,
 s_vert                              = 1,   1,     1,
 e_vert                              = 40,  40,  40,
 dx                                  = 32000, 8000,  2000,
 dy                                  = 32000, 8000,  2000,
 grid_id                             = 1,   2,   3,
 parent_id                           = 0,   1,   2,
 i_parent_start                      = 1,  68,  54,
 parent_id                           = 0,   1,   2,
 i_parent_start                      = 1,  68,  54,
 j_parent_start                      = 1, 105,  42,
 parent_grid_ratio                   = 1,   4,   4,
 parent_time_step_ratio              = 1,   4,   4,
 feedback                            = 0,
 smooth_option                       = 0,
 num_metgrid_levels                  = 38,
 num_metgrid_soil_levels             = 4,
 eta_levels                          = 1.00000 , 0.99629 , 0.99258 , 0.98767 , 0.98275 ,
                                       0.97636 , 0.96996 , 0.96184 , 0.95372 , 0.93357 ,
                                       0.90913 , 0.87957 , 0.84531 , 0.80683 , 0.76467 ,
                                       0.71940 , 0.67163 , 0.62198 , 0.57108 , 0.51956 ,
                                       0.46803 , 0.42030 , 0.37613 , 0.33532 , 0.29764 ,
                                       0.26290 , 0.23092 , 0.20152 , 0.17452 , 0.14978 ,
                                       0.12714 , 0.10646 , 0.08761 , 0.07045 , 0.05466 ,
                                       0.03981 , 0.02580 , 0.01677 , 0.00903 , 0.00000 ,
 p_top_requested                     = 5000,
 interp_type                         = 2,
 extrap_type                         = 2,
 t_extrap_type                       = 2,
 use_levels_below_ground             = .true.,
 use_surface                         = .true.,
 lagrange_order                      = 1,
 lowest_lev_from_sfc                 = .false.,
 smooth_cg_topo                      = .false.,
 force_sfc_in_vinterp                = 1,
 smooth_cg_topo                      = .false.,
 force_sfc_in_vinterp                = 1,
 zap_close_levels                    = 0.,
 sfcp_to_sfcp                        = .false.,
 use_adaptive_time_step              = .false.,
 /

 &dfi_control
 /

 &physics
 mp_physics                          = 6,     6,     6,
 mp_zero_out                         = 0,
 no_mp_heating                       = 0,
 ra_lw_physics                       = 1,     1,     1,
 ra_sw_physics                       = 1,     1,     1,
 radt                                = 30,    10,    10,
 levsiz                              = 59,
 paerlev                             = 29,
 cam_abs_dim1                        = 4,
 cam_abs_dim2                        = 35,
 sf_sfclay_physics                   = 5,     5,     5,
 sf_surface_physics                  = 2,     2,     2,
 sf_urban_physics                    = 0,     0,     0,
 bl_pbl_physics                      = 5,     5,     5,
 bldt                                = 0,     0,     0,
 grav_settling                       = 1,     1,     1,
 bldt                                = 0,     0,     0,
 grav_settling                       = 1,     1,     1,
 cu_physics                          = 3,     0,     0,
 cudt                                = 5,
 cugd_avedx                          = 1,
 isfflx                              = 1,
 ifsnow                              = 0,
 icloud                              = 1,
 swrad_scat                          = 1.,
 surface_input_source                = 1,
 num_soil_layers                     = 4,
 num_land_cat                        = 24,
 num_soil_cat                        = 16,
 usemonalb                           = .false.,
 rdmaxalb                            = .false.,
 rdlai2d                             = .false.,
 sst_update                          = 1,
 seaice_threshold                    = 0.0,
 tmn_update                          = 0,
 bucket_mm                           = -1.,
 maxiens                             = 1,
 maxens                              = 3,
 maxens2                             = 3,
 maxens3                             = 16,
 ensdim                              = 144,
 slope_rad                           = 1,
 topo_shading                        = 1,
 slope_rad                           = 1,
 topo_shading                        = 1,
 shadlen                             = 25000.,
 omlcall                             = 0,
 oml_hml0                            = 50.,
 oml_gamma                           = 0.14,
 isftcflx                            = 0,
 fractional_seaice                   = 1,
 seaice_thickness                    = 1,
 tice2tsk_if2cold                    = .true.
 /

 &fdda
 grid_fdda                           = 1,     0,     0,
 gfdda_inname                        = "wrffdda_d<domain>",
 gfdda_interval_m                    = 360,   0,     0,
 gfdda_end_h                         = 60,   0,     0,
 io_form_gfdda                       = 2,
 fgdt                                = 0,
 if_no_pbl_nudging_uv                = 0,     0,     0,
 if_no_pbl_nudging_t                 = 0,     0,     0,
 if_no_pbl_nudging_q                 = 0,     0,     0,
 if_zfac_uv                          = 1,     0,     0,
  k_zfac_uv                          = 13,
 if_zfac_t                           = 1,     0,     0,
  k_zfac_t                           = 13,
 if_zfac_q                           = 1,     0,     0,
  k_zfac_t                           = 13,
 if_zfac_q                           = 1,     0,     0,
  k_zfac_q                           = 40,
 guv                                 = 0.0003,0.0000,0.0000,
 gt                                  = 0.0003,0.0000,0.0000,
 gq                                  = 0.0000,0.0000,0.0000,
 if_ramping                          = 0,
 dtramp_min                          = 60.0,
 grid_sfdda                          = 0,     0,     0,
 rinblw                              = 250.0,
 obs_nudge_opt                       = 0,     0,     0,
 /

 &scm
 /

 &dynamics
 rk_ord                              = 3,
 diff_opt                            = 2,
 km_opt                              = 2,
 diff_6th_opt                        = 1,     1,     1,
 diff_6th_factor                     = 0.06,  0.06,  0.06,
 damp_opt                            = 3,
 zdamp                               = 5000.,  5000.,  5000.,
 dampcoef                            = 0.03,   0.03,   0.03,
 w_damping                           = 0,
 base_temp                           = 268.,
 w_damping                           = 0,
 base_temp                           = 268.,
 base_pres                           = 100000.,
 base_lapse                          = 50.,
 khdif                               = 0,      0,      0,
 kvdif                               = 0,      0,      0,
 smdiv                               = 0.1,    0.1,    0.1,
 emdiv                               = 0.01,   0.01,   0.01,
 epssm                               = 0.1,    0.1,    0.1,
 non_hydrostatic                     = .true., .true., .true.,
 h_mom_adv_order                     = 5,     5,     5,
 v_mom_adv_order                     = 3,     3,     3,
 h_sca_adv_order                     = 5,     5,     5,
 v_sca_adv_order                     = 3,     3,     3,
 time_step_sound                     = 4,     4,     4,
 moist_adv_opt                       = 1,     1,     1,
 scalar_adv_opt                      = 1,     1,     1,
 tke_adv_opt                         = 1,     1,     1,
 gwd_opt                             = 0,
 /

 &bdy_control
 spec_bdy_width                      = 5,
 spec_zone                           = 1,
 relax_zone                          = 4,
 specified                           = .true., .false.,.false.,
 spec_exp                            = 0.,
 specified                           = .true., .false.,.false.,
 spec_exp                            = 0.,
 periodic_x                          = .false.,.false.,.false.,
 symmetric_xs                        = .false.,.false.,.false.,
 symmetric_xe                        = .false.,.false.,.false.,
 open_xs                             = .false.,.false.,.false.,
 open_xe                             = .false.,.false.,.false.,
 periodic_y                          = .false.,.false.,.false.,
 symmetric_ys                        = .false.,.false.,.false.,
 symmetric_ye                        = .false.,.false.,.false.,
 open_ys                             = .false.,.false.,.false.,
 open_ye                             = .false.,.false.,.false.,
 nested                              = .false.,.true.,.true.,
 /

 &grib2
 /

 &tc
 /

 &fire
 /

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,
                                                                                  201,2         99%
 nio_tasks_per_group = 0,
 nio_groups = 1,
 /


Daniel Steinhoff
Polar Meteorology Group
Byrd Polar Research Center
The Ohio State University
steinhoff.9 at buckeyemail.osu.edu







More information about the Wrf-users mailing list