wrf-model / WRF

The official repository for the Weather Research and Forecasting (WRF) model
Other
1.24k stars 681 forks source link

WRF SCM 3x3 stencil too small for MPI runs #622

Closed sodoesaburningbus closed 5 years ago

sodoesaburningbus commented 6 years ago

The WRF SCM 3x3 stencil is below the minimum domain dimensions when running WRF SCM on systems compiled for MPI. Even when one processor is specified the following error is printed to the rsl.error.0000 file:

For domain 1 , the domain size is too small for this many processors, or the decomposition aspect ratio is poor. Minimum decomposed computational patch size, either x-dir or y-dir, is 10 grid cells. e_we = 3, nproc_x = 1, with cell width in x-direction = 3 e_sn = 3, nproc_y = 1, with cell width in y-direction = 3 --- ERROR: Reduce the MPI rank count, or redistribute the tasks.

davegill commented 6 years ago

@sodoesaburningbus We already enforce a serial build mode for the 2d cases in the top-level Makefile.

@if [ "$(A2DCASE)" -a "$(DMPARALLEL)" ] ; then \
echo "------------------------------------------------------------------------------" ; \
echo "WRF CONFIGURATION ERROR                                                       " ; \    
echo "The $(A2DCASE) case requires a build for only single domain.                  " ; \    
echo "The $(A2DCASE) case cannot be used on distributed memory parallel systems.    " ; \    
echo "Only 3D WRF cases will run with the options that you selected.                " ; \    
echo "Please choose a different case, or rerun configure and choose a different set of options."  ; \
echo "------------------------------------------------------------------------------" ; \
exit 2 ; \
fi

We should also detect the SCM code so that users do not run into flagged MPI decomposition errors when there is no need or benefit from distributing processing.

sodoesaburningbus commented 6 years ago

This is puzzling then. The error occurs at runtime. Compiling the SCM case with configure.wrf setup for parallel computation works just fine.

davegill commented 6 years ago

You are correct. We currently do NOT check this error at compile time. We SHOULD check building SCM with MPI at compile time. We will put in mods to the top-level Makefile. Sorry about the ambiguity in the response, and thanks for pointing this out.

davegill commented 5 years ago

fixed by "Remove MPI build option from single column model (SCM) (#675)"