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

A WRFDA 3.x -4.x bug

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.


New member
Hello everyone, I recently encountered a problem when using WRFDA for sensitivity analysis.
SIGSEGV, segmentation fault occurred
To solve this problem, I recompiled WRFDA with the -traceback parameter, and then I saw the following error:
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)
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:
IA = IUPM('A       ',8)
Then I recompiled WRFDA, but I encountered another segmentation fault error

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       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:
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?
Hello Kermit2021,

Did you try the latest version: WRFDA v4.3.2? What compilers are you using?