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

Segmentation fault in wrf.exe using trajectory option

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.

nuistrolin

New member
Dear WRF Users:

I am using WRF 3.9.1, and I am runing a nested simulation (3 domains). I want to use new trajectory option to calculate hydrometeors' trajectory. When I use single domain simulation for test(just add wrfinput_traj_d01), the model runs well.However, when I change to use 3 domains simulation(add wrfinput_traj_d01-d03 these three scripts), there is a segmentation fault when I run the wrf.exe.

I have tried changing my timestep smaller and using " ulimit -s unlimited" command before wrf.exe, it still doesn't work.

Following are my namelist.input, rsl.error.0000 and wrfinput_traj_d01-d03

NAMELIST.INPUT:
Code:
&time_control
 run_days                            = 0,
 run_hours                           = 24,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2016, 2016, 2016,
 start_month                         = 07,   07,   07,
 start_day                           = 08,   08,   08,
 start_hour                          = 00,   00,   00,
 start_minute                        = 00,   00,   00,
 start_second                        = 00,   00,   00,
 end_year                            = 2016, 2016, 2016,
 end_month                           = 07,   07,   07,
 end_day                             = 09,   09,   09,
 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                    = 180,  180,   5,
 frames_per_outfile                  = 1000, 1000, 1000,
 restart                             = .false.,
 restart_interval                    = 1000,
 io_form_history                     = 2
 io_form_auxhist2                    = 2
 auxhist2_outname                    = "wrfout_traj_d<domain>"
 frames_per_auxhist2                 = 1000
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 debug_level                         = 1000
 /

 &domains
 time_step                           = 60,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 3,
 e_we                                = 150,    271,   313,
 e_sn                                = 150,    271,   223,
 e_vert                              = 40,    40,    40,
 p_top_requested                     = 5000,
 num_metgrid_levels                  = 32,
 num_metgrid_soil_levels             = 4,
 dx                                  = 18000, 6000,  2000,
 dy                                  = 18000, 6000,  2000,
 grid_id                             = 1,     2,     3,
 parent_id                           = 0,     1,     2,
 i_parent_start                      = 1,     30,    100,
 j_parent_start                      = 1,     30,    98,
 parent_grid_ratio                   = 1,     3,     3,
 parent_time_step_ratio              = 1,     3,     3,
 feedback                            = 1,
 smooth_option                       = 0,
 num_traj                            = 1000,
 /

 &physics
 mp_physics                          = 9,     9,     9,
 cu_physics                          = 1,     0,     0,
 ra_lw_physics                       = 4,     4,     4,
 ra_sw_physics                       = 4,     4,     4,
 bl_pbl_physics                      = 1,     1,     1,
 sf_sfclay_physics                   = 1,     1,     1,
 sf_surface_physics                  = 2,     2,     2,
 radt                                = 18,    18,    18,
 bldt                                = 0,     0,     0,
 cudt                                = 5,     5,     5,
 icloud                              = 1,
 num_soil_layers                     = 4,
 num_land_cat                        = 24,
 sf_urban_physics                    = 0,     0,     0,
 traj_opt                            = 1,
 dm_has_traj                         = .true., .true., .true.,
 /

 &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,     
 gwd_opt                             = 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,
 /

rsl.error.0000(end part):
Code:
d01 2016-07-08_00:00:00 module_start: phy_init: Before call to cu_init
d01 2016-07-08_00:00:00 module_start: phy_init: Before call to shcu_init
d01 2016-07-08_00:00:00 module_start: phy_init: Before call to mp_init
d01 2016-07-08_00:00:00 module_start: phy_init: Before call to fg_init
d01 2016-07-08_00:00:00 module_start: phy_init: Before call to fdob_init
d01 2016-07-08_00:00:00 start_domain_em: After call to phy_init
d01 2016-07-08_00:00:00 start_em: calling lightning_init
d01 2016-07-08_00:00:00 start_em: after calling lightning_init
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_1_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_2_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_3_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_4_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_5_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_INIT_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_MOIST_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_TKE_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_SCALAR_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_CHEM_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_1_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_2_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_3_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_4_inline.inc
d01 2016-07-08_00:00:00 calling inc/HALO_EM_INIT_5_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_INIT_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_MOIST_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_TKE_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_SCALAR_inline.inc
d01 2016-07-08_00:00:00 calling inc/PERIOD_BDY_EM_CHEM_inline.inc
trajectory_init(02): default start time = 2016-07-08_01:00:00
trajectory_init(02): default stop  time = 2016-07-08_14:00:00
d01 2016-07-08_00:00:00 trajectory_init(02): traj 001 i,j,z_bot,z_top,lev =   33  33   4179.885       20574.50       6179.885
d01 2016-07-08_00:00:00 trajectory_init(02): traj cnt =      1     1
d01 2016-07-08_00:00:00 trajectory_init(02): trj,k,z(k-1:k),traj_k =   1 12   5987.690       6291.330       11.63297
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source             
wrf.exe            0000000002C7F3B9  Unknown               Unknown  Unknown
wrf.exe            0000000002C7DD30  Unknown               Unknown  Unknown
wrf.exe            0000000002C3B412  Unknown               Unknown  Unknown
wrf.exe            0000000002BD2CB3  Unknown               Unknown  Unknown
wrf.exe            0000000002BD971B  Unknown               Unknown  Unknown
libpthread.so.0    00002AAB3C51B9F0  Unknown               Unknown  Unknown
wrf.exe            000000000123F598  Unknown               Unknown  Unknown
wrf.exe            00000000019C93F9  Unknown               Unknown  Unknown
wrf.exe            00000000017E9669  Unknown               Unknown  Unknown
wrf.exe            00000000012FBED1  Unknown               Unknown  Unknown
wrf.exe            00000000012EE80A  Unknown               Unknown  Unknown
wrf.exe            00000000005B618C  Unknown               Unknown  Unknown
wrf.exe            00000000004F9011  Unknown               Unknown  Unknown
wrf.exe            00000000004F8FC7  Unknown               Unknown  Unknown
wrf.exe            00000000004F8F56  Unknown               Unknown  Unknown
libc.so.6          00002AAB3C74BBE5  Unknown               Unknown  Unknown
wrf.exe            00000000004F8E69  Unknown               Unknown  Unknown


