MultiDValDelParent

From: Rob Nicholas <rnicholas_at_nyahnyahspammersnyahnyah>
Date: Tue Mar 16 2010 - 11:38:06 MDT

Hi NCLers,

Could anyone explain (in a general sense) what's going on when NCL generates a

          fatal:MultiDValDelParent: Attempt to delete parent from empty list

error? To get NCL to throw the error, I first define the following
two simple procedures:

          undef("test_foo")
          procedure test_foo( m:integer )
          local x
          begin
              x = array_append_record( (/m/), (/1,2/), 0 )
          end

          undef("wrap_foo")
          procedure wrap_foo( n )
          begin
              test_foo( n )
          end

So defined, "test_foo(5)" executes without a problem, but
"wrap_foo(5)" throws the fatal error. I've been able to replicate the
behavior with NCL 5.1.0 on RHEL and NCL 5.1.1 on Snow Leopard.

I've found two different ways to eliminate the error. One is simply
changing "(/m/)" to "m" in test_foo(). The other fix is to redefine
wrap_foo() as follows:

          undef("wrap_foo")
          procedure wrap_foo( n )
          local nn
          begin
              nn = n
              test_foo( nn )
          end

Could any of the developers explain what's going on here? It seems
like array_append_record() may be trying to modify its first argument
-- should it be doing that?

Thanks,
Rob
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Mar 16 11:45:38 2010

This archive was generated by hypermail 2.1.8 : Wed Mar 17 2010 - 13:00:16 MDT