Opened 19 years ago

Closed 18 years ago

Last modified 18 years ago

#24 closed defect (fixed)

Ducting Profiles lead to NaN in FM Bending Angle output

Reported by: frae Owned by: marq
Priority: major Milestone: 1.0
Component: ropp_fm Version: 0.8
Keywords: Cc: dave.offiler@…, carlo.buontempo@…, axel.vonengeln@…

Description

When using one of the ducting profiles, the bending angle output shows one entry of nan at altitudes below the ducting. All other entries are set to -9. I also assume that this causes the NAG HP to crash during this profile.

Currently only raised as a ticket, once I know more I'll add it and also attach the netcdf profile.

Change history (9)

comment:1 by frae, 19 years ago

Updated FM module (revision 678) with the following modifications to ropp_fm/bangle_1d/ropp_fm_abel.f90, ropp_fm/bangle_1d/ropp_fm_abel_ad.f90, ropp_fm/bangle_1d/ropp_fm_abel_tl.f90 (identical in all three files):

     i_bot = n_lower
     do while (impact_obs(l) >= impact(i_bot + 1))
        i_bot = i_bot + 1
     enddo

Old Code was:

     i_bot = 1
     do while (impact_obs(l) >= impact(i_bot + 1))
        i_bot = i_bot + 1
     enddo

n_lower points to the lowest available level before superrefraction starts. New i_bot initialization with n_lower assures that the loop does not find impact parameters that are below the superrefraction level. This then leads to problems further on and core dumps for the NAG compilers. Now working, but I leave the ticket open for Christian to check.

comment:2 by marq, 19 years ago

Cc: axel.vonengeln@… added
Owner: changed from frcm to marq

Yeah, if I remember correctly, we wanted to have the integration started just from the level the superrefraction, so I think your change is fine. Nevertheless, could you please provide an example data file with a superrefracting layer in there for further checks? I believe I went back to the integration over all levels because we also need to provide a proper mechanism to handle the levels where nothing was calculated, i.e. below the superefractive layer. These levels probably should not be used to calculate any observations, but that in turn means that the number of observations used in the minimisation may change from iteration to iteration (just imagine the critical refraction goes on and off during the course of the minimisation). Thus, one would have to add corresponding weighting variables so that the cost function is calculated correctly. That's a bit complicated, and I'm not sure if it is the right way to proceed. It's also messing up the interfaces to the forwrd models... argh. I have to think about this one.

Again, an example file would be brilliant!

Chris.

comment:3 by frae, 19 years ago

The ducting dataset is already in the ropp_test folder, this file:

http://svn.marquardt.sc/cgi-bin/ropp.cgi/file/ropp_test/trunk/data/0.8/IT-FM-01.nc

has 5 FASCOD secnarios and 3 ducting profiles.

comment:4 by marq, 19 years ago

Cc: dave.offiler@… carlo.buontempo@… axel.vonengeln@… added; axel.vonengeln@… removed
Milestone: 0.80.9
Priority: normalhigh
severity: normalcritical

comment:5 by marq, 19 years ago

Milestone: 0.9
Version: 0.8

comment:6 by marq, 19 years ago

Milestone: 1.0

comment:7 by marq, 18 years ago

This should finally be fixed by [1060]; if not, please reopen the ticket.

comment:8 by marq, 18 years ago

Resolution: fixed
Status: newclosed

comment:9 by frae, 18 years ago

Version: 0.8

Rerun my ducting test profiles and everything is working fine now.

Note: See TracTickets for help on using tickets.