A WRFDA 3.x -4.x bug

Post Reply
Kermit2021
Posts: 1
Joined: Mon Feb 08, 2021 2:04 am

A WRFDA 3.x -4.x bug

Post by Kermit2021 » Mon Feb 08, 2021 2:48 am

Hello everyone, I recently encountered a problem when using WRFDA for sensitivity analysis.

Code: Select all

SIGSEGV, segmentation fault occurred
To solve this problem, I recompiled WRFDA with the -traceback parameter, and then I saw the following error:

Code: Select all

Dummy character variable 'CBAY' has length 8 which is greater than actual variable length 1
So, I found this part of the code
At line 136 of $WRFDA/var/external/bufr/wrdlen.for (Version 4.2.1)

Code: Select all

IA = IUPM('A',8)
But in iupm.f, the definition of the first parameter is 8 characters, which caused an error.

So I modified the above code to:

Code: Select all

IA = IUPM('A       ',8)
Then I recompiled WRFDA, but I encountered another segmentation fault error

Code: Select all

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source             
da_wrfvar.exe      00000000045D7FCA  Unknown               Unknown  Unknown
libpthread-2.17.s  00002ACEEBE875D0  Unknown               Unknown  Unknown
da_wrfvar.exe      0000000002FB13DD  da_define_structu        2383  da_define_structures.f
da_wrfvar.exe      0000000001400BA0  da_minimisation_m        3291  da_minimisation.f
da_wrfvar.exe      00000000004C61CD  da_wrfvar_top_mp_        3383  da_wrfvar_top.f
da_wrfvar.exe      00000000004B6B06  da_wrfvar_top_mp_        2675  da_wrfvar_top.f
da_wrfvar.exe      00000000004B69F5  da_wrfvar_top_mp_        2645  da_wrfvar_top.f
da_wrfvar.exe      00000000004620D8  MAIN__                     45  da_wrfvar_main.f
da_wrfvar.exe      00000000004115E2  Unknown               Unknown  Unknown
libc-2.17.so       00002ACEEC2BA3D5  __libc_start_main     Unknown  Unknown
da_wrfvar.exe      00000000004114E9  Unknown               Unknown  Unknown
I checked the file da_define_structures.f and found that the code causing the error is:

Code: Select all

if (.not.(present(value))) value = 0.0
But I think there is nothing wrong with this line of code.
This problem has troubled me for a long time, how can I solve it?

Post Reply

Return to “WRFDA Bug Reports”