This turns out to have been an issue when the data we're
appending has an "abstract" axis in the appending directions. It's
not particular to the E or F axes, but happens for any axis except
for time. This seems to be a long-standing behavior that nobody
had run into before.
It's best to define fixed axes for use with appending - I've
added a note on this to the section of the Users Guide "Appending
a slab to NetCDF files".
However what Ryo tried to do should work, and there is a fix for
this which will be in the next Ferret release - or which can be
picked up now if you are getting code from GitHub and building
Ferret yourself.
On 4/30/2018 10:20 AM, Ansley C. Manke
wrote:
Hi Ryo, Russ -
Thank you for the discussion and the report. It looks like
Ferret has a bug in SAVE/APPEND in the E direction, but only
when the axis in the E direction is an abstract axis. The
variable "evals" is on an abstract axis, of undetermined
length.
yes? let evals = esequence({1,2,3,4,5})
yes? show grid evals
GRID EABSTRACT
name axis # pts
start end subset
normal X
normal Y
normal Z
normal T
ABSTRACT E 99999999 r
1 1.E+08 full
normal F
These abstract axes are handy -- they define the grids of
pseudo-variables, and can combine with other axes in expressions
-- but they also cause us some headaches. As you found Ryo,
your script does work in the T direction, so there's definitely
something wrong, and we'll find out what that is. But there's
also a good workaround. Going back to your original script,
just define the variable "evals" on a fixed axis.
yes? define axis/e=1:5:1 e5ax
yes? let evals = _e[ge=e5ax]
yes? show grid evals
GRID (G002)
name axis # pts start
end subset
normal X
normal Y
normal Z
normal T
E5AX E 5 r 1
5 full
normal F
With this change your script should work fine.
--Ansley
On 4/29/2018 8:31 PM, Ryo Furue
wrote:
Thank you, Russ.