Hi,

on my quest of compiling and running WRF v4.5.1 in debug mode, I encountered a new bug in

The error message is:

Looking at line #885 of

I added some printing in the subroutine:

and this is the result:

As you can see

Initialization of

The actual value of

at line #12206:

And then in line #12228 values are retrieved as a namelist parameter from

In the file, one encounters:

My interpretation might be that reading of the MPTABLE file does not work in debug mode, but I might be wrong.

Thanks,

Lluís

on my quest of compiling and running WRF v4.5.1 in debug mode, I encountered a new bug in

`phys/module_sf_noahmplsm.F`

at `noahmp_sflx`

subroutineThe error message is:

Code:

```
(...)
Caught signal 8 (Floating point exception: floating-point invalid operation)
==== backtrace (tid:3940037) ====
0 0x0000000000012cf0 __funlockfile() :0
1 0x0000000008b73314 module_sf_noahmplsm_mp_noahmp_sflx_() /ccc/work/cont003/gen6877/fitabllu/WRF/v451_git_FPS/intel/20-0-0/netcdf_4-7-4netcdff_4-5-3/dmpar/WRFdbg/phys/module_sf_noahmplsm.f90:885
2 0x0000000008a8acb1 module_sf_noahmpdrv_mp_noahmplsm_() /ccc/work/cont003/gen6877/fitabllu/WRF/v451_git_FPS/intel/20-0-0/netcdf_4-7-4netcdff_4-5-3/dmpar/WRFdbg/phys/module_sf_noahmpdrv.f90:1140
3 0x0000000008f6149c module_surface_driver_mp_surface_driver_() /ccc/work/cont003/gen6877/fitabllu/WRF/v451_git_FPS/intel/20-0-0/netcdf_4-7-4netcdff_4-5-3/dmpar/WRFdbg/phys/module_surface_driver.f90:2984
(...)
```

Looking at line #885 of

`phys/module_sf_noahmplsm.f90`

, one encounters:
Code:

```
IF((OPT_IRRM .EQ. 0) .AND. (SIFAC .EQ. 0.0) .AND. (MIFAC .EQ. 0.0) .AND. (FIFAC .EQ. 0.0) &
.AND. (IRRFRA .GE. parameters%IRR_FRAC)) THEN
SIFAC = 1.0
END IF
```

Code:

```
PRINT *,' Lluis OPT_IRRM',OPT_IRRM,' SIFAC', SIFAC, ' MIFAC', MIFAC, ' FIFAC', FIFAC, ' IRRFRA',&
IRRFRA,' parameters%IRR_FRAC', parameters%IRR_FRAC
IF((OPT_IRRM .EQ. 0) .AND. (SIFAC .EQ. 0.0) .AND. (MIFAC .EQ. 0.0) .AND. (FIFAC .EQ. 0.0) &
.AND. (IRRFRA .GE. parameters%IRR_FRAC)) THEN
SIFAC = 1.0
END IF
```

Code:

```
Lluis OPT_IRRM 0 SIFAC 0.0000000E+00 MIFAC 0.0000000E+00 FIFAC
0.0000000E+00 IRRFRA 0.0000000E+00 parameters%IRR_FRAC NaN
```

`parameters%IRR_FRAC`

is not properly initializedInitialization of

`parameters%IRR_FRAC`

is done in subroutine `TRANSFER_MP_PARAMETERS`

of `phys/module_sf_noahmpdrv.F`

as:
Code:

```
(...)
parameters%IRR_FRAC = IRR_FRAC_TABLE ! irrigation Fraction
```

`IRR_FRAC_TABLE`

is initialized in `phys/module_sf_noahmplsm.F`

in subroutine `read_mp_irrigation_parameters`

at line #12206:

Code:

` IRR_FRAC_TABLE = -1.0E36 ! irrigation Fraction`

`MPTABLE.TBL`

file as`IRR_FRAC`

Code:

```
(...)
inquire( file='MPTABLE.TBL', exist=file_named )
if ( file_named ) then
open(15, file="MPTABLE.TBL", status='old', form='formatted', action='read', iostat=ierr)
(...)
read(15,noahmp_irrigation_parameters)
close(15)
(...)
IRR_FRAC_TABLE = IRR_FRAC ! irrigation Fraction
```

Code:

```
(...)
&noahmp_irrigation_parameters
IRR_FRAC = 0.10 ! irrigation Fraction
(...)
```

Thanks,

Lluís

Last edited: