Consistency check for soil LUT (iFlag_soilDB = 1) fails for large soil datasets with Intel
Dear all,
While running Southern America sub-continent (L0 has ncols=30720, nrows=24064) with iFlag_soilDB = 1
using nSoilHorizons_mHM = 6
, mHM breaks in /src/MPR/mo_read_wrapper.f90
on following line:
call check_consistency_lut_map(reshape(L0_soilId, (/ size(L0_soilId, 1) * size(L0_soilId, 2) /)), soilDB%id(:), fName)
mHM is able to execute this command only up to nSoilHorizons_mHM = 3
, when increasing to nSoilHorizons_mHM = 4
and more, code returns following error:
forrtl: severe (408): fort: (2): Subscript #1 of the array IRNGT has value 2109892711 which is greater than the upper bound of 2109892710
Note that I encountered this weak point already half year ago for the Australian domain, but I could have solved this in the Makefile by INTEL_EXCLUDE := mo_multi_param_reg.f90 mo_mpr_soilmoist.f90 mo_read_wrapper.f90
, which has no effect now. I also tried reducing the optimization level from O3
to O1
in ./make.config/eve.intel18
, did not help either, as follows:
F90FLAGS += -O1 -qoverride-limits -gxx-name=/usr/local/gcc/6.2.0-1/bin/g++ FCFLAGS += -O1 -qoverride-limits -gxx-name=/usr/local/gcc/6.2.0-1/bin/g++ CFLAGS += -O1
Actually, I have tried with both Intel compilers on EVE (13 and 18). Both have the same behaviour.
@kaluza, @thober @rkumar @lese @schaefed @ottor, Any ideas? Thanks!