Opened 12 years ago
Closed 11 years ago
#302 closed defect (fixed)
Consultation about array_bound_exceed in RO inversion
Reported by: | Ian Culverwell | Owned by: | Ian Culverwell |
---|---|---|---|
Priority: | normal | Milestone: | 7.0 |
Component: | ropp_pp | Version: | 6.0 |
Keywords: | Cc: |
Description
Kent Bækgaard Lauritsen (DMI) forwarded the following bugfix from Michael Gorbunov:
Dear Jiachun, Thank you for noticing this problem in ROPP. I have processed your RO event example with my code, but it didn't produce the runtime error you had. Then I compared the ROPP code with my code that was adopted for ROPP and found a mistake in ROPP. In this piece of the code: !20130208, sometimes error, array bounds exceeded, when kmax equals n. DO i=0,lb ni = SUM(DNB(kmin:kmax+i)**2) IF (ni > 0) THEN CNB(i) = SUM(DDS(kmin:kmax-i)*DNB(kmin+i:kmax)) / & SQRT(SUM(DDS(kmin:kmax-i)**2)*ni) ELSE CNB(i) = 0.0_wp ENDIF END DO instead of ni = SUM(DNB(kmin:kmax+i)**2) there should be ni = SUM(DNB(kmin+i:kmax)**2) as it is in my code and can also be established by comparing it with the expression for CNB(i). In this case, the indices of array DNB will never exceed the bound, even if the correlation interval touches the array boundary point. A cc is directed to Kent B. Lauritsen, who is in contact with the ROPP team. Best regards, Michael > Dear Michael, > > I'm a lecturer of Wuhan University. And I'm interested in the software > ROPP, which is downloaded in the website of gras saf. But I have a > problem about array_bound_exceed in RO inversion. > > There are 3 files in the attachment, > openloop file : gpsBit_C002.2011.001.09.09.G27_2010.2640_txt > openloop code_fortran : ropp_pp_openloop.f90 occ event atmPhs : > atmPhs_C002.2011.001.09.09.G27_2010.2640_nc > > > In the openloop code_fortran, > ALLOCATE(DnB(n)) > ni = SUM(DNB(kmin:kmax+i)**2) > But for some occ events, when kmax equals n, array bounds exceeded. > I have no idea how to solve this problem. > An occ event is given the attachment, which appeared array_bound_exceed problem. > Thank you for your help. > > > Best regards. > > Jiachun An, > Wuhan University, > China
In ROPP, the relevant lines are to be found in Sec 3.4 of ropp_pp_openloop.f90.
Note:
See TracTickets
for help on using tickets.
This was fixed at ROPP5.1 - see ticket #237. Closing this ticket.