Error about "Land use scheme not supported" in WRF-CMAQ coupled model

Hi all,

I’m using WRFv45-CMAQv54 coupled model and try to run a coupled test case. After changing land-surface model to Pleim-Xiu scheme, I found an error like this:

 *** ERROR ABORT in subroutine Init_LSM on PE 000        
 Land use scheme not supported
 Date&time specified as 0

Here are my runscript and log file. If there is any mistake, please let me know. Maybe I miss some detail setting about PX LSM in namelist.
namelist.input.txt (7.2 KB)
rsl.out.0000.txt (27.3 KB)
run_cctm_WRFCMAQ.csh (52.1 KB)

Liu

Are you using the 61 class MODIS landuse?

Check the geogrid file: geo_em.d01.nc
With ncdump -h geo_em.d01.nc

Let us know if this is the landuse dataset?? This does work with WRFv4.6.0+, but not prior versions. You can redo your landuse using NLCD40 which is our prefered landuse.

            :MMINLU = "MODIFIED_IGBP_MODIS_NOAH" ;
            :NUM_LAND_CAT = 61 ;

Hi Rob,

Thanks for your reply. My geogrid file shows:

 :MMINLU = "MODIFIED_IGBP_MODIS_NOAH" ;
                 :NUM_LAND_CAT = 21 ;

I follow the user’s guide and /geogrid/GEOGRID.TBL to change landuse to 20 MODIS by:

geog_data_res = 'modis_15s',

And I noticed that the NLCD40 has locale restrictions in the user guide.

=40 : for NLCD2006; North America only
Since my main research area is in East Asia, I’m not sure if the NLCD40 is suitable for me.

In addition, it seems we have to choose between four land use types, something I hadn’t noticed before.

Ok. You may have uncovered an updated needed in the two-way model connection components. In this case it is code under the cmaq directory has a landuse number of categories check for type. We have the 21 class working in WRF, but this is not in the two-way model. It’s simply just a logic check in two codes where MODIS can be 20 or 21. The 21 is not in the code. We’ll need David Wong to address this in the code, but you could add these for an immediate fix.

centralized_io_module.F
case( ‘MODIS’ )
if ( num_land_cat .ne. 20 .or. num_land_cat .ne 21) then
write( xmsg, ‘(a, i3, a )’ ) strg, num_land_cat,
& ’ for ’ // trim( mminlu )
call m3exit ( pname, stdate, sttime, xmsg, xstat1 )
end if

LSM_MOD.F
IF ( NUM_LAND_CAT .EQ. 24 ) THEN
LAND_SCHEME = ‘USGS24’
ELSE IF ( NUM_LAND_CAT .EQ. 20 .OR. NUM_LAND_CAT .EQ. 21 ) THEN
LAND_SCHEME = ‘MODIS’
ELSE IF ( NUM_LAND_CAT .EQ. 50 ) THEN
LAND_SCHEME = ‘NLCD50’
ELSE IF ( NUM_LAND_CAT .EQ. 40 ) THEN
LAND_SCHEME = ‘NLCD40’
END IF

image

Hi Rob,
Thanks for your suggestion. I’ll give it a try.