bartbrashers
New member
I'm using WRF-4.2.2 configured with the -D option (debug compilation), along with output from OBSGRID-3.8 (the OBSDOMAIN* files) for OBS nudging. I'm also using the metoa_em* files, FWIW. I've used a similar setup for years (without the debugging part). I am currently using debug_level = 300, and running on 16 cores (dmpar).
WRF crashes with an array out-of-bounds error:
The chunk of code around line 1069 of phys/module_fddaobs_rtfdda.F was not formatted with human readers in mind:
I don't think Fortran compiles or runs any slower if the formatting made it take a few more lines, so it was easier to read. ;-)
I'm guessing the -99 is an initialization default value.
I would think that the OBSGRID run exclude any bad observation values, using this chunk in namelist.oa:
Any hints on where to look for issues? I can't think of what to look at next.
WRF crashes with an array out-of-bounds error:
Code:
% tail rsl.error.0006
d03 2019-12-09_12:00:00 calling inc/HALO_EM_PHYS_PBL_inline.inc
d03 2019-12-09_12:00:00 calling inc/HALO_EM_PHYS_DIFFUSION_inline.inc
d03 2019-12-09_12:00:00 calling inc/HALO_EM_TKE_5_inline.inc
d03 2019-12-09_12:00:00 call update_phy_ten
d03 2019-12-09_12:00:00 calling inc/HALO_OBS_NUDGE_inline.inc
OBS NUDGING is requested on a total of 1 domain(s).
d03 2019-12-09_12:00:00 in PSU FDDA scheme
++++++CALL ERROB AT KTAU = 0 AND INEST = 3: NSTA = 200 ++++++
0: Subscript out of range for array ub (module_fddaobs_rtfdda.f90: 1069)
subscript=-99, lower bound=1, upper bound=39, dimension=2
The chunk of code around line 1069 of phys/module_fddaobs_rtfdda.F was not formatted with human readers in mind:
Code:
! U COMPONENT WIND ERROR
ERRF(1,N)=ERRF(1,N)+uratiob*VAROBS(1,N)-((1.-DZOB)* &
((1.-DyOB)*((1.- &
DxOB)*UB(IOB,KOB,JOB)+DxOB*UB(IOB+1,KOB,JOB) &
)+DyOB*((1.-DxOB)*UB(IOB,KOB,JOB+1)+DxOB* &
UB(IOB+1,KOB,JOB+1)))+DZOB*((1.-DyOB)*((1.-DxOB) &
*UB(IOB,KOBP,JOB)+DxOB*UB(IOB+1,KOBP,JOB))+ &
DyOB*((1.-DxOB)*UB(IOB,KOBP,JOB+1)+DxOB* &
UB(IOB+1,KOBP,JOB+1))))
I don't think Fortran compiles or runs any slower if the formatting made it take a few more lines, so it was easier to read. ;-)
I'm guessing the -99 is an initialization default value.
I would think that the OBSGRID run exclude any bad observation values, using this chunk in namelist.oa:
Code:
&record4
qc_test_error_max = .TRUE.
qc_test_buddy = .TRUE.
qc_test_vert_consistency = .FALSE.
qc_test_convective_adj = .FALSE.
qc_psfc = .TRUE.
max_error_t = 5
max_error_uv = 7
max_error_z = 4
max_error_rh = 25
max_error_dewpoint = 10
max_error_p = 300
max_buddy_t = 4
max_buddy_uv = 4
max_buddy_z = 4
max_buddy_rh = 20
max_buddy_dewpoint = 10
max_buddy_p = 400
buddy_weight = 1.0
max_p_extend_t = 1300
max_p_extend_w = 1300
/
Any hints on where to look for issues? I can't think of what to look at next.