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

SIGFPE(8) error when run with sf_urban_physics = 3

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.

htan2013

Member
Dear all,

I have run into this error when using WRF4.3 with MODIS landuse data (rsl.MODIS.txt):

d01 2009-04-01_00:00:00 Input data is acceptable to use:
Tile Strategy is not specified. Assuming 1D-Y
WRF TILE 1 IS 1 IE 39 JS 99 JE 147
WRF NUMBER OF TILES = 1
MPT ERROR: Rank 4(g:4) received signal SIGFPE(8).
Process ID: 40092, Host: r7i6n12, Program: /glade/scratch/htan2013/WRF4.3_UrbanRun_Test3/WRF/main/wrf.exe
MPT Version: HPE MPT 2.22 03/31/20 15:59:10

MPT: --------stack traceback-------
MPT: Attaching to program: /proc/40092/exe, process 40092
MPT: Try: zypper install -C "debuginfo(build-id)=4e96cf37d52b9c2f3648e691878b682da5abfa42"

I wanted to use NLCD2011 9s data before, however, the wrf.exe crashed without any errors showing (rsl.NLCD.txt)

I have attached namelist.input, rsl.MODIS.txt, rsl.NLCD.txt, geo_em.d01_MODIS.nc, and geo_em.d01_NLCD.nc
Appreciated with any helps!

Thank you,
Haochen
 

Attachments

  • geo_em.d01_NLCD.nc
    2 MB · Views: 24
  • rsl.MODIS.txt
    59.4 KB · Views: 27
  • geo_em.d01_MODIS.nc
    1.7 MB · Views: 28
  • rsl.NLCD.txt
    21.4 KB · Views: 33
  • namelist.wps
    786 bytes · Views: 34
  • namelist.input
    4.7 KB · Views: 33
MPT: #6 0x0000000003f16f4b in module_sf_bep_bem::bep_bem (frc_urb2d=...,
MPT: utype_urb2d=..., itimestep=1,
MPT: dz8w=<error reading variable: value requires 634644 bytes, which is more than max-value-size>, dt=2,
MPT: u_phy=<error reading variable: value requires 634644 bytes, which is more than max-value-size>,
MPT: v_phy=<error reading variable: value requires 634644 bytes, which is more than max-value-size>,
MPT: th_phy=<error reading variable: value requires 634644 bytes, which is more than max-value-size>,
MPT: rho=<error reading variable: value requires 634644 bytes, which is more than max-value-size>,

From the rsl.MOIDS.txt file, I can see that the error is because those variables (dz8w, u_phy, v_phy) are exceeded the "max value size".
How should I reduce the size of these variables?
I am aware that these variables are all in module_sf_bep_bem.f90, subroutine line. But I am not sure why they exceed the max-value-size...
 
Update:

I noticed that my URB_PARAM in geo_em.d0X.nc is all zero.
But the FRC_URB2D is not zero-fields. Could that be the problem based on previous post: https://forum.mmm.ucar.edu/phpBB3/viewtopic.php?f=30&t=9455&p=18006&hilit=frc_urb_tbl#p18006 ?
 
Hi Haochen,
I am trying to repeat your case using your namelist.wps and namelist.input. However, I notice a few very obvious issues I am concerned:
(1) In your namelist.wps, you set
Code:
 geog_data_res = '30s','30s','30s'.

However, in your namelist.input, you set
Code:
 num_land_cat                        = 40,

This is obviously not consistent. I am pretty sure REAL will fail. I wonder how you manage to run REAL in this case?

(2) In your namelist.input. you set
Code:
 use_wudapt_lcz                      = 1,

This option requires to create a LCZ dataset (The method to create the LCZ data is described here: http://www.wudapt.org/). Have you done this?
 
Hello Ming,

1) I tried to run with NLCD data before so that's why I have "num_land_cat = 40,", sorry I did not change it back. I have modified the attached namelist.input (with 21 in here).
However, after changing to 21 (MODIS Categories), the real would run but the wrf.exe failed.

