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

WRF configuration errors: "moving nest option is not available..." & "NETCDF4 IO features are requested..."

beuraieon_a

Member
Hello and Happy New Year!

I am trying to reconfigure and recompile my WRF and WPS since I'm still unable to figure out how to fix the problem with my "real.exe" which I already posted here in the Forum. But after I ran ./clean -a and ./configure, the process prematurely ended and resulted in errors, with the following message appearing in the Terminal:
************************** W A R N I N G ************************************

The moving nest option is not available due to missing rpc/types.h file.
Copy landread.c.dist to landread.c in share directory to bypass compile error.

*****************************************************************************
************************** W A R N I N G ************************************
NETCDF4 IO features are requested, but this installation of NetCDF
/usr
DOES NOT support these IO features.

Please make sure NETCDF version is 4.1.3 or later and was built with
--enable-netcdf4

OR set NETCDF_classic variable
bash/ksh : export NETCDF_classic=1
csh : setenv NETCDF_classic 1

Then re-run this configure script

!!! configure.wrf has been REMOVED !!!

*****************************************************************************
Being a beginner in both WRF and coding in the Terminal, I really don't know how to resolve the "missing rpc/types.h" problem and I'm also confused on how to troubleshoot the NetCDF4 issue since I already had successfully built both netcdf-c and netcdf-fortran libraries (following the online guide). I also tried to install WRF using a precoded installation script, but despite that, it still ended up in that same two errors.

I'm hoping for your soonest response on this matter. Thank you very much and Happy New Year to all.
 
The netCDF library you installed doesn't support WRF IO feature. Please take a look at the document here:
and follow the instruction to reinstall netCDF.
 
Last edited:
Thank you very much for this tip, I'm now able to proceed to compilation. I am still worried though about the "missing rpc/types.h" since I'm compiling WRF with the vortex following feature:
The moving nest option is not available due to missing rpc/types.h file.
Copy landread.c.dist to landread.c in share directory to bypass compile error.
Do I simply "copy landread.c.dist to landread.c in share directory", or are there other additional steps to solve this issue?

Thank you very much in advance for your response.
 
Hello, I successfully finished compiling WRF with the vortex following feature, despite the "missing rpc/types.h file" message in the configuration. Does this mean that WRF may still not function properly if I attempt to implement a moving nest for a tropical cyclone despite this successful compilation? Do I simply "copy landread.c.dist to landread.c in share directory" in order to solve the issue, or are there other additional steps for this?
The moving nest option is not available due to missing rpc/types.h file.
Copy landread.c.dist to landread.c in share directory to bypass compile error.

Thank you very much in advance for your response.

Screenshot from 2024-01-08 17-16-57.png
 
Hello, how did you solve this problem? Could you please help me? Thank you very much!
The moving nest option is not available due to missing rpc/types.h file.
Copy landread.c.dist to landread.c in share directory to bypass compile error.
 
Excuse me. did you have solved this problem? I have met the same problem and can't solve it. Could you tell me how to do it? Thank you!
 
Which version of WRF did you compile? What compiler did you use? Please also compile in dmpar mode if you didn't do so previously.
 
same question bro...how you solved the problem "The moving nest option is not available due to missing rpc/types.h file"同样的问题,兄弟……你是怎么解决这个问题的
 
Please check whether you have the file copy "landread.c" in share directory.

Also, which version of WRF did you compile? What compiler did you use?
 
i used gfortran and gcc for Version 4.7.0...im sure i have the "landread.c" by copying and renaming the file "landread.c.dist"
1761607384641.png
 
I just did a quick test compiling vortex-following WRF using gfortran and gcc, and all is fine.

My WRF version is v4.7, and the versions of gcc and GNU Fortran both are 12.4.0

Can you use the same versions to cpmpile again? let me know whether it works for you.

if it still doesn't work, I am suspicious it could be an environment issue. Please consult your computer manager for more information.
 
I just did a quick test compiling vortex-following WRF using gfortran and gcc, and all is fine.

My WRF version is v4.7, and the versions of gcc and GNU Fortran both are 12.4.0

Can you use the same versions to cpmpile again? let me know whether it works for you.

