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

WRF-Solar run problem

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.

JCollins

New member
I'm using the WRF-Solar to make a forecast. Previously I used it to perform reanalysis.

The input data that I use are those of the GFS that I downloaded from the following address ncdc.noaa.gov

I found a first problem with the preprocessing of the data. Once the entire process is executed, the real.exe fails because no ground levels are generated. The only way I found to solve this problem is using the WRF-ARW preprocessing. Then, I link the files met_em_d0 * to the WRF-Solar and the real.exe runs without problems.

The second problem comes with the wrf.exe, which when executing stops only, but does not give any information about it to try to solve the problem.

I would need some form of support to solve these problems and be able to use the WRF-Solar.

Thank you.
 
Hi,
Unfortunately our group (WRF Support) did not develop the WRF-Solar package, nor do we have the full package for testing, etc.
I'm not sure what differs about the programs, but I can try to help as much as is possible.
You say that WRF stops immediately - does this happen if you use basic WRF (and not WRF-Solar)? Can you attach the namelist.input file you're using, along with the error log(s)? Thanks.
 
Hi...

If your WRF-Solar stops with out leaving any error message, including the rsl* files it could
be that your computer, or one of the nodes, if running MPI, ran out of memory.

When a computer runs out of memory, it can either panic (crash) or hang until rebooted if
immediate drastic action isn't taken. This is handled by the OOM (Out Of Memory) daemon
process. This sends SIGKILL, aka "kill -9", to large memory jobs. Unless your job collects the
exit status (probably 9), you have no way of knowing this is what happened.

Running "dmesg" or "dmesg -T" on newer systems, will show the system logs. OOM *will*
log the event.
 
First, thanks for the answers.

I will explain the process in parts, so that it is better understood.

In the WRF-Solar WPS, I run without problems geogrid, ungrib and metgrid.

In WRFV3/test/em_real, when I run real.exe I get the first error:
Code:
----------------- ERROR -------------------
 namelist    : num_metgrid_soil_levels =          4
 input files : NUM_METGRID_SOIL_LEVELS =          0 (from met_em files).
 -------------- FATAL CALLED ---------------
 FATAL CALLED FROM FILE:  <stdin>  LINE:     749
 Mismatch between namelist and global attribute NUM_METGRID_SOIL_LEVELS

I solve this error by changing num_metgrid_soil_levels in the namelist.input to 0.

This change gives me another error:
Code:
Using sfcprs3 to compute psfc
 d01 2018-11-13_00:00:00   flag value of flag_qnwfa is            0
 d01 2018-11-13_00:00:00 calling inc/HALO_EM_VINTERP_UV_1_inline.inc
 d01 2018-11-13_00:00:00 Old data, no inland lake information
 d01 2018-11-13_00:00:00  MMINLU = USGS
 d01 2018-11-13_00:00:00  sf_surface_physics =            2
 d01 2018-11-13_00:00:00 NLCD40 being used with an OK scheme
 -------------- FATAL CALLED ---------------
 FATAL CALLED FROM FILE:  <stdin>  LINE:    1902
 Not enough soil temperature data for Noah LSM scheme.

Change sf_surface_physics from 2 to 1 to avoid the error.

Here I have to say that I have searched and I do not understand the error, the one of physics I understand it, but I do not know why the soil levels are 0.

With the new soil physics the real.exe runs successfully.

Now, I run wrf.exe.

