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

module_sf_noahdrv.F: lsminit: out of range value of ISLTYP. Is this field in the input?

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

moshevolo

New member
I am facing some kind of error in certain configurations running em_real and investigating why the simulation crashes.
Thanks in advance for any help you available to provide.

A bit more details, specific to the problem I see.
When I run on 2 nodes, 2 ranks per node, thus each node has 64 cores, everything runs fine to completion
When I run on 2 nodes, 4 ranks per node the simulation crashes with error on one of the ranks on the second node.
After long track down I found that the rank that crashes fails reach an error with ISLTYP(I, j) value of 0, less than 1 in this code segment in
module_sf_noahdrv.F:
errflag = 0
DO j = jts,jtf
DO i = its,itf
IF ( ISLTYP( i,j ) .LT. 1 ) THEN
errflag = 1
WRITE(err_message,*)"module_sf_noahdrv.F: lsminit: out of range ISLTYP ",i,j,ISLTYP( i,j )
CALL wrf_message(err_message)
ENDIF
IF(.not.RDMAXALB) THEN
SNOALB(i,j)=MAXALB(IVGTYP(i,j))*0.01
ENDIF
ENDDO
ENDDO
Adding prints of the ISLTYP values in each grid I notices that when rank 5 (out of 0 to 7) crashes all values from index i=1773 j = 697 are 0.
j is the outer DO loop thus all rows from 697 on are 0.
The whole grid range is for 2.5kM em_real and goes from 1 to 1900 on I and 1 to 1300 on j.
I see in rsl.error.0005, where I printed all ISLTYP(I, j) values that this rank works on grids i = 951 to 1900; j = 651 to 975
Thus out of 950x325 = 308,750 grid points, 44,522 get value greater than 1 and the rest are all 0.
I want to say it seems like they were initialized and did not change where they were supposes to.

I tried to track down where these values get assigned, but did not find it yet. It seems the name of this array changes
between the function from ISLTYP to grid%isltyp to head_grid%isltyp.

I would appreciate any help/hint in tracking down to location where these values get assigned.

One last note. On same nodes the exact same test passes when compiling the whole tools chain (hdf5, grib, zlib, netcdf, etc.) and wrf4.3 with GNU compilers.
It fails when compiled with Intel compilers and WRF4.1.5.
Still have to try the other 2 combinations...

Thanks very much for any help you can provide.
 

Attachments

  • namelist.input.txt
    3.1 KB · Views: 27
  • namelist.input.txt
    3.1 KB · Views: 24
Hi,
This post has been moved the Physics section of the forum, as it specifically relates to a physics issue. Someone will respond to your post soon.
 
Top