if it still doesn't work, I am suspicious it could be an environment issue. Please consult your computer manager for more information.
i update my gcc g++ and gfortran to 12.3.0 and set as default version but it still dont working /(ㄒoㄒ)/~~
T
 
Code:
 72. (serial)  73. (smpar)  74. (dmpar)  75. (dm+sm)   AMD (flang/clang) :  AMD ZEN1/ ZEN2/ ZEN3 Architectures
 76. (serial)  77. (smpar)  78. (dmpar)  79. (dm+sm)   INTEL (ifx/icx) : oneAPI LLVM
 80. (serial)  81. (smpar)  82. (dmpar)  83. (dm+sm)   FUJITSU (frtpx/fccpx): FX10/FX100 SPARC64 IXfx/Xlfx

Enter selection [1-83] : 78
------------------------------------------------------------------------
Compile for nesting? (1=basic, 2=preset moves, 3=vortex following) [default 1]: 3

Configuration successful!
------------------------------------------------------------------------
testing for fseeko and fseeko64
fseeko is supported and handles 64 bit offsets
------------------------------------------------------------------------

# Settings for    Linux x86_64 ppc64le i486 i586 i686, Intel oneAPI compiler with icx  (dmpar)
# This mirrors the above Intel build but changes ifort=>ifx icc=>icx

DESCRIPTION     =       INTEL ($SFC/$SCC) : oneAPI LLVM
DMPARALLEL      =        1
OMPCPP          =       # -D_OPENMP
OMP             =       # -qopenmp -fpp -auto
OMPCC           =       # -qopenmp
SFC             =       ifx
SCC             =       icx
CCOMP           =       icx
DM_FC           =       mpif90 -f90=$(SFC)
DM_CC           =       mpicc -cc=$(SCC)
FC              =       time $(DM_FC)
CC              =       $(DM_CC) -DFSEEKO_OK
LD              =       $(FC)
RWORDSIZE       =       4
PROMOTION       =       -real-size `expr 8 \* $(RWORDSIZE)` -i4
ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_FUNC  -DWRF_USE_CLM $(NETCDF4_IO_OPTS)
CFLAGS_LOCAL    =       -w -O3 -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -no-multibyte-chars # -DRSL0_ONLY
LDFLAGS_LOCAL   =       -ip #-xHost -fp-model fast=2 -no-prec-div -no-prec-sqrt -ftz -align all -fno-alias -fno-common
CPLUSPLUSLIB    =
ESMF_LDFLAG     =       $(CPLUSPLUSLIB)
FCOPTIM         =       -O3
FCREDUCEDOPT    =       $(FCOPTIM)
FCNOOPT        =       -O0 -fno-inline -no-ip
FCDEBUG         =       # -g $(FCNOOPT) -traceback # -fpe0 -check noarg_temp_created,bounds,format,output_conversion,pointers,uninit -ftrapuv -unroll0 -u
FORMAT_FIXED    =       -FI
FORMAT_FREE     =       -FR
FCSUFFIX        =
BYTESWAPIO      =       -convert big_endian
RECORDLENGTH    =       -assume byterecl
FCBASEOPTS_NO_G =       -ip -fp-model precise -w -ftz -align all -fno-alias $(FORMAT_FREE) $(BYTESWAPIO) #-xHost -fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common
FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG)
MODULE_SRCH_FLAG =
TRADFLAG        =      -traditional-cpp $(NETCDF4_IO_OPTS)
CPP             =      /lib/cpp -P -nostdinc
AR              =      ar
ARFLAGS         =      ru
M4              =      m4
RANLIB          =      ranlib
RLFLAGS        =
CC_TOOLS        =      $(SCC)


###########################################################
######################
# POSTAMBLE

FGREP = fgrep -iq
### Used throughout the build system to inform promotion to double precision
DOUBLE_PRECISION =