Now two things happen, the process stops on its own or gives the following message:
Code:
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source             
wrf.exe            0000000002800C8D  for__signal_handl     Unknown  Unknown
libpthread-2.17.s  00002B58283EC6D0  Unknown               Unknown  Unknown
wrf.exe            0000000001B81388  Unknown               Unknown  Unknown
wrf.exe            0000000001B7B08E  Unknown               Unknown  Unknown
wrf.exe            0000000001B7612C  Unknown               Unknown  Unknown
wrf.exe            0000000001B74932  Unknown               Unknown  Unknown
wrf.exe            00000000015DB6E0  Unknown               Unknown  Unknown
wrf.exe            00000000016AE9A8  Unknown               Unknown  Unknown
wrf.exe            000000000112765C  Unknown               Unknown  Unknown
wrf.exe            0000000000FFE4AC  Unknown               Unknown  Unknown
wrf.exe            00000000005238A9  Unknown               Unknown  Unknown
wrf.exe            0000000000523CE4  Unknown               Unknown  Unknown
wrf.exe            0000000000523CE4  Unknown               Unknown  Unknown
wrf.exe            000000000040CA81  Unknown               Unknown  Unknown
wrf.exe            000000000040CA3F  Unknown               Unknown  Unknown
wrf.exe            000000000040C9DE  Unknown               Unknown  Unknown
libc-2.17.so       00002B582891D445  __libc_start_main     Unknown  Unknown
wrf.exe            000000000040C8E9  Unknown               Unknown  Unknown

Now two clarifications:
1. The same input data and the same execution process work correctly in WRF4 (basic WRF).
2. It is the first time that I get this error in WRF-Solar. I have used the model before and without problems, however, the input data was always re-analysis.

I put here the namelist.wps and the namelist.input
Code:
&share
 wrf_core = 'ARW',
 max_dom = 3,
 start_date = '2018-11-13_00:00:00','2018-11-13_00:00:00','2018-11-13_00:00:00',
 end_date   = '2018-11-28_18:00:00','2018-11-28_18:00:00','2018-11-28_18:00:00',
 interval_seconds = 21600,
 io_form_geogrid = 2,
/

&geogrid
 parent_id         = 1,1,2,
 parent_grid_ratio = 1,3,3,
 i_parent_start    = 1,34,41,
 j_parent_start    = 1,42,46,
 e_we              = 123,172,127,
 e_sn              = 123,130,115,
 geog_data_res = 'default','default','default',
 dx = 9000,
 dy = 9000,
 map_proj = 'lambert',
 ref_lat   = 28.251,
 ref_lon   = -15.905,
 truelat1  = 27.962,
 truelat2  = 27.962,
 stand_lon = -15.394,


 !
 !!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
 ! The default datasets used to produce the MAXSNOALB and ALBEDO12M
 ! fields have changed in WPS v4.0. These fields are now interpolated
 ! from MODIS-based datasets.
 !
 ! To match the output given by the default namelist.wps in WPS v3.9.1,
 ! the following setting for geog_data_res may be used:
 !
 ! geog_data_res = 'maxsnowalb_ncep+albedo_ncep+default', 'maxsnowalb_ncep+albedo_ncep+default',
 !
 !!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
!

 geog_data_path = '/home/data/geo_solar'
/

&ungrib
 out_format = 'WPS',
 prefix = 'CANARIAS',
/

&metgrid
 fg_name = 'CANARIAS',
 io_form_metgrid = 2,
/

Code:
&time_control
 run_days                            = 0,
 run_hours                           = 360,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2018, 2018, 2018,
 start_month                         = 11,   11,   11,
 start_day                           = 13,   13,   13,
 start_hour                          = 00,   00,   00,
 start_minute                        = 00,   00,   00,
 start_second                        = 00,   00,   00,
 end_year                            = 2018, 2018, 2018,
 end_month                           = 11,   11,   11,
 end_day                             = 28,   28,   28,
 end_hour                            = 18,   18,   18,
 end_minute                          = 00,   00,   00,
 end_second                          = 00,   00,   00,
 interval_seconds                    = 21600
 input_from_file                     = .true.,.true.,.true.,
 history_interval                    = 1440,  1440,   60,
 frames_per_outfile                  = 1, 1, 1,
 restart                             = .false.,
 restart_interval                    = 21600,
 io_form_history                     = 2
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 debug_level                         = 50
 /

 &domains
 use_adaptive_time_step              = .true.
 step_to_output_time 		     = .true.
 target_cfl 			     = 1.2, 1.2, 1.2,
 max_step_increase_pct 		     = 5, 51, 51,
 starting_time_step 		     = -1,
 max_time_step 			     = -1,
 min_time_step                       = -1,
 adaptation_domain                   = 1,
 time_step                           = 6,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 3,
 e_we                                = 123, 172, 127,
 e_sn                                = 123, 130, 115,
 e_vert                              = 25, 25, 25,
 p_top_requested                     = 21000,
 num_metgrid_levels                  = 32,
 num_metgrid_soil_levels             = 0,
 dx                                  = 9000, 3000,  1000,
 dy                                  = 9000, 3000,  1000,
 grid_id                             = 1,     2,     3,
 parent_id                           = 1,     1,     2,
 i_parent_start                      = 1,     34,    41,
 j_parent_start                      = 1,     42,    46,
 parent_grid_ratio                   = 1,     3,     3,
 parent_time_step_ratio              = 1,     3,     3,
 feedback                            = 1,
 smooth_option                       = 0
 /

 &physics
 mp_physics                          = 3,     3,     3,
 ra_lw_physics                       = 1,     1,     1,
 ra_sw_physics                       = 3,     3,     3,
 radt                                = 30,    30,    30,
 sf_sfclay_physics                   = 1,     1,     1,
 sf_surface_physics                  = 1,     1,     1,
 bl_pbl_physics                      = 1,     1,     1,
 bldt                                = 0,     0,     0,
 cu_physics                          = 1,     1,     0,
 cudt                                = 5,     5,     5,
 isfflx                              = 1,
 ifsnow                              = 0,
 icloud                              = 0,
 surface_input_source                = 1,
 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,
 /
 