wrfinput_traj_d01:
Code:
&traj_default
traj_def%start_time = '2016-07-08_00:00:00'
traj_def%stop_time = '2016-07-09_00:00:00'
traj_def%dyn_name(1:8) = 'p', 'T', 'z', 'u', 'v', 'w', 'rainprod', 'evapprod'
!traj_def%hyd_name(1:6) = 'QCLOUD','QRAIN','QICE','QSNOW','QGRAUP','QHAIL'
/

&traj_spec
traj_type(1)%lon = 70.00
traj_type(1)%lat = 30.00
traj_type(1)%lev = 2000.
traj_type(1)%z_is_agl = .true.
/


wrfinput_traj_d02:
Code:
&traj_default
traj_def%start_time = '2016-07-08_00:00:00'
traj_def%stop_time = '2016-07-09_00:00:00'
traj_def%dyn_name(1:1) = 'p', 'T', 'z', 'u', 'v', 'w', 'rainprod', 'evapprod'
!traj_def%hyd_name(1:1) = 'QCLOUD'!,'QRAIN','QICE','QSNOW','QGRAUP','QHAIL'
/

&traj_spec
traj_type(1)%lon = 75.00
traj_type(1)%lat = 35.00
traj_type(1)%lev = 2000.
traj_type(1)%z_is_agl = .true.
/


wrfinput_traj_d03:
Code:
&traj_default
traj_def%start_time = '2016-07-08_00:00:00'
traj_def%stop_time = '2016-07-09_00:00:00'
traj_def%dyn_name(1:8) = 'p', 'T', 'z', 'u', 'v', 'w', 'rainprod', 'evapprod'
traj_def%hyd_name(1:6) = 'QCLOUD','QRAIN','QICE','QSNOW','QGRAUP','QHAIL'
/

&traj_spec
traj_type(1)%lon = 81.50
traj_type(1)%lat = 39.70
traj_type(1)%lev = 2000.
traj_type(1)%z_is_agl = .false.

traj_type(2)%lon = 81.60
traj_type(2)%lat = 39.80
traj_type(2)%lev = 2000.
traj_type(2)%z_is_agl = .true.

traj_type(3)%lon = 81.40
traj_type(3)%lat = 39.60
traj_type(3)%lev = 2000.
traj_type(3)%is_stationary = .false.
/

Actually, I just want the trajectory in the third domain ,but I don't know what I should do.
I would be really grateful if someone can guide me to solve this problem. Thank you very much!!
 
Ming Chen said:
Are you using the coupled WRF-HYSPLIT code, or WRFV3.9.1 with some modification you made?

Neither. I am using WRF3.9.1 with a trajectory calculation option on (traj_opt=1 in namelist).The code has renewed since WRF3.9 , and the description of the renewal is following:
Code:
Trajectory diagnostics: The original "trajectory" code in routine module_em.F 
only computed the trajectory spatial coordinates per trajectory, per time step.
 The new code, in share/module_trajectory.F, linearly interpolates in x,y, and z to 
get the value of up 100 variables per trajectory per time step.

And the PDF file about the trajectory option is: https://www2.acom.ucar.edu/sites/default/files/wrf-chem/Trajectory.desc_.pdf

Look forward to your reply!Thank you!
 
Due to the government shut down, I cannot reach the person who may know this issue. I move your post to wrf_chem forum. Hope someone can get back to you soon.
 
Ming Chen said:
Due to the government shut down, I cannot reach the person who may know this issue. I move your post to wrf_chem forum. Hope someone can get back to you soon.

Thank you very much. :D
 
Top