ARCHFLAGS       =    $(COREDEFS) -DIWORDSIZE=$(IWORDSIZE) -DDWORDSIZE=$(DWORDSIZE) -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=$(LWORDSIZE)  \
                     $(ARCH_LOCAL) \
                     $(DA_ARCHFLAGS) \
                      -DDM_PARALLEL \
                       \
                      -DNETCDF \
                       \
                      -DPNETCDF \
                       \
                       \
                       \
                       \
                       \
                      -DHDF5 \
                       \
                       \
                       -DLANDREAD_STUB=1 \
                       \
                      -DMOVE_NESTS -DVORTEX_CENTER \
                      -DUSE_ALLOCATABLES \
                      -Dwrfmodel \
                      -DGRIB1 \
                      -DINTIO \
                      -DKEEP_INT_AROUND \
                      -DLIMIT_ARGS \
                      -DBUILD_RRTMG_FAST=0 \
                      -DBUILD_RRTMK=0 \
                      -DBUILD_SBM_FAST=1 \
                      -DSHOW_ALL_VARS_USED=0 \
                      -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
                      -DMAX_DOMAINS_F=$(MAX_DOMAINS) \
                      -DMAX_HISTORY=$(MAX_HISTORY) \
              -DNMM_NEST=$(WRF_NMM_NEST)
CFLAGS          =    $(CFLAGS_LOCAL) -DDM_PARALLEL  \
                      -DLANDREAD_STUB=1 \
                      -DMAX_HISTORY=$(MAX_HISTORY) -DNMM_CORE=$(WRF_NMM_CORE)
FCFLAGS         =    $(FCOPTIM) $(FCBASEOPTS)
ESMF_LIB_FLAGS  =   
# ESMF 5 -- these are defined in esmf.mk, included above
 ESMF_IO_LIB     =    -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
ESMF_IO_LIB_EXT =    -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
INCLUDE_MODULES =    $(MODULE_SRCH_FLAG) \
                     $(ESMF_MOD_INC) $(ESMF_LIB_FLAGS) \
                      -I$(WRF_SRC_ROOT_DIR)/main \
                      -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf \
                      -I$(WRF_SRC_ROOT_DIR)/external/io_int \
                      -I$(WRF_SRC_ROOT_DIR)/frame \
                      -I$(WRF_SRC_ROOT_DIR)/share \
                      -I$(WRF_SRC_ROOT_DIR)/phys \
                      -I$(WRF_SRC_ROOT_DIR)/wrftladj \
                      -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \
                      -I$(NETCDFPATH)/include \
                      
REGISTRY        =    Registry
CC_TOOLS_CFLAGS = -DNMM_CORE=$(WRF_NMM_CORE)

LIB             =    $(LIB_BUNDLED) $(LIB_EXTERNAL) $(LIB_LOCAL) $(LIB_WRF_HYDRO)  $(NETCDF4_DEP_LIB)
LDFLAGS         =    $(OMP) $(FCFLAGS) $(LDFLAGS_LOCAL)
ENVCOMPDEFS     =   
WRF_CHEM    =    0
CPPFLAGS        =    $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG)
NETCDFPATH      =    /home/workhorse/WRF_Intel_Vortex/Libs/NETCDF
HDF5PATH        =    /home/workhorse/WRF_Intel_Vortex/Libs/grib2
WRFPLUSPATH     =   
RTTOVPATH       =   
PNETCDFPATH     =    /home/workhorse/WRF_Intel_Vortex/Libs/grib2
ADIOS2PATH      =   
NETCDFPAR_BUILD    =    echo SKIPPING


bundled:  io_only
external: io_only $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms_rsllite module_dm_rsllite $(ESMF_TARGET)
io_only:  esmf_time wrfio_nf  wrfio_pnf   \
      wrf_ioapi_includes wrfio_grib_share wrfio_grib1 wrfio_int fftpack


######################
------------------------------------------------------------------------
Settings listed above are written to configure.wrf.
If you wish to change settings, please edit that file.
If you wish to change the default options, edit the file:
     arch/configure.defaults
NetCDF users note:
 This installation of NetCDF supports large file support.  To DISABLE large file
 support in NetCDF, set the environment variable WRFIO_NCD_NO_LARGE_FILE_SUPPORT
 to 1 and run configure again. Set to any other value to avoid this message.
 

Testing for NetCDF, C and Fortran compiler

This installation of NetCDF is 64-bit
                 C compiler is 64-bit
           Fortran compiler is 64-bit
              It will build in 64-bit
 
NetCDF version: 4.9.3
Enabled NetCDF-4/HDF-5: yes
NetCDF built with PnetCDF: yes
 