Hi,
I *think* that WRF-Solar is based on a somewhat older version of WRF. It sounds like the Vtable you are using to run ungrib is likely not the correct one, and therefore is not ungribbing any of the soil information. Can you check your met_em* files to see if you have any soil data in those:
Code:
ncdump -h met_em.d01.date_time.nc | grep -i num_metgrid_soil_levels

(here, you'll need the actual file name - just choose one of your met_em* files)

If it shows that you DO have soil levels, then there is probably a bigger problem, but I suspect it will say 0. If that's the case, try using the Vtable.GFS file from WPSV4.0/ungrib/Variable_Tables/ directory, instead of the one you are using with the solar version of WPS. Let me know if that makes a difference.

Thanks,
Kelly
 
Hi.

Effectively, when putting that command it says that it is 0.
Code:
$ ncdump -h met_em.d01.2018-11-19_18\:00\:00.nc | grep -i num_metgrid_soil_levels
		:NUM_METGRID_SOIL_LEVELS = 0 ;

I ran ungrib and metgrid with the Vtable.GFS of the WRF4. In this case, the following message appears:
Code:
$ ncdump -h met_em.d01.2018-11-19_18\:00\:00.nc | grep -i num_metgrid_soil_levels
		:NUM_METGRID_SOIL_LEVELS = 4 ;

Also, when executing metgrid I get this message:
Code:
WARNING: Entry in METGRID.TBL not found for field UTROP. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field VTROP. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field PTROP. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field TTROP. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field HGTTROP. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field UMAXW. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field VMAXW. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field PMAXW. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field TMAXW. Default options will be used for this field!
WARNING: Entry in METGRID.TBL not found for field HGTMAXW. Default options will be used for this field!

When executing real.exe it gives the following error:
Code:
Using sfcprs3 to compute psfc
 -------------- FATAL CALLED ---------------
 FATAL CALLED FROM FILE:  <stdin>  LINE:    4976
 troubles, could not find trapping x locations
 -------------------------------------------

Just in case, I tried copying METGRID.TBL from WRF4. Now, when I run metgrid:
Code:
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.
WARNING: In METGRID.TBL, unrecognized option mpas_name in entry 10.

When you run real.exe again, the same error occurs as before.
 
Okay, so the fact that you now have 4 soil levels in your met_em* files means that you were able to correct the initial problem. The warning messages you are seeing in the metgrid output are fine. They are simply warnings stating that there are variables listed in the metgrid table that are not found in the intermediate files, and that's fine. These are more abstract variables that you don't need with your input data, and the model will simply use the default values for these.

As for the new problem, since it's more related to real.exe, will you post the question as a new question to that section of the forum (just to keep things organized for those who may want to search this problem later). Please also attach your namelist.input file, and your error log for the real.exe run when you post it there.

Thanks,
Kelly
 
Top