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

RUC land surface scheme not working with ERA5

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

mja244

New member
Happy Monday all,

I seem to be running into an issue utilizing ERA5 data with the RUC land surface option in WRF. This is first flagged running real.exe. If I change the parameterization so that WRF runs with Noah instead, I get no error. Here is the error message from rsl.error.0000 that stops real.exe:

Code:
d01 2010-05-01_00:00:00          flag_soil_layers read from met_em file is  1
Max map factor in domain 1 =  1.55. Scale the dt in the model accordingly.
Using sfcprs  to compute psfc
d01 2010-05-01_00:00:00 No average surface temperature for use with inland lakes
 Assume non-RUC LSM input
 from Noah to RUC - compute Noah bucket
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE:  <stdin>  LINE:    3082
grid%tsk unreasonable
-------------------------------------------

I've run WRF without RUC LSM input before, so I'm not exactly sure how this is the issue. I traced flag_soil_layers in the fortran code but couldn't find exactly where it started.

Any help is greatly appreciated. Thanks!

Marc
 
Marc,
Please send me your namelist.inout to take a look. Also, which version of WRF are you working with? Thanks.
 
Hi Ming,

Thanks for your response. Here is the namelist.input file:

Code:
 &time_control
 run_days                            = 122,
 run_hours                           = 0,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year = 2010, 2010,
 start_month = 05, 05,
 start_day = 01, 01,
 start_hour = 00, 00,
 start_minute = 00, 00,
 start_second = 00, 00,
 end_year = 2010, 2010,
 end_month = 08, 08,
 end_day = 31, 31,
 end_hour = 00, 00,
 end_minute = 00, 00,
 end_second = 00, 00,
 interval_seconds                    = 10800
 input_from_file                     = .true.,.true.,.true.,
 history_interval                    = 360,  180,  720,
 frames_per_outfile                  = 1000, 1000, 1000,
 restart                             = .false.,
 restart_interval                    = 10500000,
 io_form_history                     = 2
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 debug_level                         = 0
 /

 &domains
 time_step                           = 30,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 2,
 s_we                                =  1,      1,    1,
 e_we                                = 260,    262,   160,
 s_sn                                =  1,      1,    1,
 e_sn                                = 260,    262,   160,
  s_vert                              =  1,      1,    1,
 e_vert                              = 30,     30,   30,
 p_top_requested                     = 10000,
 num_metgrid_levels                  = 38,
 num_metgrid_soil_levels             = 4,
 dx                                  = 9000, 3000,
 dy                                  = 9000, 3000,
 grid_id                             = 1,     2,     3,
 parent_id                           = 0,     1,     2,
 i_parent_start                      = 1,     85,    45,
 j_parent_start                      = 1,     88,    45,
 parent_grid_ratio                   = 1,     3,     3,
 parent_time_step_ratio              = 1,     3,     3,
 feedback                            = 1,
 smooth_option                       = 0
 /

 &physics
 mp_physics = 5, 5,
 ra_lw_physics = 1, 1,
 ra_sw_physics = 3, 3,
 radt = 30, 30,
 sf_sfclay_physics = 1, 1,
 sf_surface_physics = 3, 3,
 bl_pbl_physics = 1, 1,
 bldt = 0, 0,
 cu_physics = 2, 0, 0, 0,
 cudt                                = 5,     5,     5,
 isfflx                              = 1,
 ifsnow                              = 1,
 icloud                              = 1,
 surface_input_source                = 3,
 num_soil_layers                     = 4,
 sf_urban_physics                    = 0,     0,     0,
 /
 
 
 &fdda
 /

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

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

 &grib2
 /

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,
 /

I'm using v4.0 on Cheyenne. Also, while I have you here (I can post a separate question for this somewhere else if you think that's necessary), does changing variables in met_em files normally have a significant impact on the WRF run? I was working on changing soil moisture values in those files (and changed surface_input_value = 3 in the namelist), but the soil moisture WRF output looked almost identical to the WRF output with unaltered soil moisture met_em files. Perhaps I'm just not completely sure how WRF deals with the met_em file, but I assumed these were boundary conditions. I've also changed sm values in the wrfinput files, but when I do this, the soil moisture over time goes back to similar values as the control simulation. Any thoughts?

Thanks again Ming!

Marc
 
Marc,
I have a few concerns regarding your case:
(1) If you run with RUC land model, then num_soil_layers should be 9 instead of 4. By setting it to be 4, the memory allocation will be wrong. I believe this is related to the problem in REAL.
(2) For your questions of changing data in met_em, these changes definitely will affect the WRF results. Note that surface_input_value = 3 is the default option, which tells REAL to use soil type/iivgtyp from geogrid. This has nothing to do with soil moisture/temperature, which are derived from your ERA data.

Anyway please set correct num_soil_layers and try again. By the way, is there any special reason you want to run RUC? I ask this because the interpolation of soil data from 4 layers to the 9 layers required by RUC often leads to larger biases.
 
Hi Ming,

Thanks for your response.

1) This is interesting for the RUC num_soil_layers, as I've never had to change this field to 9 previously when doing other WRF runs. I will try this. The reason I wanted to use RUC is because we found an optimal physics parameterization combination for the Northeast during the summer that includes RUC. My master's thesis had to do with statistical post-processing of ensemble WRF forecasts, and one of physics combinations that included RUC performed the best. We just wanted to use this combination for another study, but it's honestly fine to use Noah-MP instead.

2) Isn't the default option for surface_input_value = 1? I had to change it from 1 to 3 in order for real to not overwrite the met_em files, which was an issue I had previously (which was in another thread on this website).

For now, we just switched to using the Noah-MP scheme since WRF is working fine with that. I will check this num_soil_layers issue.

Marc
 
Marc,

Thanks for explaining the issue. It is interesting to know that with RUC land model, num_soil_layers =4 still works. I wonder whether you have examined the results? Did they look reasonable?

The default option for surface_input_source is 3 in WRFV4.0.

I would also suggest that you run with WRFV4.2. This is because WRFV4.2 includes quite a few important bug fixes.
 
Top