Closed janmandel closed 3 years ago
nfuel_cat is all zeros, never changed after module_alloc_space IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%nfuel_cat=initial_data_value that means never read from wrfinput. But in wrfinput it is correctly 1 to 14 likewise tign_g is also all zeros.
Hardware watchpoint 2: *0x7fff51d498b0
Old value = <unreadable>
New value = 0
0x0000000001a21774 in module_alloc_space_6::alloc_space_field_core_6 (grid=0x15489420, id=2, setinitval_in=3, tl_in=3,
inter_domain_in=.FALSE., okay_to_alloc_in=4294967295, num_bytes_allocated=1501828472, sd31=1, ed31=130, sd32=1,
ed32=41, sd33=1, ed33=130, sm31=-4, em31=135, sm32=1, em32=41, sm33=-4, em33=135, sp31=1, ep31=130, sp32=1, ep32=41,
sp33=1, ep33=130, sp31x=1, ep31x=130, sp32x=1, ep32x=41, sp33x=1, ep33x=130, sp31y=1, ep31y=130, sp32y=1, ep32y=41,
sp33y=1, ep33y=130, sm31x=1, em31x=130, sm32x=1, em32x=41, sm33x=1, em33x=130, sm31y=1, em31y=130, sm32y=1, em32y=41,
sm33y=1, em33y=130) at module_alloc_space_6.f90:411
411 IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%nfuel_cat=initial_data_value
(gdb) print initial_data_value
$3 = 0
(gdb) c
Continuing.
d01 2015-08-16_00:00:00 alloc_space_field: domain 2 , 4078950632 bytes allocated
d01 2015-08-16_00:00:00 *** Initializing nest domain # 2 from an input file. ***
d01 2015-08-16_00:00:00 med_initialdata_input: calling input_input
d01 2015-08-16_00:00:00 Input data is acceptable to use: wrfinput_d02
Timing for processing wrfinput file (stream 0) for domain 2: 0.41893 elapsed seconds
INPUT LandUse = "MODIFIED_IGBP_MODIS_NOAH"
LANDUSE TYPE = "MODIFIED_IGBP_MODIS_NOAH" FOUND 33 CATEGORIES 2 SEASONS WATER CATEGORY = 17 SNOW CATEGORY = 15
INITIALIZE THREE Noah LSM RELATED TABLES
Skipping over LUTYPE = USGS
LANDUSE TYPE = MODIFIED_IGBP_MODIS_NOAH FOUND 20 CATEGORIES
INPUT SOIL TEXTURE CLASSIFICATION = STAS
SOIL TEXTURE CLASSIFICATION = STAS FOUND 19 CATEGORIES
start_em: initializing avgflx on domain 2
*********************************************************************
* PROGRAM:WRF-Chem V4.2 MODEL
* *
* PLEASE REPORT ANY BUGS TO WRF-Chem HELP at *
* *
* wrfchemhelp.gsd@noaa.gov *
* *
*********************************************************************
SFIRE:git commit 04b087a16b58b7f540fcdf8494f529540fcef3ed
SFIRE:reading emissions table for 13 fuel categories
SFIRE:nfuel_cat( 1, 1)= 0
SFIRE:Possibly nfuel_cat is uninitialized on input
SFIRE:nfuel_cat must between 1 and nfuel_cat= 13
SFIRE: or 14 and 99999999 for no fuel
SFIRE:crash: set_fire_params: fuel category out of bounds
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 204
crash: set_fire_params: fuel category out of bounds
-------------------------------------------
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 204
crash: set_fire_params: fuel category out of bounds
-------------------------------------------
Breakpoint 1, 0x00007fffecc52170 in exit () from /glade/u/apps/ch/os/lib64/libc.so.6
(gdb) print nfuel_cat(1,1)
No symbol "nfuel_cat" in current context.
(gdb) up
#1 0x0000000005d645a4 in for_stop_core ()
(gdb) up
#2 0x0000000000f25442 in wrf_abort () at module_dm.f90:6039
6039 STOP
(gdb) up
#3 0x0000000000f1c912 in wrf_error_fatal3 (file_str=..., line=204, str=..., .tmp.FILE_STR.len_V$ba=7,
.tmp.STR.len_V$be=128) at module_wrf_error.f90:213
213 CALL wrf_abort
(gdb) up
#4 0x00000000044a7251 in module_fr_sfire_util::crash (s=..., .tmp.S.len_V$1a3=44) at module_fr_sfire_util.f90:204
204 call wrf_error_fatal3("<stdin>",204,&
(gdb) up
#5 0x000000000449f417 in module_fr_sfire_phys::set_fire_params (ifds=1, ifde=2580, jfds=1, jfde=2580, ifms=-99, ifme=2700,
jfms=-99, jfme=2700, ifts=1, ifte=2580, jfts=1, jfte=2580, fdx=200, fdy=200, nfuel_cat0=1,
nfuel_cat=<error reading variable: value requires 31360000 bytes, which is more than max-value-size>,
fuel_time=<error reading variable: value requires 31360000 bytes, which is more than max-value-size>, fp=...)
at module_fr_sfire_phys.f90:1174
1174 call crash('set_fire_params: fuel category out of bounds')
(gdb) print nfuel_cat(1,1)
$4 = 0
(gdb) print &nfuel_cat( 1,1)
$10 = (PTR TO -> ( REAL(4) )) 0x7fff51d498b0
namelist input has ifire = 0, 1 ,1 running the fire model on domain 2 and 3, but domain 2 did not have the data
After changing namelist.input to ifire = 0,0,1 a segfault and it never gets to the fire code:
Ntasks in X 1 , ntasks in Y 1
Domain # 1: dx = 12000.000 m
Domain # 2: dx = 4000.000 m
Domain # 3: dx = 1333.333 m
WRF V4.2 MODEL
git commit 04b087a16b58b7f540fcdf8494f529540fcef3ed
*************************************
Parent domain
ids,ide,jds,jde 1 130 1 130
ims,ime,jms,jme -4 135 -4 135
ips,ipe,jps,jpe 1 130 1 130
*************************************
DYNAMICS OPTION: Eulerian Mass Coordinate
alloc_space_field: domain 1 , 2408011432 bytes allocated
med_initialdata_input: calling input_input
Input data is acceptable to use: wrfinput_d01
CURRENT DATE = 2015-08-16_00:00:00
SIMULATION START DATE = 2015-08-16_00:00:00
Timing for processing wrfinput file (stream 0) for domain 1: 0.34561 elapsed seconds
Max map factor in domain 1 = 1.02. Scale the dt in the model accordingly.
D01: Time step = 18.00000 (s)
D01: Grid Distance = 12.00000 (km)
D01: Grid Distance Ratio dt/dx = 1.500000 (s/km)
D01: Ratio Including Maximum Map Factor = 1.533206 (s/km)
D01: NML defined reasonable_time_step_ratio = 6.000000
INPUT LandUse = "MODIFIED_IGBP_MODIS_NOAH"
LANDUSE TYPE = "MODIFIED_IGBP_MODIS_NOAH" FOUND 33 CATEGORIES 2 SEASONS WATER CATEGORY = 17 SNOW CATEGORY = 15
INITIALIZE THREE Noah LSM RELATED TABLES
Skipping over LUTYPE = USGS
LANDUSE TYPE = MODIFIED_IGBP_MODIS_NOAH FOUND 20 CATEGORIES
INPUT SOIL TEXTURE CLASSIFICATION = STAS
SOIL TEXTURE CLASSIFICATION = STAS FOUND 19 CATEGORIES
start_em: initializing avgflx on domain 1
*********************************************************************
* PROGRAM:WRF-Chem V4.2 MODEL
* *
* PLEASE REPORT ANY BUGS TO WRF-Chem HELP at *
* *
* wrfchemhelp.gsd@noaa.gov *
* *
*********************************************************************
*************************************
Nesting domain
ids,ide,jds,jde 1 130 1 130
ims,ime,jms,jme -4 135 -4 135
ips,ipe,jps,jpe 1 130 1 130
INTERMEDIATE domain
ids,ide,jds,jde 40 88 40 88
ims,ime,jms,jme 35 93 35 93
ips,ipe,jps,jpe 38 90 38 90
*************************************
d01 2015-08-16_00:00:00 alloc_space_field: domain 2 , 71109868 bytes allocated
Hardware watchpoint 2: *0x7fff51d498b0
Old value = <unreadable>
New value = 0
0x0000000001a40177 in module_alloc_space_6::alloc_space_field_core_6 (grid=0x15489420, id=2, setinitval_in=3, tl_in=3, inter_domain_in=.FALSE.,
okay_to_alloc_in=4294967295, num_bytes_allocated=1501828472, sd31=1, ed31=130, sd32=1, ed32=41, sd33=1, ed33=130, sm31=-4, em31=135, sm32=1, em32=41, sm33=-4,
em33=135, sp31=1, ep31=130, sp32=1, ep32=41, sp33=1, ep33=130, sp31x=1, ep31x=130, sp32x=1, ep32x=41, sp33x=1, ep33x=130, sp31y=1, ep31y=130, sp32y=1, ep32y=41,
sp33y=1, ep33y=130, sm31x=1, em31x=130, sm32x=1, em32x=41, sm33x=1, em33x=130, sm31y=1, em31y=130, sm32y=1, em32y=41, sm33y=1, em33y=130)
at module_alloc_space_6.f90:2302
2302 IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%fuel_frac_burnt=initial_data_value
(gdb) c
Continuing.
d01 2015-08-16_00:00:00 alloc_space_field: domain 2 , 2441096232 bytes allocated
d01 2015-08-16_00:00:00 *** Initializing nest domain # 2 from an input file. ***
d01 2015-08-16_00:00:00 med_initialdata_input: calling input_input
d01 2015-08-16_00:00:00 Input data is acceptable to use: wrfinput_d02
Timing for processing wrfinput file (stream 0) for domain 2: 0.45434 elapsed seconds
INPUT LandUse = "MODIFIED_IGBP_MODIS_NOAH"
LANDUSE TYPE = "MODIFIED_IGBP_MODIS_NOAH" FOUND 33 CATEGORIES 2 SEASONS WATER CATEGORY = 17 SNOW CATEGORY = 15
INITIALIZE THREE Noah LSM RELATED TABLES
Skipping over LUTYPE = USGS
LANDUSE TYPE = MODIFIED_IGBP_MODIS_NOAH FOUND 20 CATEGORIES
INPUT SOIL TEXTURE CLASSIFICATION = STAS
SOIL TEXTURE CLASSIFICATION = STAS FOUND 19 CATEGORIES
start_em: initializing avgflx on domain 2
*********************************************************************
* PROGRAM:WRF-Chem V4.2 MODEL
* *
* PLEASE REPORT ANY BUGS TO WRF-Chem HELP at *
* *
* wrfchemhelp.gsd@noaa.gov *
* *
*********************************************************************
INPUT LandUse = "MODIFIED_IGBP_MODIS_NOAH"
LANDUSE TYPE = "MODIFIED_IGBP_MODIS_NOAH" FOUND 33 CATEGORIES 2 SEASONS WATER CATEGORY = 17 SNOW CATEGORY = 15
INITIALIZE THREE Noah LSM RELATED TABLES
Skipping over LUTYPE = USGS
LANDUSE TYPE = MODIFIED_IGBP_MODIS_NOAH FOUND 20 CATEGORIES
INPUT SOIL TEXTURE CLASSIFICATION = STAS
SOIL TEXTURE CLASSIFICATION = STAS FOUND 19 CATEGORIES
start_em: initializing avgflx on domain 2
*********************************************************************
* PROGRAM:WRF-Chem V4.2 MODEL
* *
* PLEASE REPORT ANY BUGS TO WRF-Chem HELP at *
* *
* wrfchemhelp.gsd@noaa.gov *
* *
*********************************************************************
Max map factor in domain 1 = 1.02. Scale the dt in the model accordingly.
D01: Time step = 18.00000 (s)
D01: Grid Distance = 12.00000 (km)
D01: Grid Distance Ratio dt/dx = 1.500000 (s/km)
D01: Ratio Including Maximum Map Factor = 1.533206 (s/km)
D01: NML defined reasonable_time_step_ratio = 6.000000
INPUT LandUse = "MODIFIED_IGBP_MODIS_NOAH"
LANDUSE TYPE = "MODIFIED_IGBP_MODIS_NOAH" FOUND 33 CATEGORIES 2 SEASONS WATER CATEGORY = 17 SNOW CATEGORY = 15
INITIALIZE THREE Noah LSM RELATED TABLES
Skipping over LUTYPE = USGS
LANDUSE TYPE = MODIFIED_IGBP_MODIS_NOAH FOUND 20 CATEGORIES
INPUT SOIL TEXTURE CLASSIFICATION = STAS
SOIL TEXTURE CLASSIFICATION = STAS FOUND 19 CATEGORIES
start_em: initializing avgflx on domain 1
*********************************************************************
* PROGRAM:WRF-Chem V4.2 MODEL
* *
* PLEASE REPORT ANY BUGS TO WRF-Chem HELP at *
* *
* wrfchemhelp.gsd@noaa.gov *
* *
*********************************************************************
Timing for Writing wrfout_d01_2015-08-16_00:00:00 for domain 1: 2.42325 elapsed seconds
open_aux_u : error opening auxinput5_d01_2015-08-16_00:00:00 for reading. 100
d01 2015-08-16_00:00:00 Input data is acceptable to use: wrfbdy_d01
Timing for processing lateral boundary for domain 1: 1.41386 elapsed seconds
Program received signal SIGSEGV, Segmentation fault.
0x0000000002172302 in solve_em (grid=<error reading variable: value requires 386440 bytes, which is more than max-value-size>, config_flags=...,
emis_ant=<error reading variable: value requires 705600 bytes, which is more than max-value-size>,
eghg_bio=<error reading variable: value requires 78400 bytes, which is more than max-value-size>,
emis_dust=<error reading variable: value requires 470400 bytes, which is more than max-value-size>,
emis_seas=<error reading variable: value requires 78400 bytes, which is more than max-value-size>,
emis_seas2=<error reading variable: value requires 78400 bytes, which is more than max-value-size>,
emis_vol=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
ebu=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
ebu_in=<error reading variable: value requires 78400 bytes, which is more than max-value-size>,
emis_aircraft=<error reading variable: value requires 78400 bytes, which is more than max-value-size>,
ext_coef=<error reading variable: value requires 19286400 bytes, which is more than max-value-size>,
bscat_coef=<error reading variable: value requires 12857600 bytes, which is more than max-value-size>,
asym_par=<error reading variable: value requires 12857600 bytes, which is more than max-value-size>,
conv_ct=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
chem_ct=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
vmix_ct=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
advh_ct=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
advz_ct=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
dvel=<error reading variable: value requires 23598400 bytes, which is more than max-value-size>,
aero_srf_area=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
vprm_in=<error reading variable: value requires 627200 bytes, which is more than max-value-size>,
wet_in=<error reading variable: value requires 78400 bytes, which is more than max-value-size>,
chem=<error reading variable: value requires 64288000 bytes, which is more than max-value-size>,
chem_bxs=<error reading variable: value requires 2296000 bytes, which is more than max-value-size>,
chem_bxe=<error reading variable: value requires 2296000 bytes, which is more than max-value-size>,
chem_bys=<error reading variable: value requires 2296000 bytes, which is more than max-value-size>,
chem_bye=<error reading variable: value requires 2296000 bytes, which is more than max-value-size>,
chem_btxs=<error reading variable: value requires 2296000 bytes, which is more than max-value-size>,
chem_btxe=<error reading variable: value requires 2296000 bytes, which is more than max-value-size>,
chem_btys=<error reading variable: value requires 2296000 bytes, which is more than max-value-size>,
chem_btye=<error reading variable: value requires 2296000 bytes, which is more than max-value-size>,
tracer=<error reading variable: value requires 3214400 bytes, which is more than max-value-size>,
tracer_bxs=<error reading variable: value requires 114800 bytes, which is more than max-value-size>,
tracer_bxe=<error reading variable: value requires 114800 bytes, which is more than max-value-size>,
tracer_bys=<error reading variable: value requires 114800 bytes, which is more than max-value-size>,
tracer_bye=<error reading variable: value requires 114800 bytes, which is more than max-value-size>,
tracer_btxs=<error reading variable: value requires 114800 bytes, which is more than max-value-size>,
tracer_btxe=<error reading variable: value requires 114800 bytes, which is more than max-value-size>,
---Type <return> to continue, or q <return> to quit--- q
tracer_btys=<error reading variable: value requires 114800 bytes, Quit
(gdb) l
439
440 dynamics_option = config_flags%rk_ord
441
442
443
444 CALL get_ijk_from_grid ( grid , &
445 ids, ide, jds, jde, kds, kde, &
446 ims, ime, jms, jme, kms, kme, &
447 ips, ipe, jps, jpe, kps, kpe, &
448 imsx, imex, jmsx, jmex, kmsx, kmex, &
(gdb) l
449 ipsx, ipex, jpsx, jpex, kpsx, kpex, &
450 imsy, imey, jmsy, jmey, kmsy, kmey, &
451 ipsy, ipey, jpsy, jpey, kpsy, kpey )
452
453 CALL get_ijk_from_subgrid ( grid , &
454 sids, side, sjds, sjde, skds, skde, &
455 sims, sime, sjms, sjme, skms, skme, &
456 sips, sipe, sjps, sjpe, skps, skpe )
457 k_start = kps
458 k_end = kpe
(gdb) l
459
460 num_3d_m = num_moist
461 num_3d_c = num_chem
462 num_3d_s = num_scalar
463
464
465 if (grid%dfi_stage .EQ. DFI_BCK) then
466 num_3d_m = P_QV
467 num_3d_s = PARAM_FIRST_SCALAR - 1
468 endif
(gdb) up
#1 0x0000000001e136a0 in solve_interface (grid=<error reading variable: value requires 386440 bytes, which is more than max-value-size>) at solve_interface.f90:153
153 CALL solve_em ( grid , config_flags &
stock WRF4.2 /glade/p/univ/ucud0004/jmandel/WRF42-chem-debug at b3538102334419ff4915537d1ce81a
in /glade/p/univ/ucud0004/jmandel/WRF-SFIRE-chem/test/em_inv_chem with ifire=0, 0, 0
serial build with full debugging /glade/p/univ/ucud0004/jmandel/WRF-SFIRE-chem-debug: /glade/p/univ/ucud0004/jmandel/chem-fire ifire=0,0,1 segfault in solve_em.f90:444 CALL get_ijk_from_grid,... /glade/p/univ/ucud0004/jmandel/chem-fire2 ifire=0,0,2 segfault in solve_em.f90:444 CALL get_ijk_from_grid,... /glade/p/univ/ucud0004/jmandel/chem-fire2 ifire=0,0,0 segfault in solve_em.f90:444 CALL get_ijk_from_grid,...
serial build with full debugging, unmodified WRF4.2 /glade/u/home/jmandel/p/WRF42-chem-debug /glade/p/univ/ucud0004/jmandel/chem-orig-fire2 ifire=0,0,2 segfault in solve_em.f90:444 CALL get_ijk_from_grid,.. /glade/p/univ/ucud0004/jmandel/chem-orig-nofire ifire=0,0,0 segfault in solve_em.f90:444 CALL get_ijk_from_grid,..
/glade/u/home/jmandel/p/nochem-fire /glade/u/home/jmandel/p/chem-fire lines like this in each rsl.* file show that these variables are zero on the patch:
SFIRE:sfire_driver_em: grid%tign_g 1 440 1 440 0.0000 0.0000 0.0000
SFIRE:sfire_driver_em: grid%nfuel_cat 1 440 1 440 0.0000 0.0000 0.0000
with ifire=0,1,1 nfuel_cat and tign_g are zero in domain 2 with ifire-0,0,1 in domain 3 tign_g is all zeros on entry but nfuel_cat is populated by data wrfinput_d03 and wrfinput_d02 have data in both tign_g and and nfuel_cat in parallel build commit 76ad7f188596a9db603d14f695e9b5a037ff1a3e but serial build segfaults in solve_em on domain 3
in Registry/registry.fire state real nfuel_cat ij fire 1 z i012hr "NFUEL_CAT" "fuel data" state real zsf ij fire 1 z i012hr "ZSF" "height of surface above sea level" "m" state real dzdxf ij fire 1 z i012hr "DZDXF" "surface gradient x" "1" state real dzdyf ij fire 1 z i012hr "DZDYF" "surface gradient y" "1" state real tign_g ij fire 1 z i012hr "TIGN_G" "ignition time on ground" "s"
watchpoint on zsf(1000,1000) address from print_2d_stats changed in ./external/io_netcdf/wrf_io.f called from SUBROUTINE call_pkg_and_dist in frame/module_io.f90 called from wrf_read_field(..,.., varname='ZSF',...), dname='ZSF' + blanks called from wrf_ext_read_field in share/wrf_ext_read_field.f90 called from in share/input_wrf.f90 in share/input_wrf.f90 loop DO WHILE ( ASSOCIATED( p ) ) in share/input_wrf.F goes over grid variables and decides if to read them in:
1545 ELSE IF ( p%Ndim .EQ. 2 ) THEN
1546 IF ((p%Restart.AND.switch.EQ.restart_only).OR.on_stream( p%streams,newswitch)) THEN
1547 IF ( in_use_for_config(grid%id,TRIM(p%VarName)) .AND. &
1548 ( .NOT. p%subgrid_x .OR. (p%subgrid_x .AND. grid%sr_x .GT. 0) ) .AND. &
1549 ( .NOT. p%subgrid_y .OR. (p%subgrid_y .AND. grid%sr_y .GT. 0) ) &
1550 ) THEN
1551 IF (switch.EQ.restart_only.OR.p%Ntl/100.EQ.mod(p%Ntl,100)) THEN
1552 dname = p%DataName
1553 IF (p%Ntl.GT.0.AND.switch.NE.restart_only)dname=dname(1:len(TRIM(dname))-2)
1554 memord = p%MemoryOrder
1555 IF ( p%Type .EQ. 'r' ) THEN
1556 CALL wrf_ext_read_field ( &
branch develop-32
Also found that DZDXF = DZDYF = 0. Add a check for this in driver, and fix in geogrid table.
The problem goes away with newly generated input files. Apparently files corrupt in some way.
Was there any resolution to this other than the corrupted met_em files? Or was it the fuel files that were corrupt? I am running into exactly this issue with WRF-Fire and can't figure it out.
@jtaylo41 would you like to provide more specific information? I can look into that if you still have the problem with current master branch from here, ifire=1, and WPS 4.4. There were some issues with support of fire data in previous versions of WPS.
Hi Jan,
I was able to fix this by using a different namelist.fire input file that included the S&B 25 fuel categories -- simple fix. The fuel categories did not line up with what I expected (121 and 141 for example) which is what confused me quite a lot, but that was just because I did not understand the S&B model.
Thanks!
copied to /glade/p/univ/ucud0004/jmandel/WRF-SFIRE-chem/test/em_inv_chem SFIRE:git commit 60811b1b4e35011c722ddeba6c76d1f9fe1dcc8d SFIRE:reading emissions table for 13 fuel categories SFIRE:crash: set_fire_params: fuel category out of bounds