2) No I haven't created LCZ data here. I also changed that in the namelist.input.
Thank you for pointing it out.
 
Haochen,
I have repeated your cases using two input dataset: MODIS and NLCD. Both cases work fine. Please see the details below:
(1) For the MODIS, please set (in namelist.wps)
Code:
 geog_data_res = '30s+default','30s+default','30s+default'
Then in namelist.input,
Code:
 num_land_cat                        = 21,

(2) For NCLD, please set (in namelist.wps)
Code:
  geog_data_res = 'nlcd2006_30s+default','nlcd2006_30s+default','nlcd2006_30s+default'
Then in namelist.input, please set
Code:
 num_land_cat                        = 40, 
  use_wudapt_lcz                      = 1,
You also need to use the VEGPOARM.TBL I sent to you in GitHub.

Would you please try the above options and let me know how they work for you?

By the way, if you have access to cheyenne, the case I did are saved at
/glade/scratch/chenming/RT_MET/WRFV4.3/test/em_real
and
/glade/scratch/chenming/WPSV4.3
 
Haochen,
The tests are moved to in /glade/scratch/chenming/RT_MET/WRFV4.3/test/em_real/MODIS and /glade/scratch/chenming/RT_MET/WRFV4.3/test/em_real/NLCD. This is because I run some other tests in the same directory.
 
Hell Ming and all,

Thank you so much for testing the namelist for me.
The WRF in your path works perfectly fine with my namelist. So I compared with my WRF with your WRF.

The version is exactly the same. However, I used -D option when ./configure. Not sure which one affects the BEP+BEM, no optimization or checking uninitalized variables.

When I recompiled it without -D option, my WRF is able to run BEP+BEM.
Thanks again for your help!

Best regards,
Haochen
 
Haochen,
Would you please rerun the case using my data (wrfinput, wrfbdy and namelist) and your code compiled with -D option?
Please let me know the results.
Thanks.
 
Haochen,

Here is one of you previous posts:

Code:
MPT: #6 0x0000000003f16f4b in module_sf_bep_bem::bep_bem (frc_urb2d=...,
MPT: utype_urb2d=..., itimestep=1,
MPT: dz8w=<error reading variable: value requires 634644 bytes, which is more than max-value-size>, dt=2,
MPT: u_phy=<error reading variable: value requires 634644 bytes, which is more than max-value-size>,
MPT: v_phy=<error reading variable: value requires 634644 bytes, which is more than max-value-size>,
MPT: th_phy=<error reading variable: value requires 634644 bytes, which is more than max-value-size>,
MPT: rho=<error reading variable: value requires 634644 bytes, which is more than max-value-size>,

From the rsl.MOIDS.txt file, I can see that the error is because those variables (dz8w, u_phy, v_phy) are exceeded the "max value size".
How should I reduce the size of these variables?
I am aware that these variables are all in module_sf_bep_bem.f90, subroutine line. But I am not sure why they exceed the max-value-size...

Repeat this run (with the the "configure -D" executable). Attach the rsl file that contains the error message about an array out of bounds.

IMPORTANTLY, send the file that is complained about (probably phys/module_sf_bep_bem.f90). Do not send the capital F file.

We want to see what line is failing, and the error might tell us.
 
Hi Dave and Ming,

I just recompiled my WRF with -D option.

I have attached configure.wrf, namelist.input, namelist.wps and rsl.error file.
 

Attachments

  • namelist.wps
    786 bytes · Views: 29
  • namelist.input
    4.7 KB · Views: 33
  • rsl.error.0013.txt
    46 KB · Views: 25
  • rsl.error.0025.txt
    46 KB · Views: 22
  • configure.wrf
    25.5 KB · Views: 29
  • module_sf_bep_bem.f90
    136.9 KB · Views: 23
Hi Haochen,
thanks for the information, --- please stay with the options I provided before that work fine with the BEP BEM scheme.
We are curious how and why -D compiling option could lead to the severe errors you have seem.
We will further check this issue.
 
Top