************************** W A R N I N G ************************************
 
The moving nest option is not available due to missing rpc/types.h file.
Copy landread.c.dist to landread.c in share directory to bypass compile error.
 
*****************************************************************************
*****************************************************************************
This build of WRF will use NETCDF4 with HDF5 compression
*****************************************************************************


same problem exists with intel one api as well
 
Please check whether you have the file copy "landread.c" in share directory.

Also, which version of WRF did you compile? What compiler did you use?
Code:
workhorse@workhorse-MS-7D91:~/WRF_Intel_Vortex/WRF-4.7.1/share$ ls -al
total 41144
drwxr-xr-x  2 workhorse workhorse    12288 Oct 27 21:14 .
drwxr-xr-x 23 workhorse workhorse     4096 Oct 27 23:31 ..
-rw-r--r--  1 workhorse workhorse     6435 Jun  2 21:15 bobrand.c
-rw-rw-r--  1 workhorse workhorse    36368 Oct 27 21:14 bobrand.o
-rw-r--r--  1 workhorse workhorse     2397 Jun  2 21:15 CMakeLists.txt
-rw-r--r--  1 workhorse workhorse   103661 Jun  2 21:15 dfi.F
-rw-rw-r--  1 workhorse workhorse    90738 Oct 27 21:14 dfi.f90
-rw-rw-r--  1 workhorse workhorse   421368 Oct 27 21:14 dfi.o
-rw-r--r--  1 workhorse workhorse     3641 Jun  2 21:15 init_modules.F
-rw-rw-r--  1 workhorse workhorse     1708 Oct 27 21:14 init_modules.f90
-rw-rw-r--  1 workhorse workhorse     2624 Oct 27 21:14 init_modules.o
-rw-r--r--  1 workhorse workhorse   100208 Jun  2 21:15 input_wrf.F
-rw-rw-r--  1 workhorse workhorse    92546 Oct 27 21:14 input_wrf.f90
-rw-rw-r--  1 workhorse workhorse   231408 Oct 27 21:14 input_wrf.o
-rw-r--r--  1 workhorse workhorse   220644 Jun  2 21:15 interp_fcn.F
-rw-rw-r--  1 workhorse workhorse   160238 Oct 27 21:14 interp_fcn.f90
-rw-rw-r--  1 workhorse workhorse   267904 Oct 27 21:14 interp_fcn.o
-rw-r--r--  1 workhorse workhorse    21508 Jun  2 21:15 landread.c
-rw-r--r--  1 workhorse workhorse     2007 Jun  2 21:15 landread.c.dist
-rw-r--r--  1 workhorse workhorse      957 Jun  2 21:15 landread.h
-rw-rw-r--  1 workhorse workhorse     2312 Oct 27 21:14 landread.o
-rw-r--r--  1 workhorse workhorse     3739 Jun  2 21:15 Makefile
-rw-r--r--  1 workhorse workhorse     5930 Jun  2 21:15 mediation_feedback_domain.F
-rw-rw-r--  1 workhorse workhorse    28502 Oct 27 21:14 mediation_feedback_domain.f90
-rw-rw-r--  1 workhorse workhorse    47520 Oct 27 21:14 mediation_feedback_domain.o
-rw-r--r--  1 workhorse workhorse     8693 Jun  2 21:15 mediation_force_domain.F
-rw-rw-r--  1 workhorse workhorse    33287 Oct 27 21:14 mediation_force_domain.f90
 
