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

Flag_impervious and flag_canopy=0 Error while executing real.exe (when used with Pleium-Xie land surface scheme)

Deevi Prathima

New member
Dear WRF community,

I am using WRF4.4with NCEP-GFS data(3hrly-0.25*0.25) was taken as input with a two domain and is testing with various physics options
microphysics = 6(WSM6) ;
ra _lw=3(CAM) ;
the error came as like this (which I couldnt able to backup its rsl error)
Anyhow, I have tried with various combinations too (screenshot attached in files) and could find the same error

while I have been checking about the same error in this forum , I could able to get this info that [[When turning on Pleim-Xiu LSM, Canopy Percent and Imperviousness Percent must be available. Unfortunately these two variables only have values over the U.S. No data are available for your model domain]]- which is said in Error with surface physics

So can we make any changes in the namelist.input which we can get flag_impervious and flag_canopy some values rather than zero' or is there any
alternative for this error? Shall we necessarily change the input dataset if we could opt for the above physics options?


  • 1666158578052.jpg
    3.7 MB · Views: 9
  • namelist.wps
    1.3 KB · Views: 1
  • namelist.input
    3.6 KB · Views: 2
I would like to apologize for the long delay in response. Our team has been busy taking care of prepping for and giving tutorials and some of the posts fell out of our radar. Thank you for being patient with us.

As for your error you're seeing:
----- ERROR: sf_surface_physics = 7 AND flag_imperv     = 0
----- ERROR: sf_surface_physics = 7 AND flag_canfra     = 0
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE:  <stdin>  LINE:     347
Either modify the namelist settings, or rebuild the geogrid/metgrid data

I've taken a look at the documentation recommeded for the Pleim-Xu scheme, and it seems to only indicate that the extra data are optional to provide better results. I asked our physics expert in the group, and unfortunately they aren't sure either. Many of these schemes are provided by community users and although we support them in the model, we don't know the specifics of all of them - especially when there are no comments in the code.

The file that provides this error is dyn_em/module_initialize_real.F. You can try to comment out the lines that create this error. If you do this, you'll need to recompile the code after you save the modified file. You DO NOT need to clean the code, or to reconfigure. You can simply recompile and it should be much quicker than a full compile. Let me know if that gets you past the error. If it does, keep in mind that the results may not be optimal. I would recommend reading the documentation I linked in the above paragraph to get a full understanding of the scheme.
Thanks for your reply and getting back here in your busy schedule..
According to your suggestions, I have tried commenting the errors which has created this error [flag_imperv and flag_canfra ] in dyn_em/module_initialize_real.F. And compiled again ./compile em_real in WRF directory
But it is not working, I have experienced same type of error which it was before and even commenting out those two flag errors.

1) Here is the copy of error attached . Please have a look

And thereafter I couldnt able to figure out any further improvements or any techniques to solve this error

Parent domain
ids,ide,jds,jde 1 440 1 200
ims,ime,jms,jme 82 183 -4 41
ips,ipe,jps,jpe 89 176 1 34
DYNAMICS OPTION: Eulerian Mass Coordinate
alloc_space_field: domain 1 , 321557844 bytes allocated
Yes, this special data is acceptable to use: OUTPUT FROM METGRID V4.4
Input data is acceptable to use:
metgrid input_wrf.F first_date_input = 2016-11-29_00:00:00
metgrid input_wrf.F first_date_nml = 2016-11-29_00:00:00
Timing for input 3 s.
flag_soil_layers read from met_em file is 1
----- ERROR: sf_surface_physics = 7 AND flag_imperv = 0
----- ERROR: sf_surface_physics = 7 AND flag_canfra = 0
-------------- FATAL CALLED ---------------
Either modify the namelist settings, or rebuild the geogrid/metgrid data
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 1


  • Screenshot from 2022-11-01 20-36-48.png
    Screenshot from 2022-11-01 20-36-48.png
    83.7 KB · Views: 7
But fortunately , in the 7th page of the documentation you have shared , I could able to find interesting details about flag_imperv and flag_canfra, (stated in WRF_ARW/phys/module_sf_pxlsm.F) iBut couldnt able to figure out what to do in that directory
Hence I am attaching that module_sf_pxlsm.F file . Please have a look and suggest a solution reagrding the next procedure


  • module_sf_pxlsm.F
    95.8 KB · Views: 2
Unless I'm interpreting the document incorrectly, it seems to just indicate that the file includes potentially useful information - not that you need to make any modifications to the file.

If you're still having issues compiling after modifying the module_initialize_real file, I'm attaching the file I've modified for V4.0.3, which is the version you're running, I believe. See if this version works for you. Otherwise, an alternative option is to simply download the relevant input data (imperv and canfra) and add it to your static data. Because the data are not available outside the U.S., it won't actually process it, but because the code is incorrect, it won't give you the error you're getting if those data are available when you run through the WPS process. This is something we obviously need to correct in the code, but in the meantime, it's a work-around.


  • module_initialize_real.F
    375.9 KB · Views: 4