Code:
workhorse@workhorse-MS-7D91:~/WRF_Intel_Vortex/WRF-4.7.1/share$ ls -al
total 41144
drwxr-xr-x  2 workhorse workhorse    12288 Oct 27 21:14 .
drwxr-xr-x 23 workhorse workhorse     4096 Oct 27 23:31 ..
-rw-r--r--  1 workhorse workhorse     6435 Jun  2 21:15 bobrand.c
-rw-rw-r--  1 workhorse workhorse    36368 Oct 27 21:14 bobrand.o
-rw-r--r--  1 workhorse workhorse     2397 Jun  2 21:15 CMakeLists.txt
-rw-r--r--  1 workhorse workhorse   103661 Jun  2 21:15 dfi.F
-rw-rw-r--  1 workhorse workhorse    90738 Oct 27 21:14 dfi.f90
-rw-rw-r--  1 workhorse workhorse   421368 Oct 27 21:14 dfi.o
-rw-r--r--  1 workhorse workhorse     3641 Jun  2 21:15 init_modules.F
-rw-rw-r--  1 workhorse workhorse     1708 Oct 27 21:14 init_modules.f90
-rw-rw-r--  1 workhorse workhorse     2624 Oct 27 21:14 init_modules.o
-rw-r--r--  1 workhorse workhorse   100208 Jun  2 21:15 input_wrf.F
-rw-rw-r--  1 workhorse workhorse    92546 Oct 27 21:14 input_wrf.f90
-rw-rw-r--  1 workhorse workhorse   231408 Oct 27 21:14 input_wrf.o
-rw-r--r--  1 workhorse workhorse   220644 Jun  2 21:15 interp_fcn.F
-rw-rw-r--  1 workhorse workhorse   160238 Oct 27 21:14 interp_fcn.f90
-rw-rw-r--  1 workhorse workhorse   267904 Oct 27 21:14 interp_fcn.o
-rw-r--r--  1 workhorse workhorse    21508 Jun  2 21:15 landread.c
-rw-r--r--  1 workhorse workhorse     2007 Jun  2 21:15 landread.c.dist
-rw-r--r--  1 workhorse workhorse      957 Jun  2 21:15 landread.h
-rw-rw-r--  1 workhorse workhorse     2312 Oct 27 21:14 landread.o
-rw-r--r--  1 workhorse workhorse     3739 Jun  2 21:15 Makefile
-rw-r--r--  1 workhorse workhorse     5930 Jun  2 21:15 mediation_feedback_domain.F
-rw-rw-r--  1 workhorse workhorse    28502 Oct 27 21:14 mediation_feedback_domain.f90
-rw-rw-r--  1 workhorse workhorse    47520 Oct 27 21:14 mediation_feedback_domain.o
-rw-r--r--  1 workhorse workhorse     8693 Jun  2 21:15 mediation_force_domain.F
-rw-rw-r--  1 workhorse workhorse    33287 Oct 27 21:14 mediation_force_domain.f90
I am using the 4.7.1 tar file from the github directory
 
Hello,
I am also facing the same error while compiling WRF v 4.7.1

************************** W A R N I N G ************************************
The moving nest option is not available due to missing rpc/types.h file.
Copy landread.c.dist to landread.c in share directory to bypass compile error.
***************************************************************************

Being error(May be warning alone) arising, wrf compilation completed successfully producing all 4 executables.

However,confusion arises, as I had compiled for vortex following nesting option.
I have done compilation already for my previous works with fixed nest.

So i checked for recent rpc libraries in my machine, and it is already installed under /usr/include/tirpc
But its not properly obtaining that path while making building rpc_test.c, may be.

I have manually edited the Make file as
rpc_test:
@cd tools ; /bin/rm -f rpc_test.exe ; $(SCC) -DUSE_TIRPC -I/usr/include/tirpc rpc_test.c -ltirpc -o rpc_test.exe ; cd ..
which finally produces configuration message without the WARNING.

And building executables are also successful !!!
build started: Wednesday 29 October 2025 11:45:00 AM IST
build completed: Wednesday 29 October 2025 11:56:11 AM IST

---> Executables successfully built <---

-rwxr-xr-x 1 root root 42778176 Oct 29 11:56 main/ndown.exe
-rwxr-xr-x 1 root root 39313344 Oct 29 11:56 main/real.exe
-rwxr-xr-x 1 root root 38461560 Oct 29 11:56 main/tc.exe
-rwxr-xr-x 1 root root 56653264 Oct 29 11:55 main/wrf.exe


Is the way i am following is proper or else it will affect any other things?
I read in forum as it is used for land file updation so someone make it more clear in that.

Thanks in advance.
 
C:
@cd tools ; /bin/rm -f rpc_test.exe ; $(SCC) -DUSE_TIRPC -I/usr/include/tirpc rpc_test.c -ltirpc -o rpc_test.exe ; cd ..

@Pugazenthi

can you explain why and how you made these changes?
 
Top